commit f40542532e96dda5506eb76badea322f2ae4731c Merge: f01eb36 0fd7dc7 Author: Linus Torvalds Date: Sat Dec 12 15:22:22 2009 -0800 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 * 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6: IXP4xx: GTWX5715 platform only has two PCI IRQ lines, not four. IXP4xx: Introduce IXP4XX_GPIO_IRQ(n) macro and convert IXP4xx platform files. IXP4xx: move Gemtek GTWX5715 platform macros to the platform code. IXP4xx: Remove unused Motorola PrPMC1100 platform macros. IXP4xx: move FSG platform macros to the platform code. IXP4xx: move DSM G600 platform macros to the platform code. IXP4xx: move NAS100D platform macros to the platform code. IXP4xx: move NSLU2 platform macros to the platform code. IXP4xx: move Coyote platform macros to the platform code. IXP4xx: move AVILA platform macros to the platform code. IXP4xx: move IXDP425 platform macros to the platform code. IXP4xx: Extend PCI MMIO indirect address space to 1 GB. IXP4xx: Fix compilation failure with CONFIG_IXP4XX_INDIRECT_PCI. IXP4xx: Drop "__ixp4xx_" prefix from in/out/ioread/iowrite functions for clarity. IXP4xx: Rename indirect MMIO primitives from __ixp4xx_* to __indirect_*. IXP4xx: Ensure index is positive in irq_to_gpio() and npe_request(). ARM: fix insl() and outsl() endianness on IXP4xx architecture. IXP4xx: Fix normally-disabled debugging text in drivers/net/arm/ixp4xx_eth.c. IXP4xx: change the timer base frequency to 66.666000 MHz. commit f01eb3640308c005d31b29d0a8bc2b7acb4e3f75 Author: Linus Torvalds Date: Sat Dec 12 14:46:33 2009 -0800 [BKL] add 'might_sleep()' to the outermost lock taker As shown by the previous patch (6698e3472: "tty: Fix BKL taken under a spinlock bug introduced in the BKL split") the BKL removal is prone to some subtle issues, where removing the BKL in one place may in fact make a previously nested BKL call the new outer call, and then prone to nasty deadlocks with other spinlocks. In general, we should never take the BKL while we're holding a spinlock, so let's just add a "might_sleep()" to it (even though the BKL doesn't technically sleep - at least not yet), and we'll get nice warnings the next time this kind of problem happens during BKL removal. Acked-and-Tested-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 6698e34720660e18b45e2e3b115ee4584d0c3b5e Author: Alan Cox Date: Sat Dec 12 10:32:36 2009 +0000 tty: Fix BKL taken under a spinlock bug introduced in the BKL split The fasync path takes the BKL (it probably doesn't need to in fact) while holding the file_list spinlock. You can't do that with the kernel lock: it causes lock inversions and deadlocks. Leave the BKL over that bit for the moment. Identified by AKPM. Signed-off-by: Alan Cox Acked-and-Tested-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 09cea96caa59fabab3030c53bd698b9b568d959a Merge: 6eb7365 e090aa8 Author: Linus Torvalds Date: Sat Dec 12 14:27:24 2009 -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: (151 commits) powerpc: Fix usage of 64-bit instruction in 32-bit altivec code MAINTAINERS: Add PowerPC patterns powerpc/pseries: Track previous CPPR values to correctly EOI interrupts powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP powerpc: Make "intspec" pointers in irq_host->xlate() const powerpc/8xx: DTLB Miss cleanup powerpc/8xx: Remove DIRTY pte handling in DTLB Error. powerpc/8xx: Start using dcbX instructions in various copy routines powerpc/8xx: Restore _PAGE_WRITETHRU powerpc/8xx: Add missing Guarded setting in DTLB Error. powerpc/8xx: Fixup DAR from buggy dcbX instructions. powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions. powerpc/8xx: Update TLB asm so it behaves as linux mm expects. powerpc/8xx: Invalidate non present TLBs powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate pseries/pseries: Add code to online/offline CPUs of a DLPAR node powerpc: stop_this_cpu: remove the cpu from the online map. powerpc/pseries: Add kernel based CPU DLPAR handling sysfs/cpu: Add probe/release files powerpc/pseries: Kernel DLPAR Infrastructure ... commit 6eb7365db6f3a4a9d8d9922bb0b800f9cbaad641 Merge: 9c3936c 84a3bd0 Author: Linus Torvalds Date: Sat Dec 12 11:40:50 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Overwrite pin config on intel DG45ID board. intelhdmi - dont power off HDA link ALSA: hrtimer - Fix lock-up ALSA: intelhdmi - add channel mapping for typical configurations ALSA: intelhdmi - channel mapping applies to Pin ALSA: intelhdmi - accept DisplayPort pin ALSA: hda - show HBR(High Bit Rate) pin cap in procfs ALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecs ASoC: Fix build of OMAP sound drivers ALSA: opti93x: fix irq releasing if the irq cannot be allocated commit 9c3936cb694ffd559c80dc3eb75b61f769a39259 Merge: 5de76b1 5ccf197 Author: Linus Torvalds Date: Sat Dec 12 11:40:13 2009 -0800 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (75 commits) omap3: Fix OMAP35XX_REV macros omap: serial: fix non-empty uart fifo read abort omap3: Zoom2/3: Update hsmmc board config params omap3 : Enable TWL4030 Keypad for Zoom2 and Zoom3 boards omap3: id code detection 3525 vs 3515 omap3: rx51: Use wl1251 in SPI mode 3 omap3: zoom2/3: make MMC slot work again omap1: htcherald: Update defconfig to include mux support omap1: LCD_DMA: Use some define rather than a hexadecimal omap: header: remove unused data-type omap: arch/arm/plat-omap/devices.c - sort alphabetically omap: Correcting GPMC_CONFIG1_DEVICETYPE_NAND OMAP3: serial - allow platforms specify which UARTs to initialize omap3: cm-t35: add mux initialization OMAP4: Sync up omap4430 defconfig OMAP4: Remove the secondary wait loop OMAP4: AuxCoreBoot registers only accessible in secure mode OMAP4: Fix SRAM base and size OMAP4: Fix cpu detection omap3: pandora: board file updates for .33 ... commit 5de76b18d1a7193c49c1a4ee72261421a17de57c Merge: 8d0e7fb e1187b3 Author: Linus Torvalds Date: Sat Dec 12 11:39:09 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: be2net: fix error in rx completion processing. igbvf: avoid reset storms due to mailbox issues igb: fix handling of mailbox collisions between PF/VF usb: remove rare pm primitive for conversion to new API commit 8d0e7fb9d1581c4543ea917c2ea1a50db607a344 Merge: 702a7c7 355d79c Author: Linus Torvalds Date: Sat Dec 12 11:37:39 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab, kmemleak: pass the correct pointer to kmemleak_erase() slab, kmemleak: stop calling kmemleak_erase() unconditionally SLAB: Fix unlikely() annotation in __cache_alloc_node() SLAB: Fix lockdep annotations for CPU hotplug SLUB: Fix __GFP_ZERO unlikely() annotation slub: allow stats to be cleared commit 702a7c7609bec3a940b6a46b0d6ab9ce45274580 Merge: 053fe57 b9889ed Author: Linus Torvalds Date: Sat Dec 12 11:34:10 2009 -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: (21 commits) sched: Remove forced2_migrations stats sched: Fix memory leak in two error corner cases sched: Fix build warning in get_update_sysctl_factor() sched: Update normalized values on user updates via proc sched: Make tunable scaling style configurable sched: Fix missing sched tunable recalculation on cpu add/remove sched: Fix task priority bug sched: cgroup: Implement different treatment for idle shares sched: Remove unnecessary RCU exclusion sched: Discard some old bits sched: Clean up check_preempt_wakeup() sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call sched: Sanitize fork() handling sched: Clean up ttwu() rq locking sched: Remove rq->clock coupling from set_task_cpu() sched: Consolidate select_task_rq() callers sched: Remove sysctl.sched_features sched: Protect sched_rr_get_param() access to task->sched_class sched: Protect task->cpus_allowed access in sched_getaffinity() sched: Fix balance vs hotplug race ... Fixed up conflicts in kernel/sysctl.c (due to sysctl cleanup) commit 84a3bd061c1974aea4b14b954e518ce144e407c6 Merge: f52d7a4 52dc438 Author: Takashi Iwai Date: Sat Dec 12 18:18:08 2009 +0100 Merge branch 'topic/hda' into for-linus commit f52d7a4393136107f526040f6ef190ab49032496 Merge: fcfdebe 761c9d4 Author: Takashi Iwai Date: Sat Dec 12 18:18:04 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 52dc438606d1ef78b96f56cc04dbea9242005730 Author: Alexey Fisher Date: Sat Dec 12 11:16:41 2009 +0200 ALSA: hda - Overwrite pin config on intel DG45ID board. The pin config provided by BIOS have some problems: 0x0221401f: [Jack] HP Out at Ext Front <-- other association and sequence 0x02a19020: [Jack] Mic at Ext Front <-- other association 0x01113014: [Jack] Speaker at Ext Rear <-- line out (not speaker) 0x01114010: [Jack] Speaker at Ext Rear <-- line out 0x01a19030: [Jack] Mic at Ext Rear <-- other association 0x01111012: [Jack] Speaker at Ext Rear <-- line out 0x01116011: [Jack] Speaker at Ext Rear <-- line out 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x01451140: [Jack] SPDIF Out at Ext Rear 0x40f000f0: [N/A] Other at Ext N/A just overwrite it. Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit 355d79c87a53aa08c33deba184b8c87763a08270 Merge: 053fe57 8e15b79 ddbf2e8 74e2134 78eb00c Author: Pekka Enberg Date: Sat Dec 12 10:12:19 2009 +0200 Merge branches 'slab/fixes', 'slab/kmemleak', 'slub/perf' and 'slub/stats' into for-linus commit e1187b3be72be59625e445b186007e6eae27fef1 Author: Ajit Khaparde Date: Fri Dec 11 22:59:09 2009 -0800 be2net: fix error in rx completion processing. There are certain skews of the NIC which have multiple bits set in adapter->cap. Use & instead of == to process rx completions. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 7227909340477c1e5225bb2df76cdcc95b5e1da1 Author: Alexander Duyck Date: Fri Dec 11 22:58:14 2009 -0800 igbvf: avoid reset storms due to mailbox issues From: Alexander Duyck This change makes it so that reset/interrupt storms can be avoided when there are mailbox issues. The new behavior is to only allow the device to trigger mailbox related resets only once every 10 seconds. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fef45f4ce221fc110f70716a00f40be697c5b254 Author: Alexander Duyck Date: Fri Dec 11 22:57:34 2009 -0800 igb: fix handling of mailbox collisions between PF/VF This patch changes the handling of collisions between the use of the PF/VF sides of the mailbox. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ceb0c77e573bb208e282ce9af973a07ab79791e2 Author: Oliver Neukum Date: Fri Dec 11 21:43:00 2009 -0800 usb: remove rare pm primitive for conversion to new API This patch removes a rare use of the USB power management API which won't be supported after the conversion to the new generic runtime power management framework. Functionality is not altered. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 053fe57ac249a9531c396175778160d9e9509399 Merge: 92340ee 5017065 Author: Linus Torvalds Date: Fri Dec 11 20:58:20 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits) net: Handle NETREG_UNINITIALIZED devices correctly can: add the driver for Analog Devices Blackfin on-chip CAN controllers xfrm: Fix truncation length of authentication algorithms installed via PF_KEY net: use compat helper functions in compat_sys_recvmmsg net: fix compat_sys_recvmmsg parameter type cxgb3: Fixing EEH handlers cnic: Zero out status block and Event Queue indices. cnic: Send delete command when shutting down iSCSI ring. net: smc91x: Fix up type mismatch in smc_drv_resume(). smc91x: fix unused flags warnings on UP systems MAINTAINERS: Transfering maintainership of cdc-ether net: Add missing TST_CFG_WRITE bits around sky2_pci_write net: Fix Yukon-2 Optima TCP offload setup net: niu uses crc32, so select CRC32 wireless: update old static regulatory domain rules mac80211: Revert 'Use correct sign for mesh active path refresh' mac80211: Fixed bug in mesh portal paths net/mac80211: Correct size given to memset b43: Remove reset after fatal DMA error rtl8187: add radio led and fix warnings on suspend ... commit 92340ee3198a2afd7664ed2f5472fa072b15fa32 Merge: a1c36e5 637e8a6 Author: Linus Torvalds Date: Fri Dec 11 20:57:46 2009 -0800 Merge branch 'compat-ioctl-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground * 'compat-ioctl-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground: usbdevfs: move compat_ioctl handling to devio.c lp: move compat_ioctl handling into lp.c compat_ioctl: pass compat pointer directly to handlers compat_ioctl: simplify lookup table compat_ioctl: simplify calling of handlers compat_ioctl: inline all conversion handlers compat_ioctl: Remove BKL compat_ioctl: remove all VT ioctl handling commit a1c36e52068a59374e127d60e4d8f4377072fc98 Merge: 3070f27 3d77038 Author: Linus Torvalds Date: Fri Dec 11 20:57:31 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic * git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: asm-generic: add sys_recvmmsg to unistd.h asm-generic: add sys_accept4 to unistd.h asm-generic/gpio.h: add some forward decls of the device struct asm-generic: Fix typo in asm-generic/unistd.h. lib/checksum: fix one more thinko lib/checksum.c: make do_csum optional lib/checksum.c: use 32-bit arithmetic consistently commit 3070f27d6ecb69364e7cffe16c8b15e1b8ef41dd Merge: 1e57c21 e9c0748 Author: Linus Torvalds Date: Fri Dec 11 20:49:09 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: itimer: Fix the itimer trace print format hrtimer: move timer stats helper functions to hrtimer.c hrtimer: Tune hrtimer_interrupt hang logic commit 1e57c2186fc204ecd5e47f279d00eba3c3db245c Merge: 7563009 ea5b41f Author: Linus Torvalds Date: Fri Dec 11 20:48:21 2009 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Avoid out of bounds array reference in save_trace() futex: Take mmap_sem for get_user_pages in fault_in_user_writeable lockstat: Add usage info to Documentation/lockstat.txt lockstat: Fix min, max times in /proc/lock_stats commit 756300983f11a1c6f9457d6d8f57354e0f0fe8d4 Merge: df7147b 9cf7826 Author: Linus Torvalds Date: Fri Dec 11 20:47:59 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/amd-iommu: Fix PCI hotplug with passthrough mode x86/amd-iommu: Fix passthrough mode x86: mmio-mod.c: Use pr_fmt x86: kmmio.c: Add and use pr_fmt(fmt) x86: i8254.c: Add pr_fmt(fmt) x86: setup_percpu.c: Use pr_ and add pr_fmt(fmt) x86: es7000_32.c: Use pr_ and add pr_fmt(fmt) x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs() x86: Factor duplicated code out of __show_regs() into show_regs_common() arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix x86, mce: fix confusion between bank attributes and mce attributes x86/mce: Set up timer unconditionally x86: Fix bogus warning in apic_noop.apic_write() x86: Fix typo in arch/x86/mm/kmmio.c x86: ASUS P4S800 reboot=bios quirk commit df7147b3c37cb203f968119f3b6a1cd648c535a1 Merge: 6f696eb 788d70d Author: Linus Torvalds Date: Fri Dec 11 20:47:44 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Remove comparing of NULL to va_list in trace_array_vprintk() tracing: Fix function graph trace_pipe to properly display failed entries tracing: Add full state to trace_seq tracing: Buffer the output of seq_file in case of filled buffer tracing: Only call pipe_close if pipe_close is defined tracing: Add pipe_close interface commit 6f696eb17be741668810fe1f798135c7cf6733e2 Merge: c4e194e 1255803 Author: Linus Torvalds Date: Fri Dec 11 20:47:30 2009 -0800 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits) x86, perf events: Check if we have APIC enabled perf_event: Fix variable initialization in other codepaths perf kmem: Fix unused argument build warning perf symbols: perf_header__read_build_ids() offset'n'size should be u64 perf symbols: dsos__read_build_ids() should read both user and kernel buildids perf tools: Align long options which have no short forms perf kmem: Show usage if no option is specified sched: Mark sched_clock() as notrace perf sched: Add max delay time snapshot perf tools: Correct size given to memset perf_event: Fix perf_swevent_hrtimer() variable initialization perf sched: Fix for getting task's execution time tracing/kprobes: Fix field creation's bad error handling perf_event: Cleanup for cpu_clock_perf_event_update() perf_event: Allocate children's perf_event_ctxp at the right time perf_event: Clean up __perf_event_init_context() hw-breakpoints: Modify breakpoints without unregistering them perf probe: Update perf-probe document perf probe: Support --del option trace-kprobe: Support delete probe syntax ... commit c4e194e3b71ff4fed01d727c32ee1071921d28a3 Merge: 2fe77b8 3989d17 Author: Linus Torvalds Date: Fri Dec 11 20:46:51 2009 -0800 Merge branch 'for-linus' of git://codeaurora.org/quic/kernel/dwalker/linux-msm * 'for-linus' of git://codeaurora.org/quic/kernel/dwalker/linux-msm: HTC Dream: mmc compilation fixes video: Allow selecting MSM framebuffer in Kconfig Add arm msm maintainer entry msm: Add memory map for HTC Dream msm: add minimal board file for HTC Dream device msm: make debugging UART (for DEBUG_LL) configurable commit 501706565b2d4d2d40d0d301d5411ede099b8a6f Merge: e93737b 2fe77b8 Author: David S. Miller Date: Fri Dec 11 17:12:17 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: include/net/tcp.h commit 5ccf197859d6f6bcf56e85657019503b2d95767a Merge: 24ed45a 435bb82 Author: Tony Lindgren Date: Fri Dec 11 16:19:16 2009 -0800 Merge branch 'for-next' into omap-for-linus commit 435bb827499014ab0e57de75e9606861b08fe894 Author: Sanjeev Premi Date: Fri Dec 11 16:16:37 2009 -0800 omap3: Fix OMAP35XX_REV macros In original implementation, the revision passed to these macros contained revision number in lower nibble. But, later the revision bits (OMAP_REVBITS_XX) were defined to use omap_revision[15:08] where revision number is containied in higher nibble. This patch updates the macros; else incorrect revision is detected for OMAP35xx devices. Signed-off-by: Sanjeev Premi commit ce13d4716a276f4331d78ba28a5093a63822ab95 Author: vikram pandita Date: Fri Dec 11 16:16:37 2009 -0800 omap: serial: fix non-empty uart fifo read abort OMAP3xxx and OMAP4430 UART IP blocks have a restriction wrt RX FIFO. Empty RX fifo read causes an abort. OMAP3xxx: UART IP revision >= 0x52 have this issue MVR register format is: Bits Field Name Description Type Reset 31:8 RESERVED RO 0x0 7:4 MAJOR Major revision number of the module. RO 0x-- 3:0 MINOR Minor revision number of the module. RO 0x-- OMAP4xxx: All revisions have this issue Revision id check is not used as the format of MVR resigster has changed For omap4 MVR register reads as: 0x50410602 => Revision id = 0x0602 Format of MVR register on omap4 is: (Courtesy: Cousson, Benoit) Bits Field Name Description Type Reset 31:30 SCHEME Scheme revision number of module RO 0x1 29:28 RESERVED RO 0x1 27:16 FUNC Function revision number of module RO 0x041 15:11 RTL Rtl revision number of module RO 0x00 10:8 MAJOR Major revision number of the module. RO 0x6 7:6 CUSTOM Custom revision number of the module. RO 0x0 5:0 MINOR Minor revision number of the module. RO 0x02 Override the default 8250 read handler: mem_serial_in() by a custom handler: serial_in_8250() which makes sure that RX fifo is not read when empty tested on zoom3(3630) board Cc: Benoit Cousson Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit ed32350dc5ccc2b00685d857c3270688d465cd41 Author: Madhusudhan Chikkature Date: Fri Dec 11 16:16:37 2009 -0800 omap3: Zoom2/3: Update hsmmc board config params Update the hsmmc zoom peripheral configuration to support: Power saving mode mmc2 8-bit support Configure mmc2 as non removable Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 5bcf5a106feb6d760e478ed3c601db672c10b848 Author: manjugk manjugk Date: Fri Dec 11 16:16:37 2009 -0800 omap3 : Enable TWL4030 Keypad for Zoom2 and Zoom3 boards The TWL4030 keypad driver is not enabled by default for zoom2 and zoom3 boards. This patch will enable the same for both zoom2 and zoom3 boards. Tested on zoom2(3430) and zoom3(3630) boards. Signed-off-by: Manjunatha GK Signed-off-by: Tony Lindgren commit 0712fb39d7ac045171f26b24b896d58adec04133 Author: Sergey Lapin Date: Fri Dec 11 16:16:37 2009 -0800 omap3: id code detection 3525 vs 3515 The runtime detection of OMAP3515 and OMAP3525 was reversed. Signed-off-by: Sergey Lapin Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 860fc976321fa690c5cc77a2f66e8d6ea8d52e25 Author: Kalle Valo Date: Fri Dec 11 16:16:37 2009 -0800 omap3: rx51: Use wl1251 in SPI mode 3 Otherwise Extreme Lower Power (ELP) wakeup doesn't work properly. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit aed79bce7701e0cf44def227f302618be42dee3d Author: Anand Gadiyar Date: Fri Dec 11 16:16:36 2009 -0800 omap3: zoom2/3: make MMC slot work again omap3: zoom2/3: make MMC slot work again Commit 12f8dfb56 accidentally broke MMC on zoom2/3. The .vmmc1 field of zoom_twldata was deleted. Restoring it allows the MMC slot to work again Signed-off-by: Anand Gadiyar Acked-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 87cbb94b8333c1ffcaf87c093b2613b69fe929c5 Author: Cory Maccarrone Date: Fri Dec 11 16:16:36 2009 -0800 omap1: htcherald: Update defconfig to include mux support The existing htcherald_defconfig did not include mux support, which prevented USB and other functionality from working out of the box. This change updates the defconfig to add it in. It also aligns the defconfig to the -rc8 kernel config. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 8d72c796c9d966b0efc26092dae7005c345b3efa Author: Janusz Krzysztofik Date: Fri Dec 11 16:16:36 2009 -0800 omap1: LCD_DMA: Use some define rather than a hexadecimal The patch corrects the issue introduced with one of my earlier patches: OMAP: DMA: Fix omapfb/lcdc on OMAP1510 broken when PM set[1] as pointed out by OMAP subsystem maintainer. Applies on top of my prevoius patch: OMAP: DMA: move LCD DMA related code from plat-omap to mach-omap1[2] Tested on Amstrad Delta Compile tested with omap_generic_2420_defconfig [1] http://patchwork.kernel.org/patch/57922/ [2] http://patchwork.kernel.org/patch/61952/ Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 9cb87a6b443fe6061d91b7eb220d15d01e0dc611 Author: vikram pandita Date: Fri Dec 11 16:16:36 2009 -0800 omap: header: remove unused data-type Remove unused data type omap_gpio_switch_config Thereby also get rid of following sparse warnings: arch/arm/plat-omap/include/plat/board.h :121:20: warning: dubious bitfield without explicit `signed' or `unsigned' arch/arm/plat-omap/include/plat/board.h :122:19: warning: dubious bitfield without explicit `signed' or `unsigned' arch/arm/plat-omap/include/plat/board.h :123:24: warning: dubious bitfield without explicit `signed' or `unsigned' Signed-off-by: Vikram Pandita Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 3bfe8971a820e3322c9542bcdc58e12583c9bb50 Author: Ladislav Michl Date: Fri Dec 11 16:16:36 2009 -0800 omap: arch/arm/plat-omap/devices.c - sort alphabetically Comment in omap_init_devices asks to keep init calls and their implementations in alphabetical order, so let it be that way. Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit 8fe8acbe5aabf0d8e6af4c44aa4de0892a770cb0 Author: Vimal Singh Date: Fri Dec 11 16:16:35 2009 -0800 omap: Correcting GPMC_CONFIG1_DEVICETYPE_NAND For NAND devices '2' should be used with GPMC_CONFIG1_DEVICETYPE instead of '1'. Signed-off-by: Vimal Singh Signed-off-by: Tony Lindgren commit f62349ee9788b1d94c55eb6c291d74a1f69bdd9e Author: Mika Westerberg Date: Fri Dec 11 16:16:35 2009 -0800 OMAP3: serial - allow platforms specify which UARTs to initialize This patch adds new function: omap_serial_init_port(port) that can be used to initialize only selected UARTs as serial ports. Platforms can then in their board files call this function instead of omap_serial_init() if they don't want to use all UARTs as serial ports. Signed-off-by: Mika Westerberg Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit edc961a2fa51cf3fceba8df8bb52c7a048e4661b Author: Mike Rapoport Date: Fri Dec 11 16:16:35 2009 -0800 omap3: cm-t35: add mux initialization CM-T35 can be assembled with different set of peripherals thus making certain interfaces available to user as GPIOs or dedicated pins. Because of it CM-T35 bootloader sets up mux configuration only for pins necessary to boot the system and the rest of the mux configuration is done by the kernel. Besides, having mux configuration in the kernel allows to minimize dependancy on bootloader. Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit dca0d917696a3724ed1613f549a07020578cb037 Author: Santosh Shilimkar Date: Fri Dec 11 16:16:35 2009 -0800 OMAP4: Sync up omap4430 defconfig Enable minimum features to boot omap4430 on es1.0 samples. v2 versions removes the "CONFIG_SYSFS_DEPRECATED_V2" since it's deprecated. Without this older file system doesn't boot. One need to upgrade the filesystem if getting stuck in first init function. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b2f5c9413cc54000706959fa710c21b2d90a647c Author: Santosh Shilimkar Date: Fri Dec 11 16:16:35 2009 -0800 OMAP4: Remove the secondary wait loop The secondary cores wakes up in time so the wait loop is not necessary anymore. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 942e2c9e529a57ce2bb1cf984d58f88d9b6e77e5 Author: Santosh Shilimkar Date: Fri Dec 11 16:16:35 2009 -0800 OMAP4: AuxCoreBoot registers only accessible in secure mode The AuxCoreBoot0 and AuxCoreBoot1 can be only accessed in secure mode. Replace the current code with secure monitor API's to access/modify these registers. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit a7c3ae2cb6d144bdf6c582898d2368f5f91a1775 Author: Santosh Shilimkar Date: Fri Dec 11 16:16:35 2009 -0800 OMAP4: Fix SRAM base and size This patch fixes the public sram base address and available size on OMAP4430. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b570e0ec25b371c2e01a1a558e852e2618526817 Author: Santosh Shilimkar Date: Fri Dec 11 16:16:34 2009 -0800 OMAP4: Fix cpu detection This patch fixes the OMAP4430 cpu detection. The IC rev detection is done with hawkeye and rev. Note that rev does not map directly to defined processor revision numbers as ES1.0 uses value 0.It also fixes the SCM base address to read the correct ID_CODE register. Also the cpu_is_omap44xx() and cpu_is_omap443x() correctly populated instead of always being true Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 8d88f7f70cca3fa6aabac287fccd40cebacb92d1 Author: Grazvydas Ignotas Date: Fri Dec 11 16:16:34 2009 -0800 omap3: pandora: board file updates for .33 Pandora board file updates: - change keycodes of game buttons it was decided not to use ABXY layout by the developers. - drop i2c bus 3 speed to 100kHz this is needed for battery monitoring chip to work reliably. - drop pandora_lcd platform_device the older DSS driver was never functional on l-o or mainline kernels due to missing panel driver, so remove unneeded pandora_lcd platform_device. This also removes last OMAP_TAG from the board file. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 249b17f23a0fd141390d20fae4c96951e2054b5a Author: Gregoire Gentil Date: Fri Dec 11 16:16:34 2009 -0800 omap3: Defconfig file of Always Innovating OMAP3-based Touch Book Defconfig file of Always Innovating OMAP3-based Touch Book Signed-off-by: Gregoire Gentil Signed-off-by: Tony Lindgren commit 7a079cab4632265fc87ee483daf57879d5dd87f2 Author: Gregoire Gentil Date: Fri Dec 11 16:16:34 2009 -0800 omap3: Board file of Always Innovating OMAP3-based Touch Book Board file of Always Innovating OMAP3-based Touch Book Signed-off-by: Gregoire Gentil Signed-off-by: Tony Lindgren commit bf92a40762fb10a394281941a46f529463c49ffc Author: Cory Maccarrone Date: Fri Dec 11 16:16:34 2009 -0800 omap1: I2C mux and clocks for omap7xx This change adds MUX pin configuration and clocks for I2C support to OMAP 730 and 850-based devices. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 106997c1a4aa3a34d8e04fa0138ba332f7ceafef Author: Cory Maccarrone Date: Fri Dec 11 16:16:34 2009 -0800 omap1: Add omap7xx USB support This change implements USB client side support into the HTC Herald board configuration. It uses a similar, but updated algorithm to initialize the USB as is used in the linwizard project. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit f8e9e98454606e43b728269de21db349f57861c7 Author: Janusz Krzysztofik Date: Fri Dec 11 16:16:33 2009 -0800 omap1: DMA: move LCD related code from plat-omap to mach-omap1 All of the LCD DMA code in plat-omap/dma.c appears to be OMAP1-only (and apparently only is available on a subset of OMAP1 chips). Move this code to mach-omap1/lcd_dma.c. Tested on OMAP1510 Amstrad Delta. Compile-tested with omap_generic_2420_defconfig. Reported-by: Paul Walmsley Signed-off-by: Janusz Krzysztofik Reviewed-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 414f552ad872e19a7471644317a60f3cbba25ced Author: Ladislav Michl Date: Fri Dec 11 16:16:33 2009 -0800 omap1: Use gen_nand Since omapnand driver never find its way into mainline, switch to gen_nand instead. Following patch is compile tested only, but it is based on code I wrote for NetStar board and runtime tested it there. Signed-off-by: Ladislav Michl Cc: Imre Deak Cc: Brian Swetland Cc: Kevin Hilman Signed-off-by: Tony Lindgren commit e2b18e3018630d80eda54508e697d613283d57ac Author: Ladislav Michl Date: Fri Dec 11 16:16:33 2009 -0800 smc91x: remove OMAP specific bits Now that all OMAP boards are using the board resources, we don't need to keep the arch/board specific crap in the driver header. Cc: linux-net@vger.kernel.org Acked-by: Nicolas Pitre Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit 3bc48014782a89f7201734d3e23865cb283926a7 Author: Ladislav Michl Date: Fri Dec 11 16:16:33 2009 -0800 omap: use smc91x_platdata to setup smc91x Use smc91x_platdata to setup smc91x, so we can get rid of OMAP specific stuff in smc91x driver Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit 662c8b55d26abeabc0b125f922dfa66338a046ae Author: Tony Lindgren Date: Fri Dec 11 16:16:33 2009 -0800 omap: mux: Add 36xx CBP package support Add 36xx CBP package support Cc: Benoit Cousson Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 15f45e6f27b0ef0719171978acadf073b066fb74 Author: Tony Lindgren Date: Fri Dec 11 16:16:33 2009 -0800 omap: mux: Remove old mux code for 34xx Remove old mux code for 34xx Signed-off-by: Tony Lindgren commit 4896e3940a063fb03195d05806d28970dc3f102b Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: mux: Replace omap_cfg_reg() with new style signal or gpio functions Replace omap_cfg_reg() with new style signal or gpio functions Signed-off-by: Tony Lindgren commit b63128e81214cc2db2995d690438055c26d213a5 Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: Split i2c platform init for mach-omap1 and mach-omap2 Otherwise we cannot limit new mux code to mach-omap2. The same signal names should eventually work for other omaps under mach-omap2. Note that these pins don't need to be OMAP_PIN_INPUT_PULLUP, just OMAP_PIN_INPUT is enough. Cc: Jarkko Nikula Signed-off-by: Tony Lindgren commit 4b715efccf9547c0d7fe864277526fee3d9b6bba Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: mux: Add debugfs support for new mux code Add debugfs support for new mux code Signed-off-by: Tony Lindgren commit ca5742bdb58ebb74499731855dccf8f8a858b2e4 Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: mux: Add new style init functions to omap3 board-*.c files Add new style mux init functions to omap3 board-*.c files So far Beagle has been confirmed to be a CBB package, and CM-T35 a CUS package. Signed-off-by: Tony Lindgren commit ddaa912a2164d7ce7a03fcb384ed37e712bb4549 Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: mux: Add new style pin multiplexing data for 34xx Add new style mux data for 34xx. This should also work with 3630 easily by adding the processor subset and ball data. Note that this data is __initdata, and gets optimized out except for the GPIO pins if CONFIG_OMAP_MUX is not set. Also note that this data uses omap3630 naming for the SDMMC registers instead of 34xx naming with just MMC. Cc: Benoit Cousson Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 15ac7afe515631ec36966b1cf632a87276536f57 Author: Tony Lindgren Date: Fri Dec 11 16:16:32 2009 -0800 omap: mux: Add new style pin multiplexing code for omap3 Initially only for 34xx. This code allows us to: - Make the code more generic as the omap internal signal names can stay the same across omap generations for some devices - Map mux registers to GPIO registers that is needed for dynamic muxing of pins during off-idle - Override bootloader mux values via kernel cmdline using omap_mux=some.signa1=0x1234,some.signal2=0x1234 - View and set the mux registers via debugfs if CONFIG_DEBUG_FS is enabled Cc: Mike Rapoport Cc: Benoit Cousson Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 92c9f5018997dbc5f5e91eae2400d78ada2760b0 Author: Mike Rapoport Date: Fri Dec 11 16:16:31 2009 -0800 omap2: mux: intoduce omap_mux_{read,write} intoduce omap_mux_{read,write} Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit 24ed45aa0776f9f645aa1ac1a88b2e1d5f29a9aa Merge: aa2cf42 911bd73 Author: Tony Lindgren Date: Fri Dec 11 16:16:02 2009 -0800 Merge branch 'for_2_6_33' of git://git.pwsan.com/linux-2.6 into omap-for-linus commit 911bd7395c4aa4e74b13aab790ca1500c59fae02 Author: Rajendra Nayak Date: Tue Dec 8 18:47:17 2009 -0700 ARM: OMAP4: PM: Add init api for DPLL nodes An api at init for all dpll nodes seem to be needed to reparent the dpll clk node to its bypass clk in case the dpll is in bypass. If not done this causes sequencing issues at init during propogate_rate. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 16975a79c8e6ee424331f52649f2351d33c7b972 Author: Rajendra Nayak Date: Tue Dec 8 18:47:16 2009 -0700 ARM: OMAP4: PM: Add support for OMAP4 dpll api's Most of the dpll api's from dpll.c are reused for OMAP4. This patch does extend a few api's for OMAP4 support. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit a1391d276866845018920329bc2a3a82ab322af8 Author: Rajendra Nayak Date: Tue Dec 8 18:47:16 2009 -0700 ARM: OMAP4: PM: Move DPLL control apis to dpll.c This patch moves all the dpll control api's to a common file dpll.c. This is in preperation of omap4 support wherein most of these api's can be reused. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit d79b126724554122d9598834ef39fb0bb4fc132d Author: Rajendra Nayak Date: Wed Dec 9 00:01:44 2009 +0530 ARM: OMAP4: PM: Add dummy hooks for OMAP4 dpll api's This patch adds dummy hooks for OMAP4 dpll api's. Removes dummy hooks for clkdev api's and enables CLKDEV for OMAP4. Also comments clockdomain calls from within the clock framework as its not supported yet for OMAP4. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 972c542746904b5f418284946728a61b783275ef Author: Rajendra Nayak Date: Tue Dec 8 18:46:28 2009 -0700 ARM: OMAP4: PM: OMAP4 clock tree and clkdev registration This patch defines all the clock nodes in OMAP4430 platform. All the clock node structs and the clkdev table is autogenerated using a python script (gen_clock_tree.py) developed by Paul Walmsley, Benoit Cousson and Rajendra Nayak. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit dd7084138f7293f97584050d43a92cb03836974e Author: Rajendra Nayak Date: Tue Dec 8 18:24:54 2009 -0700 ARM: OMAP4: PM: Adds CM1/2 register field masks This patch adds OMAP4 specific CM1 and CM2 module register field masks. Auto generated using a python script (gen_cm_shifts_and_mask.py) developed by Benoit Cousson, Paul Walmsley and Rajendra Nayak. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 234f0c4c66af8108ce151837313c522e36a84de4 Author: Rajendra Nayak Date: Tue Dec 8 18:24:52 2009 -0700 ARM: OMAP4: PM: Adds PRM register shift and mask bits This patch adds OMAP4 specific PRM register bit field shifts and masks. Auto generated using a python script (gen_prm_shifts_and_mask.py) developed by Benoit Cousson, Paul Walmsley and Rajendra Nayak. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit c1294045d2299c36f531a23802f4d124cfc6b564 Author: Rajendra Nayak Date: Tue Dec 8 18:24:51 2009 -0700 ARM: OMAP4: PM: Adds PRM register defs for OMAP4 This patch adds OMAP4 specific PRM register defs. Auto generated using a python script (gen_prm_4430_h.py) developed by Paul Walmsley and Benoit Cousson. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 9b47267f3e7f5f9b0d136c199fb8f3acb362e45e Author: Rajendra Nayak Date: Tue Dec 8 18:24:50 2009 -0700 ARM: OMAP4: PM: Adds CM1/2 register defs for OMAP4 This patch adds OMAP4 specific CM1 and CM2 module register defs. Autogenerated using a python scripts (gen_cm1_4430_h.py,gen_cm2_4430_h.py) developed by Paul Walmsley and Benoit Cousson. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 77772d5f7dc3e329f916403ac1199615e7bab089 Author: Rajendra Nayak Date: Tue Dec 8 18:24:49 2009 -0700 ARM: OMAP4: PM: PRM/CM module offsets for OMAP4 This patch adds the offsets for new modules in PRM and CM for OMAP4 These are autogenerated using a python script (gen_prcm44xx_h.py) developed by Paul Walmsley and Benoit Cousson. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 9ef89150ea118fabc1b93f6891ba58417e4260ff Author: Rajendra Nayak Date: Tue Dec 8 18:24:49 2009 -0700 ARM: OMAP4: PM: Fix the PRM and CM base addresses This patch fixes the PRM and CM base addresses and adds a new CM2 base address for OMAP4 Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley Cc: Benoit Cousson commit 0d93d8bb7f52190d76e9dba7f4561aabefaff34a Author: Kevin Hilman Date: Tue Dec 8 16:34:26 2009 -0700 OMAP: omap_device: track latency in nanoseconds Rather than having to do a usecs = nsecs / NSECS_PER_USEC to track latency in usecs, just track it in nanoseconds. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit d048ec7ab48254c505e1cee49441345ce12129fd Author: Kevin Hilman Date: Tue Dec 8 16:34:25 2009 -0700 OMAP: omap_device: fix nsec/usec conversion in latency calculations Use usecs = nsecs / NSEC_PER_USEC; instead of usecs = nsecs * NSEC_PER_USEC; Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit 81d7c6ffccd1d5369942c428faa9ee25a3d59db8 Author: Kevin Hilman Date: Tue Dec 8 16:34:24 2009 -0700 OMAP: hwmod: warn on missing clockdomain WARN if a clock/hwmod is missing a clockdomain association since resulting hwmod will not be able to correctly enable/disable clocks. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit d22926677f2244a6b68e7ea21d6c9338659c17aa Author: Kevin Hilman Date: Tue Dec 8 16:34:23 2009 -0700 OMAP: omap_device: use read_persistent_clock() instead of getnstimeofday() During suspend and resume, when omap_device deactivation and activation is happening, the timekeeping subsystem has likely already been suspended. Thus getnstimeofday() will fail and trigger a WARN(). Use read_persistent_clock() instead of getnstimeofday() to avoid this. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit 5f1b6ef76ff87bb531a9304b36658b8ffaa91b08 Author: Kevin Hilman Date: Tue Dec 8 16:34:22 2009 -0700 OMAP: omap_device: use UINT_MAX for default wakeup latency limit The _dev_wakeup_lat_limit field of struct omap_device is u32, so use UINT_MAX instead of INT_MAX for the default maximum. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit a470c42cb89a5282f816b37a0d1eef68fe455f31 Author: Kevin Hilman Date: Tue Dec 8 16:34:17 2009 -0700 OMAP: omap_device: add to_omap_device() macro Following the model of to_platform_device(), add to_omap_device() macro so a platform_device pointer can be converted into an omap_device pointer. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit a16b1f7f8692163e0c6b4741d8980837dfca75f1 Author: Paul Walmsley Date: Tue Dec 8 16:34:17 2009 -0700 OMAP3 hwmod: drop most of the OCP_SYSCONFIG.CLOCKACTIVITY code Earlier, the hwmod code had considered the OCP_SYSCONFIG.CLOCKACTIVITY bits to be incremental power saving bits, controlling internal IP block clock gates. This was a misapprehension. The CLOCKACTIVITY bits are used to indicate, in advance, which clocks will be cut when the module acknowledges an idle request. This enables the IP block to take whatever action is necessary to complete any in-progress work before asserting its IdleAck. In the current Linux-OMAP code, this implies that the clock framework should be changing module CLOCKACTIVITY bits as module clocks are enabled and disabled. We don't do that yet, but in the future, we should. This must wait until the clock tree is annotated with omap_hwmod pointers (or vice-versa). In the meantime, drop most of the hwmod code that controls CLOCKACTIVITY bits to avoid confusion. This patch has benefited from many illuminating discussions with (in alphabetical order) Benoît Cousson , Rajendra Nayak , and Sebastien Sabatier . Signed-off-by: Paul Walmsley Cc: Rajendra Nayak Cc: Sebastien Sabatier Cc: Benoît Cousson commit 718bfd76932c566f79eb55083693ef0b68071bf8 Author: Paul Walmsley Date: Tue Dec 8 16:34:16 2009 -0700 OMAP hwmod: add names to module MPU IRQ lines Replace the existing u8 array of module MPU IRQ lines with a struct that includes a name - similar to the existing struct omap_hwmod_dma_info. Device drivers can then use platform_get_resource_byname() to retrieve specific IRQs without nasty dependencies on array ordering. Thanks to Benoît Cousson and Kevin Hilman for feedback on this approach. Signed-off-by: Paul Walmsley Cc: Benoît Cousson Cc: Kevin Hilman commit 726072e5dd459e3831d1dd4308ba469ff3ded419 Author: Paul Walmsley Date: Tue Dec 8 16:34:15 2009 -0700 OMAP3 hwmod: Add automatic OCP_SYSCONFIG AUTOIDLE handling This patch fills in the OCP_SYSCONFIG.AUTOIDLE handling in the OMAP hwmod code. After this patch, the hwmod code will set the module AUTOIDLE bit (generally .OCP_SYSCONFIG.AUTOIDLE) to 1 by default upon enable. If the hwmod flag HWMOD_NO_OCP_AUTOIDLE is set, AUTOIDLE will be set to 0 upon enable. Upon module disable, AUTOIDLE will be set to 1. Enabling module autoidle should save some power. The only reason to not set the OCP_SYSCONFIG.AUTOIDLE bit is if there is a bug in the module RTL, e.g., the MPUINTC block on OMAP3. Comments from Kevin Hilman inspired this patch, and Kevin tested an earlier version of this patch. Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit b835d0142196466c5ff3695b90cff1e3ea635c8e Author: Paul Walmsley Date: Tue Dec 8 16:34:14 2009 -0700 OMAP3 hwmod: reprogram OCP_SYSCONFIG register after setting SOFTRESET Reprogram the module's OCP_SYSCONFIG register after module reset (SOFTRESET = 1). This may not be needed, but the definition of the reset performed by the SOFTRESET bit is unclear. Kevin Hilman tested an earlier version of this patch. Signed-off-by: Paul Walmsley Tested-by: Kevin Hilman commit 6f8b7ff5b01e16a65c3b17865ce047faeca40907 Author: Paul Walmsley Date: Tue Dec 8 16:33:16 2009 -0700 OMAP clock/hwmod: fix off-by-one errors Fix loop bailout off-by-one bugs reported by Juha Leppänen . This second version incorporates comments from Russell King . A new macro, 'omap_test_timeout', has been created, with cleaner code, and existing code has been converted to use it. Signed-off-by: Paul Walmsley Cc: Juha Leppänen Cc: Russell King commit 3863c74b512c1afd3ce6b2f81d8dea9f1d860968 Author: Thara Gopinath Date: Tue Dec 8 16:33:15 2009 -0700 OMAP3: PM: Fix for MPU power domain MEM BANK position MPU power domain bank 0 bits are displayed in position of bank 1 in PWRSTS and PREPWRSTS registers. So read them from correct position Signed-off-by: Thara Gopinath Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit 18862cbe47e37beba98f22c088fbe6fe029df889 Author: Paul Walmsley Date: Tue Dec 8 16:33:14 2009 -0700 OMAP3: SDRC: Place SDRC AC timing and MR changes in CORE DVFS SRAM code behind Kconfig The code that reprograms the SDRC memory controller during CORE DVFS, mach-omap2/sram34xx.S:omap3_sram_configure_core_dpll(), does not ensure that all L3 initiators are prevented from accessing the SDRAM before modifying the SDRC AC timing and MR registers. This can cause memory to be corrupted or cause the SDRC to enter an unpredictable state. This patch places that code behind a Kconfig option, CONFIG_OMAP3_SDRC_AC_TIMING for now, and adds a note explaining what is going on. Ideally the code can be added back in once supporting code is present to ensure that other initiators aren't touching the SDRAM. At the very least, these registers should be reprogrammable during kernel init to deal with buggy bootloaders. Users who know that all other system initiators will not be touching the SDRAM can also re-enable this Kconfig option. This is a modification of a patch originally written by Rajendra Nayak (the original is at http://patchwork.kernel.org/patch/51927/). Rather than removing the code completely, this patch just comments it out. Thanks to Benoît Cousson and Christophe Sucur for explaining the technical basis for this and for explaining what can be done to make this path work in future code. Thanks to Richard Woodruff , Nishanth Menon , and Olof Johansson for their comments. Signed-off-by: Paul Walmsley Cc: Rajendra Nayak Cc: Christophe Sucur Cc: Benoît Cousson Cc: Richard Woodruff Cc: Nishanth Menon Cc: Olof Johansson commit 1fda39e6fd13f9f74721d2127f27675a4a0878af Author: Roel Kluin Date: Tue Dec 8 16:33:13 2009 -0700 OMAP2/3 powerdomain: return errors rather than returning the output of IS_ERR() IS_ERR returns only 1 or 0, and the functions return a negative error in other cases anyways. Signed-off-by: Roel Kluin Signed-off-by: Paul Walmsley commit 155a22ecd574c3e6a4c59e6a1bf0dd31ce23ff10 Author: Paul Walmsley Date: Tue Dec 8 16:33:13 2009 -0700 OMAP powerdomain: rearrange struct powerdomain to save some memory This patch rearranges the order of structure members in struct powerdomain to avoid wasting memory due to alignment restrictions. Signed-off-by: Paul Walmsley commit 2354eb5a943e64c5e6e249147381e9715aa5d54b Author: Paul Walmsley Date: Tue Dec 8 16:33:12 2009 -0700 OMAP powerdomain/PM: use symbolic constants for the max number of power states Replace some bare constants with power states. Signed-off-by: Paul Walmsley Cc: Kevin Hilman commit 6a06fa6863f190a0ed72f273a2ae5fedc89973ff Author: Paul Walmsley Date: Tue Dec 8 16:33:11 2009 -0700 OMAP clockdomain/powerdomain: optimize out sleepdep code on OMAP24xx OMAP24xx chips don't support software-configurable sleep dependencies. Test early for this so the compiler can redact the entire function body on OMAP24xx. Signed-off-by: Paul Walmsley commit 33903eb55ae2a7f7cd980da619ae63d93c6530f3 Author: Paul Walmsley Date: Tue Dec 8 16:33:10 2009 -0700 OMAP clockdomain/powerdomain: remove CONFIG_OMAP_DEBUG_{CLOCK,POWER}DOMAIN Avoid cluttering the Kconfig space with debug options that are rarely used. These can now be enabled and disabled by patching the "#undef DEBUG" in the source files with "#define DEBUG", conforming to the practice for the rest of the linux-omap code. Also, while we're here, some lines in plat-omap/Kconfig use sets of leading spaces when those lines should start with tabs. Convert most of them to use tabs. Signed-off-by: Paul Walmsley Cc: Tony Lindgren commit 42d75e7df324268c99153d9cc7d48e780b54d059 Author: Paul Walmsley Date: Tue Dec 8 16:33:09 2009 -0700 OMAP2/3 PRCM: don't export prm_*(), cm_*() functions Device drivers and loadable modules should not be calling these prm_* and cm_* functions, so stop exporting them. Only core code and device driver integration code (in arch/arm/*omap*) should call these functions. Signed-off-by: Paul Walmsley commit 52650505fbf3a6ab851c801f54e73e76c55ab8da Author: Paul Walmsley Date: Tue Dec 8 16:29:38 2009 -0700 OMAP1 clock: convert mach-omap1/clock.h to mach-omap1/clock_data.c The OMAP1 clock code currently #includes a large .h file full of static data structures. Instead, define the data in a .c file. Russell King proposed this new arrangement: http://marc.info/?l=linux-omap&m=125967425908895&w=2 This patch also deals with most of the flagrant checkpatch violations. While here, separate the mpu_rate data structures out into their own files, opp.h and opp_data.c. In the long run, these mpu_rate tables should be replaced with OPP code. Also includes a patch from Felipe Balbi to mark omap1_clk_functions as __initdata to avoid a section warning: http://patchwork.kernel.org/patch/64366/ Signed-off-by: Paul Walmsley Cc: Russell King Cc: Felipe Balbi Cc: Nishanth Menon commit 6f62b58dd4e697a23a308f5b77781394949d333e Author: Paul Walmsley Date: Tue Dec 8 16:29:37 2009 -0700 OMAP1 clock: convert test in disable_unused() to use ENABLE_ON_INIT mach-omap1/clock.c:omap1_clk_disable_unused() contains a test that assumes that the clock structures are available in the file's namespace. After a following patch, this will no longer be the case. So we need to reimplement that test. It turns out that we already have a facility in the clock framework to handle this case - the ENABLE_ON_INIT flag - used on OMAP2/3. Remove the offending test and mark the clocks that it was intended to catch as ENABLE_ON_INIT. Signed-off-by: Paul Walmsley commit 2fe77b81c77eed92c4c0439f74c8148a295b4a86 Merge: cb5228a e2f74f3 Author: Linus Torvalds Date: Fri Dec 11 15:59:23 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface [CPUFREQ] make internal cpufreq_add_dev_* static [CPUFREQ] use an enum for speedstep processor identification [CPUFREQ] Document units for transition latency [CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/ [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used [CPUFREQ] cpumask: don't put a cpumask on the stack in x86...cpufreq/powernow-k8.c commit cb5228a6949f525dba37d4eb3ee114426fef22c9 Author: Greg Kroah-Hartman Date: Fri Dec 11 15:40:17 2009 -0800 Staging: batman: fix debug Kconfig option The debug batman option needs to depend on the correct config option. Signed-off-by: Greg Kroah-Hartman [ "No means no!" - Linus ] Signed-off-by: Linus Torvalds commit 0f4974c439dd7826c85bae4e6a8088ce2db0f498 Merge: 3126c13 36ba782 Author: Linus Torvalds Date: Fri Dec 11 15:34:40 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits) tty: split the lock up a bit further tty: Move the leader test in disassociate tty: Push the bkl down a bit in the hangup code tty: Push the lock down further into the ldisc code tty: push the BKL down into the handlers a bit tty: moxa: split open lock tty: moxa: Kill the use of lock_kernel tty: moxa: Fix modem op locking tty: moxa: Kill off the throttle method tty: moxa: Locking clean up tty: moxa: rework the locking a bit tty: moxa: Use more tty_port ops tty: isicom: fix deadlock on shutdown tty: mxser: Use the new locking rules to fix setserial properly tty: mxser: use the tty_port_open method tty: isicom: sort out the board init logic tty: isicom: switch to the new tty_port_open helper tty: tty_port: Add a kref object to the tty port tty: istallion: tty port open/close methods tty: stallion: Convert to the tty_port_open/close methods ... commit 3126c136bc30225d7a43af741778aa50e95e467a Merge: f4d544e 8e0eb40 Author: Linus Torvalds Date: Fri Dec 11 15:31:13 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits) ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks() ext3: Fix data / filesystem corruption when write fails to copy data ext4: Support for 64-bit quota format ext3: Support for vfsv1 quota format quota: Implement quota format with 64-bit space and inode limits quota: Move definition of QFMT_OCFS2 to linux/quota.h ext2: fix comment in ext2_find_entry about return values ext3: Unify log messages in ext3 ext2: clear uptodate flag on super block I/O error ext2: Unify log messages in ext2 ext3: make "norecovery" an alias for "noload" ext3: Don't update the superblock in ext3_statfs() ext3: journal all modifications in ext3_xattr_set_handle ext2: Explicitly assign values to on-disk enum of filetypes quota: Fix WARN_ON in lookup_one_len const: struct quota_format_ops ubifs: remove manual O_SYNC handling afs: remove manual O_SYNC handling kill wait_on_page_writeback_range vfs: Implement proper O_SYNC semantics ... commit f4d544ee5720d336a8c64f9fd33efb888c302309 Merge: 0e2f7b8 44a743f Author: Linus Torvalds Date: Fri Dec 11 15:30:29 2009 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: Fix error return for fallocate() on XFS xfs: cleanup dmapi macros in the umount path xfs: remove incorrect sparse annotation for xfs_iget_cache_miss xfs: kill the STATIC_INLINE macro xfs: uninline xfs_get_extsz_hint xfs: rename xfs_attr_fetch to xfs_attr_get_int xfs: simplify xfs_buf_get / xfs_buf_read interfaces xfs: remove IO_ISAIO xfs: Wrapped journal record corruption on read at recovery xfs: cleanup data end I/O handlers xfs: use WRITE_SYNC_PLUG for synchronous writeout xfs: reset the i_iolock lock class in the reclaim path xfs: I/O completion handlers must use NOFS allocations xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks xfs: simplify inode teardown commit 0e2f7b837600979d5b6f174a6ff695b85942e985 Merge: f58df54 032fec3 Author: Linus Torvalds Date: Fri Dec 11 15:25:56 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (235 commits) Staging: IIO: add selection of IIO_SW_RING to LIS3L02DQ as needed Staging: IIO: Add tsl2560-2 support to tsl2563 driver. Staging: IIO: Remove tsl2561 driver. Support merged with tsl2563. Staging: wlags49_h2: fix up signal levels + drivers-staging-wlags49_h2-remove-cvs-metadata.patch added to -mm tree Staging: samsung-laptop: add TODO file Staging: samsung-laptop: remove old kernel code Staging: add Samsung Laptop driver staging: batman-adv meshing protocol Staging: rtl8192u: depends on USB Staging: rtl8192u: remove dead code Staging: rtl8192u: remove bad whitespaces Staging: rtl8192u: make it compile Staging: Added Realtek rtl8192u driver to staging Staging: dream: add gpio and pmem support Staging: dream: add TODO file Staging: android: delete android drivers Staging: et131x: clean up the avail fields in the rx registers Staging: et131x: Clean up number fields Staging: et131x: kill RX_DMA_MAX_PKT_TIME ... commit f58df54a54451c5feb2fdc4bc2f4fb12cf79be01 Merge: 748e566 3589972 Author: Linus Torvalds Date: Fri Dec 11 15:24:56 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (27 commits) Driver core: fix race in dev_driver_string Driver Core: Early platform driver buffer sysfs: sysfs_setattr remove unnecessary permission check. sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir sysfs: Propagate renames to the vfs on demand sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish sysfs: In sysfs_chmod_file lazily propagate the mode change. sysfs: Implement sysfs_getattr & sysfs_permission sysfs: Nicely indent sysfs_symlink_inode_operations sysfs: Update s_iattr on link and unlink. sysfs: Fix locking and factor out sysfs_sd_setattr sysfs: Simplify iattr time assignments sysfs: Simplify sysfs_chmod_file semantics sysfs: Use dentry_ops instead of directly playing with the dcache sysfs: Rename sysfs_d_iput to sysfs_dentry_iput sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex debugfs: fix create mutex racy fops and private data Driver core: Don't remove kobjects in device_shutdown. firmware_class: make request_firmware_nowait more useful Driver-Core: devtmpfs - set root directory mode to 0755 ... commit 748e566b7e24541e05e3e70be311887a1262f2a1 Merge: 5f1141e acf509a Author: Linus Torvalds Date: Fri Dec 11 15:22:55 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (122 commits) USB: mos7840: add device IDs for B&B electronics devices USB: ftdi_sio: add USB device ID's for B&B Electronics line USB: musb: musb_host: fix sparse warning USB: musb: musb_gadget: fix sparse warning USB: musb: omap2430: fix sparse warning USB: core: message: fix sparse warning USB: core: hub: fix sparse warning USB: core: fix sparse warning for static function USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS USB: Check bandwidth when switching alt settings. USB: Refactor code to find alternate interface settings. USB: xhci: Fix command completion after a drop endpoint. USB: xhci: Make reverting an alt setting "unfailable". USB: usbtmc: Use usb_clear_halt() instead of custom code. USB: xhci: Add correct email and files to MAINTAINERS entry. USB: ehci-omap.c: introduce missing kfree USB: xhci-mem.c: introduce missing kfree USB: add remove_id sysfs attr for usb drivers USB: g_multi kconfig: fix depends and help text USB: option: add pid for ZTE ... commit 5f1141eb352ea79d849920039503e40dd623fffa Merge: 880188b 8c0c0cc Author: Linus Torvalds Date: Fri Dec 11 15:22:27 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: ohci: handle receive packets with a data length of zero commit 880188b2433c3af51fa006207d9b13c70d2e5938 Merge: 9764757 7f8b7ed Author: Linus Torvalds Date: Fri Dec 11 15:19:56 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: Always process the whole breakpoint list on activate or deactivate kgdb: continue and warn on signal passing from gdb kgdb,x86: do not set kgdb_single_step on x86 kgdb: allow for cpu switch when single stepping kgdb,i386: Fix corner case access to ss with NMI watch dog exception kgdb: Replace strstr() by strchr() for single-character needles kgdbts: Read buffer overflow kgdb: Read buffer overflow kgdb,x86: remove redundant test commit 36ba782e9674cdc29ec7003757df0b375e99fa96 Author: Alan Cox Date: Mon Nov 30 13:18:51 2009 +0000 tty: split the lock up a bit further The tty count sanity check may need the BKL, that isn't clear. However it is clear that the count use of the lock is internal and independant of the bigger use of the lock. Furthermore the file list locking is also separately locked already Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5ec93d1154fd1e269162398f8e70efc7e004485d Author: Alan Cox Date: Mon Nov 30 13:18:45 2009 +0000 tty: Move the leader test in disassociate There are two call points, both want to check that tty->signal->leader is set. Move the test into disassociate_ctty() as that will make locking changes easier in a bit Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 38c70b27f9502c31c1d0c29676275f7362cdb0d9 Author: Alan Cox Date: Mon Nov 30 13:18:40 2009 +0000 tty: Push the bkl down a bit in the hangup code We know that the redirect field is handled via its own locking in all places Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f18f9498e90327b9b0e245e191029e6e1996d203 Author: Alan Cox Date: Mon Nov 30 13:18:35 2009 +0000 tty: Push the lock down further into the ldisc code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit eeb89d918c2fa2b809e464136bbafdaec2aacb30 Author: Alan Cox Date: Mon Nov 30 13:18:29 2009 +0000 tty: push the BKL down into the handlers a bit Start trying to untangle the remaining BKL mess Updated to fix missing unlock_kernel noted by Dan Carpenter Signed-off-by: Alan "I must be out of my tree" Cox Signed-off-by: Greg Kroah-Hartman commit e8c62103fd5fecc8d2086bae244b32d089892175 Author: Alan Cox Date: Mon Nov 30 13:18:24 2009 +0000 tty: moxa: split open lock moxa_openlock is used for several situations where we want to handle the case of an ioctl that crosses many ports (not just the open tty), and also cases where an open races a deinit (eg a pci unplug) and we hangup a port before we can cope with that. The non open race cases can use the moxa_lock spinlock. This simplifies sorting out the remaining mess. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f710ebd7f70801e31751f2c49fe4b92a477d24eb Author: Alan Cox Date: Mon Nov 30 13:18:18 2009 +0000 tty: moxa: Kill the use of lock_kernel It isn't needed here any more Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8482bcd58530ad5857d7187854132f2b846db681 Author: Alan Cox Date: Mon Nov 30 13:18:13 2009 +0000 tty: moxa: Fix modem op locking This is overkill and mostly not needed Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f9b412a8c9adb17d50922f91962e8b1e48789430 Author: Alan Cox Date: Mon Nov 30 13:18:08 2009 +0000 tty: moxa: Kill off the throttle method The tty flag can be tested so the shadow flag isn't needed Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a808ac0c4a2c5d81ba38a2a76d4ddc1de40d1539 Author: Alan Cox Date: Mon Nov 30 13:18:02 2009 +0000 tty: moxa: Locking clean up - The open lock is needed to fix up the case of a board reset occuring during tty open but too early for a sane hangup response. - The lock can however got for other cases - Use the port mutex for get/setserial - Fix up the confused lack of locking on the THROTTLE and other bits in the private flags. Just use set/test/clear bit and it covers the cases we need Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f5c5a36d27ae6d9e03c2f1b7890942bf84e92c5b Author: Alan Cox Date: Mon Nov 30 13:17:57 2009 +0000 tty: moxa: rework the locking a bit Introduce a lock for moxafunc() to protect the cases where were get collisions between two function requests at the same time. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f176178ba09d27cc33988435e2c9fe078b44998c Author: Alan Cox Date: Mon Nov 30 13:17:51 2009 +0000 tty: moxa: Use more tty_port ops Rework a few bits of this into tty_port format Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2493c0c166565e36831196446af594eb07892daf Author: Alan Cox Date: Mon Nov 30 13:17:46 2009 +0000 tty: isicom: fix deadlock on shutdown Alexander Strakh reported KERNEL_VERSION: 2.6.31 DESCRIBE: Driver drivers/char/isicom.c might sleep in atomic context, because it calls tty_port_xmit_buf under spin_lock. ./drivers/char/isicom.c: 1307 static void isicom_hangup(struct tty_struct *tty) 1308 { ... 1315 spin_lock_irqsave(&port->card->card_lock, flags); 1316 isicom_shutdown_port(port); ... Path to might_sleep macro from isicom_hangup: 1. isicom_hangup calls spin_lock_irqsave (drivers/char/isicom.c:1315) and then calls isicom_shutdown_port. 2. isiscom_shutdown_port calls tty_port_free_xmit_buf at drivers/char/isicom.c:906 3. tty_port_free_xmit_buf calls mutex_lock at drivers/char/tty_port:48 Found by Linux Driver Verification Project. Reported-by: Alexander Strakh Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 07f86c03fec711692121bf7f5316e0b3426acc05 Author: Alan Cox Date: Mon Nov 30 13:17:41 2009 +0000 tty: mxser: Use the new locking rules to fix setserial properly Propogate the init/shutdown mutex through the setserial logic. Use the proper locks for the various bits still using the BKL. Kill the BKL in this driver. Updated to fix the bug noted by Dan Carpenter Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6769140d304731f0a3b177470a2adb4bacd9036b Author: Alan Cox Date: Mon Nov 30 13:17:35 2009 +0000 tty: mxser: use the tty_port_open method At first this looks a fairly trivial conversion but we can't quite push everything into the right format yet. The open side is easy but care is needed over the setserial methods. Fix up the locking now that we've adopted the port->mutex locking rule for the initialization. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6ed847d8efd08658ece10c9129cd511c8d7452cd Author: Alan Cox Date: Mon Nov 30 13:17:30 2009 +0000 tty: isicom: sort out the board init logic Split this into two flags - INIT meaning the board is set up and ACTIVE meaning the board has ports open. Remove the broken HUPCL casing and push the counts somewhere sensible. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit baaa08acb0ca2df47830b58b5df8b9059cf9ddd2 Author: Alan Cox Date: Mon Nov 30 13:17:24 2009 +0000 tty: isicom: switch to the new tty_port_open helper Trivial conversion in this case so might as well do it while testing the port_open design is right Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 568aafc627e2978509e8a80c640ba534d1e843cc Author: Alan Cox Date: Mon Nov 30 13:17:14 2009 +0000 tty: tty_port: Add a kref object to the tty port Users of tty port need a way to refcount ports when hotplugging is involved. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 338818fd802a6baacb7e5b6910d52c8996ca6d28 Author: Alan Cox Date: Mon Nov 30 13:17:08 2009 +0000 tty: istallion: tty port open/close methods Slice/dice/repeat as with the stallion driver this is just code shuffling and removal Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 047e9658ae3f67708f7dcb0169c97febce23c5d3 Author: Alan Cox Date: Mon Nov 30 13:17:03 2009 +0000 tty: stallion: Convert to the tty_port_open/close methods The driver is already structured this way so just slice and dice Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a9a37ec33a1b3e66b260ac1c29bff0aec8b89ae4 Author: Alan Cox Date: Mon Nov 30 13:16:57 2009 +0000 tty: tty_port: Move the IO_ERROR clear Some devices want to set IO_ERROR in their activate methods so that you can be handed a 'dead' port for operations like setserial. Thus we need to clear the flag before activate so that activate can choose to set the flag and still return 0. This is fine as the file handle/tty are not accessible to the user yet. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d74e8286885ac9f3ccc5e2dc2301f21bbec90f7b Author: Alan Cox Date: Mon Nov 30 13:16:52 2009 +0000 tty: tty_port: Add IO_ERROR bit handling To propogate tty_port_open/close to a few other devices we need to start handling the IO_ERROR flag on the tty. We can do this pretty trivially. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8f1e672344c39465b58cf3ffcf348afb2539ced9 Author: Alan Cox Date: Mon Nov 30 13:16:47 2009 +0000 tty: riscom8: switch to the tty_port_open API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 44e4909e453eaa09c7de409fc9ee4ebefd986c1c Author: Alan Cox Date: Mon Nov 30 13:16:41 2009 +0000 tty: tty_port: Change the buffer allocator locking We want to be able to do this without regard for the activate/own open method being used which causes a problem using port->mutex. Add another mutex for now. Once everything uses port_open to do buffer allocs we can kill it back off Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1f100b323d19469b06a63ccd6130ed71760145cc Author: Alan Cox Date: Mon Nov 30 13:16:30 2009 +0000 tty: sdio_uart: Fix the locking on "func" for new code The new dtr_rts function didn't take the port->func lock as it should so add use of the lock there. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4b3b49bb77eddb540e7c69e2129f5334cf713bf8 Author: Alan Cox Date: Mon Nov 30 13:16:36 2009 +0000 tty: sdio_uart: add modem functionality Add the POSIX block for carrier Linux TIOCMIWAIT functionality is still lacking from the driver. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c271cf37ba17631e371c97e2e8c8c353a83793e2 Author: Alan Cox Date: Mon Nov 30 13:16:25 2009 +0000 tty: sdio_uart: Style fixes Running the current code through checkpatch shows a few bits of noise mostly but not entirely from before the changes. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6238e712aff51ae74177cee5b2a63c0e37044e8f Author: Alan Cox Date: Mon Nov 30 13:16:14 2009 +0000 tty: sdio_uart: Fix termios handling Switching between two non standard baud rates fails because of the cflag test. Do as we did elsewhere and just kill the "optimisation". Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 584abc3775e76c1a2abe725355915851ed23ed6c Author: Alan Cox Date: Mon Nov 30 13:16:09 2009 +0000 tty: sdio_uart: Switch to the open/close helpers Gets us proper tty semantics, removes some code and fixes up a few corner case races (hangup during open etc) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0a68f64febf365313987c570ad59c9069f61306d Author: Alan Cox Date: Thu Nov 5 13:28:38 2009 +0000 sdio_uart: Move the open lock When we move to the tty_port logic the port mutex will protect open v close v hangup. Move to this first in the existing open code so we have a bisection point. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 530646f4695b396aeeec2ca912dcc3a9c95e0f52 Author: Alan Cox Date: Thu Nov 5 13:28:29 2009 +0000 sdio_uart: refcount the tty objects The tty can go away underneath us, so we must refcount it. Do the naïve implementation initially. We will worry about startup shortly. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0395b48c78ed822f251ab15d0fbc3ce06f41ffb1 Author: Nicolas Pitre Date: Thu Nov 5 13:28:17 2009 +0000 sdio_uart: Fix oops caused by the previous changeset Now... testing reveals that the very first patch "sdio_uart: use tty_port" causes a segmentation fault in sdio_uart_open(): Unable to handle kernel NULL pointer dereference at virtual address 00000084 pgd = dfb44000 [00000084] *pgd=1fb99031, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] PREEMPT last sysfs file: /sys/devices/platform/mvsdio/mmc_host/mmc0/mmc0:f111/uevent Modules linked in: CPU: 0 Not tainted (2.6.32-rc5-next-20091102-00001-gb36eae9 #10) PC is at sdio_uart_open+0x204/0x2cc [...] Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b5849b1a82853171ce8a35220204f17ec282a9a8 Author: Alan Cox Date: Thu Nov 5 13:28:06 2009 +0000 sdio_uart: use tty_port Add a tty_port object to the sdio uart. For the moment just begin using the tty field of the port, as this is the critical one to clean up. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e707c35cbbe83a016cf0122a29e3a47b5a9e35c4 Author: Alan Cox Date: Thu Nov 5 13:27:57 2009 +0000 tty_port: Move hupcl handling Move the HUCPL handling from the end of close_port_start to the beginning of close_port_end. What this actually does is change the ordering from port shutdown port->dtr_rts to port->dtr_rts port shutdown Some hardware drops the physical connection on shutdown so we must perform the port operations before the shutdown. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit edfacdd6f81119b9005615593f2cbd94b8c7e2d8 Author: Sukadev Bhattiprolu Date: Tue Nov 17 18:35:43 2009 -0800 devpts_get_tty() should validate inode devpts_get_tty() assumes that the inode passed in is associated with a valid pty. But if the only reference to the pty is via a bind-mount, the inode passed to devpts_get_tty() while valid, would refer to a pty that no longer exists. With a lot of debug effort, Grzegorz Nosek developed a small program (see below) to reproduce a crash on recent kernels. This crash is a regression introduced by the commit: commit 527b3e4773628b30d03323a2cb5fb0d84441990f Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:43:08 2008 +0100 To fix, ensure that the dentry associated with the inode has not yet been deleted/unhashed by devpts_pty_kill(). See also: https://lists.linux-foundation.org/pipermail/containers/2009-July/019273.html tty-bug.c: #define _GNU_SOURCE #include #include #include #include #include #include #include #include void dummy(int sig) { } static int child(void *unused) { int fd; signal(SIGINT, dummy); signal(SIGHUP, dummy); pause(); /* cheesy synchronisation to wait for /dev/pts/0 to appear */ mount("/dev/pts/0", "/dev/console", NULL, MS_BIND, NULL); sleep(2); fd = open("/dev/console", O_RDWR); dup(0); dup(0); write(1, "Hello world!\n", sizeof("Hello world!\n")-1); return 0; } int main(void) { pid_t pid; char *stack; stack = malloc(16384); pid = clone(child, stack+16384, CLONE_NEWNS|SIGCHLD, NULL); open("/dev/ptmx", O_RDWR|O_NOCTTY|O_NONBLOCK); unlockpt(fd); grantpt(fd); sleep(2); kill(pid, SIGHUP); sleep(1); return 0; /* exit before child opens /dev/console */ } Reported-by: Grzegorz Nosek Signed-off-by: Sukadev Bhattiprolu Tested-by: Serge Hallyn Cc: stable Signed-off-by: Greg Kroah-Hartman commit 68cb4f8e246bbbc649980be0628cae9265870a91 Author: Ian Jackson Date: Wed Nov 18 11:08:11 2009 +0100 Serial: Do not read IIR in serial8250_start_tx when UART_BUG_TXEN Do not read IIR in serial8250_start_tx when UART_BUG_TXEN Reading the IIR clears some oustanding interrupts so it is not safe. Instead, simply transmit immediately if the buffer is empty without regard to IIR. Signed-off-by: Ian Jackson Reviewed-by: Markus Armbruster Reviewed-by: Jiri Kosina Cc: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7e11a0fb3b7ab83871b7a56c7a67c603283ec4b9 Author: Tilman Schmidt Date: Wed Nov 4 16:04:52 2009 -0800 tty: docs: serial/tty, add to ldisc methods A small addition to the ldisc method descriptions. Signed-off-by: Tilman Schmidt Signed-off-by: Randy Dunlap Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c934878cc09fdd4a06ffa554c5149b11d972456f Author: Uwe Kleine-König Date: Fri Nov 6 21:40:46 2009 +0100 Serial: pxa: work around Errata #75 Intel(R) PXA27x Processor Family Specification Update (Nov 2005) says: E75. UART: Baud rate may not be programmed correctly on back-to-back writes. Problem: When programming the Divisor Latch registers, Low and High (DLL and DLH), with back-to-back writes, the second register write may not take effect. The result is an incorrect baud rate. Workaround: After programming the first Divisor Latch register, read and verify it before programming the second Divisor Latch register. This was hit when changing the baud rate from 115200 to 9600 while receiving characters at 9600 Bd. And fixed indention of some comments nearby. Signed-off-by: Uwe Kleine-König Acked-by: Wolfram Sang Acked-by: Marc Kleine-Budde Cc: Eric Miao Cc: Alan Cox Cc: Mike Rapoport Signed-off-by: Greg Kroah-Hartman commit 4c0ebb8057bc335d345c8e205a3e6fd1320be21e Author: André Goddard Rosa Date: Sun Oct 25 12:01:34 2009 -0200 serial, 8250: calculate irqflags bitmask before loop Signed-off-by: André Goddard Rosa Signed-off-by: Greg Kroah-Hartman commit 82cb7ba10deafe17686bf22ce4a7a303a77a197f Author: André Goddard Rosa Date: Sun Oct 25 11:18:26 2009 -0200 serial: cascade needless conditionals Signed-off-by: André Goddard Rosa Signed-off-by: Greg Kroah-Hartman commit 9e845abfc8a8973373821aa05302794fd254514b Author: André Goddard Rosa Date: Sun Oct 25 11:16:32 2009 -0200 serial: fix NULL pointer dereference If kzalloc() or alloc_tty_driver() fails, we call: put_tty_driver(normal = NULL). Then: put_tty_driver -> tty_driver_kref_put -> kref_put(&NULL->kref, ...) Signed-off-by: André Goddard Rosa Signed-off-by: Greg Kroah-Hartman commit 2a0785ea375fe93cd480599bb40d0c837ff72a2e Author: Alan Cox Date: Tue Oct 6 16:06:57 2009 +0100 opticon: Fix resume logic Opticon now takes the right mutex to check the port status but the status check is done wrongly for the modern serial code, so fix it. Signed-off-by: Alan Cox Cc: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 82fc5943430e3cbf15033ed4186a73f90906345d Author: Alan Cox Date: Tue Oct 6 16:06:46 2009 +0100 usb_serial: Kill port mutex The tty port has a port mutex used for all the port related locking so we don't need the one in the USB serial layer any more. Signed-off-by: Alan Cox Cc: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e1108a63e10d344284011cccc06328b2cd3e5da3 Author: Alan Cox Date: Tue Oct 6 16:06:36 2009 +0100 usb_serial: Use the shutdown() operation As Alan Stern pointed out - now we have tty_port_open the shutdown method and locking allow us to whack the other bits into the full helper methods and provide a shutdown op which the tty port code will synchronize with setup for us. Signed-off-by: Alan Cox Cc: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d774a56d2353933cf21cc92a9d0012c7b69d09bf Author: Alan Cox Date: Tue Oct 6 16:06:21 2009 +0100 tty_port: coding style cleaning pass Mind the hoover wire... Signed-off-by: Alan Cox Cc: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 64bc397914265a9ead8d73b63bb31ab3bdd25f67 Author: Alan Cox Date: Tue Oct 6 16:06:11 2009 +0100 tty_port: add "tty_port_open" helper For the moment this just moves the USB logic over and fixes the 'what if we open and hangup at the same time' race noticed by Oliver Neukum. Signed-off-by: Alan Cox Cc: Alan Stern Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 894cb91770f7794f1a17db4df2d83999b197da24 Author: Alan Cox Date: Tue Oct 13 16:34:15 2009 +0100 tty: stallion: kill BKL ioctl Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 626875381e9ef7fde0717841edcb532033e1c7c9 Author: Alan Cox Date: Tue Oct 13 16:34:06 2009 +0100 tty: istallion: Kill off the BKL ioctl Fairly trivial as the BKL push down into the methods has already been done. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f53a2ade0bb9f2a81f473e6469155172a96b7c38 Author: Alan Cox Date: Fri Oct 9 12:56:41 2009 +0100 tty: esp: remove broken driver The ESP driver has been marked broken for years. It's an old ISA device that clearly nobody cares about any more. Remove it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1cceefd3a28e54c0777fe544e1fd32253b2a1de5 Author: Alexey Dobriyan Date: Sat Oct 3 00:12:06 2009 +0400 tty: const: constify remaining tty_operations Signed-off-by: Alexey Dobriyan Signed-off-by: Greg Kroah-Hartman commit e6bdf24cf2992e1775fc095ed021f6b886707c41 Author: Breno Leitao Date: Wed Oct 14 14:57:51 2009 -0300 jsm: adding EEH handlers Adding EEH handlers for the serial jsm driver. This patch adds the PCI error handlers and also register them to be called when a error is detected. Signed-off-by: Breno Leitao Acked-by: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit f9d1dff276c40157638415cdddf6a051869e8d92 Author: Breno Leitão Date: Tue Sep 29 15:16:59 2009 -0300 jsm: removing the field jsm_board->intr_count Currently there is a field in the jsm_board structure to cont the number of interrupt that the card recevived, but it's not working properly when the IRQ line is shared, and also nowhere else this field is used. So, This patch is removing it. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit a44829dd8bcd5335f0498275bb63f1028b32f141 Author: Breno Leitão Date: Tue Sep 29 15:16:58 2009 -0300 jsm: Removing unused jsm_channel->ch_wopen field Currently the jsm_channel->ch_wopen field is defined and never used. So, this patch removes it. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit 2fd107c01567673c85f724a24d56614478d40f89 Author: Breno Leitão Date: Tue Sep 29 15:16:57 2009 -0300 jsm: Remove ch_cpstime field Currently the field jsm_channel->ch_cpstime is defined but never used, so this patch removes it. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit cead486f407bbf152feccfe3734dd3966f9ff166 Author: Breno Leitão Date: Tue Sep 29 15:16:56 2009 -0300 jsm: removing ch_old_baud field Currently the field jsm_channel->ch_old_baud is not used, just assigned in a lot of places but never used. This patches removes this field. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit a53568a22adf6881183096d0863b0ff301173cbd Author: Breno Leitão Date: Tue Sep 29 15:16:55 2009 -0300 jsm: remove the ch_custom_speed field Currently the ch_custom_speed field exists but is never used, so, this patch removes it. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Greg Kroah-Hartman commit 354aaf964ed1ae45c175aa496526bae4662c4452 Author: Breno Leitão Date: Thu Sep 24 16:58:23 2009 -0300 jsm: Rewriting a bad log message Actually jsm displays "Device Added" 8 times (for a 8 port device). This silly patch just makes things more informative, showing the port (instead of the device) that was added. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a88a477f1df703f0e2a7592e19618799cb598623 Author: Breno Leitão Date: Thu Sep 24 16:58:22 2009 -0300 jsm: IRQ handlers doesn't need to have IRQ_DISABLED enabled Currently jsm is showing the following message when loaded: IRQ 432/JSM: IRQF_DISABLED is not guaranteed on shared IRQs It's because the request_irq() is called using IRQF_DISABLED and IRQF_SHARED. Actually there is no need to use IRQF_DISABLED in this driver. Signed-off-by: Breno Leitão Cc: Scott Kilau Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d8a944582da1a4d29a1487ff7f435643505a12a0 Author: Paul Walmsley Date: Tue Dec 8 16:21:29 2009 -0700 OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* The OMAP2 clock code currently #includes a large .h file full of static data structures. Instead, define the data in a .c file. Russell King proposed this new arrangement: http://marc.info/?l=linux-omap&m=125967425908895&w=2 This patch also deals with most of the flagrant checkpatch violations. While here, separate the prcm_config data structures out into their own files, opp2xxx.h and opp24{2,3}0_data.c, and only build in the OPP tables for the target device. This should save some memory. In the long run, these prcm_config tables should be replaced with OPP code. Signed-off-by: Paul Walmsley Cc: Russell King Cc: Richard Woodruff Cc: Nishanth Menon commit 82e9bd588563c4e22ebb55b684ebec7e310cc715 Author: Paul Walmsley Date: Tue Dec 8 16:18:47 2009 -0700 OMAP3 clock: convert clock34xx.h to clock34xx_data.c The OMAP3 clock code currently #includes a large .h file full of static data structures. Instead, define the data in a .c file. Russell King proposed this new arrangement: http://marc.info/?l=linux-omap&m=125967425908895&w=2 Signed-off-by: Paul Walmsley Cc: Russell King commit 75d43340113e3822e390f644e8b197737e4c553e Author: Paul Walmsley Date: Tue Dec 8 16:18:47 2009 -0700 OMAP2xxx clock: remove implicit dependency between rate CPU flag and clkdev_omap CPU flag cpu_mask is reused in the OMAP2xxx clock code to match against both the CPU-specific rate flags (e.g., RATE_IN_2420) and the OMAP clkdev integration code CPU flags (e.g., CK_242X). This means that any patch that renumbers the CK_* macros, as the next patch does, will probably break. This patch separates the clkdev_omap and clksel_rate CPU type detection flags so the CK_* macros can be renumbered freely. Signed-off-by: Paul Walmsley commit 55d8a65308a5099155683c5a9bba3b8577988111 Author: Paul Walmsley Date: Tue Dec 8 16:18:47 2009 -0700 OMAP2/3: move SDRC macros to mach-omap2/sdrc.h clock34xx.c contains some macros which probably belong in mach-omap2/sdrc.h. Move those macros to mach-omap2/sdrc.h. Signed-off-by: Paul Walmsley commit 06b16939a3d58aa128fee22b9aaf7dbc9a5b7c1c Author: Paul Walmsley Date: Tue Dec 8 16:18:46 2009 -0700 OMAP2 clock: APLL code shouldn't rely on static clocks in its local namespace Similar to the previous patch, the APLL code relied on the presence of the static struct clks in its own namespace. The APLL code didn't use them for validation, however - it adjusted its own internal state depending on the struct clk * that called it. Now that static struct clks are leaving the clock24xx.c namespace, use a more durable method: split the omap2_clk_fixed_enable() function into omap2_clk_apll96_enable() and omap2_clk_apll54_enable(). They still share a disable function. Signed-off-by: Paul Walmsley commit ebd893ded2733b8bd9ba403ee4a9e6ab6fbc2a54 Author: Paul Walmsley Date: Tue Dec 8 16:18:44 2009 -0700 OMAP1/2/3 clock: remove paranoid checks in preparation for clock{,2xxx,3xxx}_data.c Some parts of the clock code took advantage of the fact that the statically allocated clock tree was in clock{,24xx,34xx}.c's local namespace to do some extra argument checks. These are overzealous and are more difficult to maintain when the clock tree is in a separate namespace, so, remove them. Signed-off-by: Paul Walmsley commit e93737b0f0159a61772894943199fd3b6f315641 Author: Krishna Kumar Date: Tue Dec 8 22:26:02 2009 +0000 net: Handle NETREG_UNINITIALIZED devices correctly Fix two problems: 1. If unregister_netdevice_many() is called with both registered and unregistered devices, rollback_registered_many() bails out when it reaches the first unregistered device. The processing of the prior registered devices is unfinished, and the remaining devices are skipped, and possible registered netdev's are leaked/unregistered. 2. System hangs or panics depending on how the devices are passed, since when netdev_run_todo() runs, some devices were not fully processed. Tested by passing intermingled unregistered and registered vlan devices to unregister_netdevice_many() as follows: 1. dev, fake_dev1, fake_dev2: hangs in run_todo ("unregister_netdevice: waiting for eth1.100 to become free. Usage count = 1") 2. fake_dev1, dev, fake_dev2: failure during de-registration and next registration, followed by a vlan driver Oops during subsequent registration. Confirmed that the patch fixes both cases. Signed-off-by: Krishna Kumar Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit bbb84619c378414118fd4f1778125cd246c71e53 Author: Barry Song <21cnbao@gmail.com> Date: Thu Dec 10 23:46:28 2009 +0000 can: add the driver for Analog Devices Blackfin on-chip CAN controllers Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: H.J. Oertel Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit c20a66f474e890dd8cc34e124632cd85e4165899 Author: Martin Willi Date: Wed Dec 9 06:11:15 2009 +0000 xfrm: Fix truncation length of authentication algorithms installed via PF_KEY Commit 4447bb33f09444920a8f1d89e1540137429351b6 ("xfrm: Store aalg in xfrm_state with a user specified truncation length") breaks installation of authentication algorithms via PF_KEY, as the state specific truncation length is not installed with the algorithms default truncation length. This patch initializes state properly to the default if installed via PF_KEY. Signed-off-by: Martin Willi Acked-by: Herbert Xu Signed-off-by: David S. Miller commit de039f02d877af52b8d0fe77878b8343a0f99d8b Author: Heiko Carstens Date: Wed Dec 9 20:59:15 2009 +0000 net: use compat helper functions in compat_sys_recvmmsg Use (get|put)_compat_timespec helper functions to simplify the code. Cc: Arnaldo Carvalho de Melo Signed-off-by: Heiko Carstens Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 60c2ffd3d2cf12008747d920ae118df119006003 Author: Heiko Carstens Date: Wed Dec 9 20:58:16 2009 +0000 net: fix compat_sys_recvmmsg parameter type compat_sys_recvmmsg has a compat_timespec parameter and not a timespec parameter. This way we also get rid of an odd cast. Cc: Arnaldo Carvalho de Melo Signed-off-by: Heiko Carstens Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ccdddf500f2b1b8e88ac8e3d4dfc15cce9f73886 Author: Breno Leitao Date: Thu Dec 10 09:03:37 2009 +0000 cxgb3: Fixing EEH handlers After commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear saved_state after the state has been restored"), the EEH is not working proplery on cxgb3. This patch fixes it, always saving the PCI state after a recovery, in order to allow further reoveries. Signed-off-by: Breno Leitao Signed-off-by: David S. Miller commit 4e9c4fd3e7e022c7a5b8bb7cd06bf914b202cfea Author: Michael Chan Date: Thu Dec 10 15:40:58 2009 +0000 cnic: Zero out status block and Event Queue indices. To prevent stale indices from causing spurious events when restarting the bnx2x devices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1bcdc32cf4d94442eba79599ce8438ea0b8f78b5 Author: Michael Chan Date: Thu Dec 10 15:40:57 2009 +0000 cnic: Send delete command when shutting down iSCSI ring. This step is necessary on the bnx2x devices when restarting the iSCSI ring. Without it, the firmware can assert and cause bnx2x to report errors. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5fc3441349936ea6f1f95a1ef17492223c76a695 Author: Paul Mundt Date: Thu Dec 10 20:42:27 2009 +0000 net: smc91x: Fix up type mismatch in smc_drv_resume(). smc_drv_resume() takes a struct device, while smc_enable_device() takes a platform device. This fixes up the smc_enable_device() callsite with the proper pointer. It's not obvious when this change was introduced, as git history doesn't go back that far. Presumably the resume code has always been broken in this fashion. Signed-off-by: Paul Mundt Signed-off-by: David S. Miller commit fd0775bfc9feb036e6efb669133d644ae29e12b8 Author: Mike Frysinger Date: Wed Dec 9 03:40:04 2009 +0000 smc91x: fix unused flags warnings on UP systems Local flags variables will be declared whenever these functions get used, but obviously on UP systems the flags parameter won't be touched. So add some dummy ops that get optimized away anyways to satisfy gcc's warnings. Signed-off-by: Mike Frysinger Acked-by: Nicolas Pitre Signed-off-by: David S. Miller commit f0348d44a0af14b00c6cfef02aa7478eb19663ff Author: Oliver Neukum Date: Fri Dec 11 15:01:26 2009 -0800 MAINTAINERS: Transfering maintainership of cdc-ether Oliver Neukum takes over from Greg KH Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit d66f0b20b2f8eac365fadf5ca492efe4ba539446 Author: Takashi Iwai Date: Thu Dec 3 05:12:02 2009 +0000 net: Add missing TST_CFG_WRITE bits around sky2_pci_write Add missing TST_CFG_WRITE bits around sky2_pci_write*() in Optima setup routines. Without the cfg-write bits, the driver may spew endless link-up messages through qlink irq. Signed-off-by: Takashi Iwai Signed-off-by: David S. Miller commit b338682dc5c20e8ff986e58407bdb6e3a3e3f0a3 Author: Takashi Iwai Date: Thu Dec 3 05:12:01 2009 +0000 net: Fix Yukon-2 Optima TCP offload setup Fix the TCP offload setup for Yukon-2 Optima. It requires SKY2_HW_NE_LE flag unlike Ultra 2. Signed-off-by: Takashi Iwai Signed-off-by: David S. Miller commit 9764757932ce26f139332f89d1d3b815e4cc56ab Merge: 9148bce 6ee7386 Author: Linus Torvalds Date: Fri Dec 11 14:32:49 2009 -0800 Merge branch 'drm-nouveau-pony' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-nouveau-pony' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/nouveau: Add DRM driver for NVIDIA GPUs commit 9148bce4a7d7b532e49a3bc546f1703a58dfad45 Merge: aad3bf0 d1ede14 Author: Linus Torvalds Date: Fri Dec 11 14:32:30 2009 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ttm: export some functions useful to drivers using ttm drm/radeon/kms/avivo: fix typo in new_pll module description drm/radeon/kms: Convert radeon to new ttm_bo_init drm/ttm: Convert ttm_buffer_object_init to use ttm_placement commit ba2dca91f000e4796c23d14834680dd90528842f Merge: c557c15 65182b9 Author: David S. Miller Date: Fri Dec 11 14:19:31 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 44a743f68705c681439f264deb05f8f38e9048d3 Author: Jason Gunthorpe Date: Tue Nov 24 21:52:53 2009 +0000 xfs: Fix error return for fallocate() on XFS Noticed that through glibc fallocate would return 28 rather than -1 and errno = 28 for ENOSPC. The xfs routines uses XFS_ERROR format positive return error codes while the syscalls use negative return codes. Fixup the two cases in xfs_vn_fallocate syscall to convert to negative. Signed-off-by: Jason Gunthorpe Reviewed-by: Eric Sandeen Signed-off-by: Alex Elder commit 30ac0683dd452ba273c8db92a74d8cf7aef981d8 Author: Christoph Hellwig Date: Sat Nov 14 16:17:24 2009 +0000 xfs: cleanup dmapi macros in the umount path Stop the flag saving as we never mangle those in the unmount path, and hide all the weird arguents to the dmapi code inside the XFS_SEND_PREUNMOUNT / XFS_SEND_UNMOUNT macros. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 0c3dc2b02a4996c13e26eb91296e8a309e0c6227 Author: Christoph Hellwig Date: Sat Nov 14 16:17:23 2009 +0000 xfs: remove incorrect sparse annotation for xfs_iget_cache_miss xfs_iget_cache_miss does not get called with the pag_ici_lock held, so the __releases annotation is incorrect. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit b8f82a4a6fc79fcb4b2eb81252020e04c9b49da5 Author: Christoph Hellwig Date: Sat Nov 14 16:17:22 2009 +0000 xfs: kill the STATIC_INLINE macro Remove our own STATIC_INLINE macro. For small function inside implementation files just use STATIC and let gcc inline it, and for those in headers do the normal static inline - they are all small enough to be inlined for debug builds, too. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 5683f53e36235234f7861909fdff878ff1f1bb20 Author: Christoph Hellwig Date: Sat Nov 14 16:17:21 2009 +0000 xfs: uninline xfs_get_extsz_hint This function is too large to efficiently be inlined. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit e82fa0c7ca29b805388aa51d3cad2cb7a4df3084 Author: Christoph Hellwig Date: Sat Nov 14 16:17:20 2009 +0000 xfs: rename xfs_attr_fetch to xfs_attr_get_int Using a totally different name for the low-level get operation does not fit the _int convention used in the rest of the attr code, so rename it. While we're at it also fix the prototype to use the normal convention and mark it static as it's never used outside of xfs_attr.c. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Reviewed-by: Eric Sandeen Signed-off-by: Alex Elder commit 6ad112bfb5af537e9e3103c807748bb4a99bbd9e Author: Christoph Hellwig Date: Tue Nov 24 18:02:23 2009 +0000 xfs: simplify xfs_buf_get / xfs_buf_read interfaces Currently the low-level buffer cache interfaces are highly confusing as we have a _flags variant of each that does actually respect the flags, and one without _flags which has a flags argument that gets ignored and overriden with a default set. Given that very few places use the default arguments get rid of the duplication and convert all callers to pass the flags explicitly. Also remove the now confusing _flags postfix. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit c355c656fede21f6e967816a603905f0ad6a7311 Author: Christoph Hellwig Date: Sat Nov 14 16:17:18 2009 +0000 xfs: remove IO_ISAIO We set the IO_ISAIO flag for all read/write I/O since early Linux 2.6.x. Remove it as it has lost it's purpose long ago. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Reviewed-by: Eric Sandeen Signed-off-by: Alex Elder commit fc5bc4c85c45f0bf854404e5736aa8b65720a18d Author: Andy Poling Date: Tue Nov 3 17:26:47 2009 +0000 xfs: Wrapped journal record corruption on read at recovery Summary of problem: If a journal record wraps at the physical end of the journal, it has to be read in two parts in xlog_do_recovery_pass(): a read at the physical end and a read at the physical beginning. If xlog_bread() has to re-align the first read, the second read request does not take that re-alignment into account. If the first read was re-aligned, the second read over-writes the end of the data from the first read, effectively corrupting it. This can happen either when reading the record header or reading the record data. The first sanity check in xlog_recover_process_data() is to check for a valid clientid, so that is the error reported. Summary of fix: If there was a first read at the physical end, XFS_BUF_PTR() returns where the data was requested to begin. Conversely, because it is the result of xlog_align(), offset indicates where the requested data for the first read actually begins - whether or not xlog_bread() has re-aligned it. Using offset as the base for the calculation of where to place the second read data ensures that it will be correctly placed immediately following the data from the first read instead of sometimes over-writing the end of it. The attached patch has resolved the reported problem of occasional inability to recover the journal (reporting "bad clientid"). Signed-off-by: Andy Poling Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 5ec4fabb02fcb5b4a4154a27e4299af5aa0f87ac Author: Christoph Hellwig Date: Fri Oct 30 09:11:47 2009 +0000 xfs: cleanup data end I/O handlers Currently we have different end I/O handlers for read vs the different types of write I/O. But they are all very similar so we could just use one with a few conditionals and reduce code size a lot. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 06342cf8adb23464deae0f58f8bcb87818a3bee6 Author: Christoph Hellwig Date: Fri Oct 30 09:09:15 2009 +0000 xfs: use WRITE_SYNC_PLUG for synchronous writeout The VM and I/O schedulers now expect us to use WRITE_SYNC_PLUG for synchronous writeout. Right now I can't see any changes in performance numbers with this, but we're getting some beating for not using it, and the knowledge definitely could help the block code to make better decisions. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 033da48fda9d56e28b3fe3ef87ef6fd43290f554 Author: Christoph Hellwig Date: Mon Oct 19 04:05:26 2009 +0000 xfs: reset the i_iolock lock class in the reclaim path The iolock is used for protecting reads, writes and block truncates against each other. We have two classes of callers, the first one is induced by a file operation and requires a reference to the inode be held and not dropped after the operation is done: - xfs_vm_vmap, xfs_vn_fallocate, xfs_read, xfs_write, xfs_splice_read, xfs_splice_write and xfs_setattr are all implementations of VFS methods that require a live inode - xfs_getbmap and xfs_swap_extents are ioctl subcommand for which the same is true - xfs_truncate_file is only called on quota inodes just returned from xfs_iget - xfs_sync_inode_data does the lock just after an igrab() - xfs_filestream_associate and xfs_filestream_new_ag take the iolock on the parent inode of an inode which by VFS rules must be referenced And we have various calls to truncate blocks past EOF or the whole file when dropping the last reference to an inode. Unfortunately lockdep complains when we do memory allocations that can recurse into the filesystem in the first class because the second class happens to take the same lock. To avoid this re-init the iolock in the beginning of xfs_fs_clear_inode to get a new lock class. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 80641dc66a2d6dfb22af4413227a92b8ab84c7bb Author: Christoph Hellwig Date: Mon Oct 19 04:00:03 2009 +0000 xfs: I/O completion handlers must use NOFS allocations When completing I/O requests we must not allow the memory allocator to recurse into the filesystem, as we might deadlock on waiting for the I/O completion otherwise. The only thing currently allocating normal GFP_KERNEL memory is the allocation of the transaction structure for the unwritten extent conversion. Add a memflags argument to _xfs_trans_alloc to allow controlling the allocator behaviour. Signed-off-by: Christoph Hellwig Reported-by: Thomas Neumann Tested-by: Thomas Neumann Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit c56c9631cbe88f08854a56ff9776c1f310916830 Author: Christoph Hellwig Date: Mon Oct 19 04:03:46 2009 +0000 xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks When xfs_free_eofblocks is called from ->release the VM might already hold the mmap_sem, but in the write path we take the iolock before taking the mmap_sem in the generic write code. Switch xfs_free_eofblocks to only trylock the iolock if called from ->release and skip trimming the prellocated blocks in that case. We'll still free them later on the final iput. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 848ce8f731aed0a2d4ab5884a4f6664af73d2dd0 Author: Christoph Hellwig Date: Tue Sep 29 13:48:56 2009 +0000 xfs: simplify inode teardown Currently the reclaim code for the case where we don't reclaim the final reclaim is overly complicated. We know that the inode is clean but instead of just directly reclaiming the clean inode we go through the whole process of marking the inode reclaimable just to directly reclaim it from the calling context. Besides being overly complicated this introduces a race where iget could recycle an inode between marked reclaimable and actually being reclaimed leading to panics. This patch gets rid of the existing reclaim path, and replaces it with a simple call to xfs_ireclaim if the inode was clean. While we're at it we also use the slightly more lax xfs_inode_clean check we'd use later to determine if we need to flush the inode here. Finally get rid of xfs_reclaim function and place the remaining small bits of reclaim code directly into xfs_fs_destroy_inode. Signed-off-by: Christoph Hellwig Reported-by: Patrick Schreurs Reported-by: Tommy van Leeuwen Tested-by: Patrick Schreurs Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 8c0c0cc2d9f4c523fde04bdfe41e4380dec8ee54 Author: Jay Fenlason Date: Fri Dec 11 14:23:58 2009 -0500 firewire: ohci: handle receive packets with a data length of zero Queueing to receive an ISO packet with a payload length of zero silently does nothing in dualbuffer mode, and crashes the kernel in packet-per-buffer mode. Return an error in dualbuffer mode, because the DMA controller won't let us do what we want, and work correctly in packet-per-buffer mode. Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter Cc: stable@kernel.org commit aad3bf04dca5a2147a8406f7aef5703ee5259a52 Merge: 11bd04f aa65607 Author: Linus Torvalds Date: Fri Dec 11 12:23:29 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/mmap * git://git.kernel.org/pub/scm/linux/kernel/git/viro/mmap: Add missing alignment check in arch/score sys_mmap() fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh Get rid of open-coding in ia64_brk() sparc_brk() is not needed anymore switch do_brk() to get_unmapped_area() Take arch_mmap_check() into get_unmapped_area() fix a struct file leak in do_mmap_pgoff() Unify sys_mmap* Cut hugetlb case early for 32bit on ia64 arch_mmap_check() on mn10300 Kill ancient crap in s390 compat mmap arm: add arch_mmap_check(), get rid of sys_arm_mremap() file ->get_unmapped_area() shouldn't duplicate work of get_unmapped_area() kill useless checks in sparc mremap variants fix pgoff in "have to relocate" case of mremap() fix the arch checks in MREMAP_FIXED case fix checks for expand-in-place mremap do_mremap() untangling, part 3 do_mremap() untangling, part 2 untangling do_mremap(), part 1 commit 032fec3169b898948dbb76c681d9f1c0f6858c22 Author: Jonathan Cameron Date: Mon Dec 7 15:19:17 2009 +0000 Staging: IIO: add selection of IIO_SW_RING to LIS3L02DQ as needed Here I've kept the selection of IIO_SW_RING separate from IIO_TRIGGER as it will go away fairly shortly when the ring buffer type becomes configurable on a per device basis, whereas the IIO_TRIGGER select will remain. Whether to retain the option to remove the support for ring buffers entirely is one for after that support is in place. Reported-by: Randy Dunlap Signed-off-by: Jonathan Cameron Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit dbd5d239e4b24c17ec50bef38aec9bba0e54e1ee Author: Jonathan Cameron Date: Sun Nov 22 16:03:25 2009 +0000 Staging: IIO: Add tsl2560-2 support to tsl2563 driver. Minimal changes to driver. Just adds the device to the id table and adjusts the Kconfig elements appropriately. Adding further similar chips from TAOS is complicated by their different conversion functions (and hence left for now). Signed-off-by: Jonathan Cameron Acked-by: Amit Kucheria Signed-off-by: Greg Kroah-Hartman commit eaacdd9b31b9dd6b342b569711b69e47dbba19b2 Author: Jonathan Cameron Date: Sun Nov 22 16:00:02 2009 +0000 Staging: IIO: Remove tsl2561 driver. Support merged with tsl2563. This patch simply removes the tsl2561 driver. Signed-off-by: Jonathan Cameron Acked-by: Amit Kucheria commit e81589a70c9dbee888cce16e8bdfdc993299dc3f Author: Henk de Groot Date: Sun Dec 6 21:29:31 2009 +0100 Staging: wlags49_h2: fix up signal levels Adjusts the signal levels reported by the wlags49_h2 and wlags49_h25 staging drivers. With the constants supplied by Agere the signal levels are always poor, even in close proximity to the AP. The signals are now measured with a real device. 100% for close proximity to the AP, 0% for the noice floor. Now the levels shown by the NetworkManager gauge make sense. Some magic numbers in the related code are replaced by the correct constants from the wireless extension interface (wireless.h). Also the flag IW_QUAL_DBM is now set, as specified in the wireless.h header file. Signed-off-by: Henk de Groot Signed-off-by: Greg Kroah-Hartman commit d0f2cc5aea14a4dfd342616faade05b75cb6c309 Author: Andrew Morton Date: Fri Dec 4 17:05:45 2009 -0800 + drivers-staging-wlags49_h2-remove-cvs-metadata.patch added to -mm tree Cc: Henk de Groot Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7f1f6e72e26c9e0f5d1b9b7766e174da4057a72d Author: Greg Kroah-Hartman Date: Thu Dec 3 16:27:19 2009 -0800 Staging: samsung-laptop: add TODO file Signed-off-by: Greg Kroah-Hartman commit 5b4c4dc61d5445346b1d5465c4b4934ea933165b Author: Greg Kroah-Hartman Date: Thu Dec 3 16:24:47 2009 -0800 Staging: samsung-laptop: remove old kernel code Don't test for the kernel version, we know what version we are in, the latest. Signed-off-by: Greg Kroah-Hartman commit d189164a2426a5169117cfe154186c2f999ada87 Author: Greg Kroah-Hartman Date: Thu Dec 3 16:19:47 2009 -0800 Staging: add Samsung Laptop driver This is a drive for the Samsung N128 laptop to control the wireless LED and backlight. Many thanks to Joey Lee for his help in testing and finding all of my bugs in the development of this driver, it has been invaluable. Cc: Joey Lee Signed-off-by: Greg Kroah-Hartman commit 5beef3c9bf7f967a4a70ddb0108fd3e459fed133 Author: Andrew Lunn Date: Mon Nov 9 21:20:10 2009 +0100 staging: batman-adv meshing protocol B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing protocol for multi-hop ad-hoc mesh networks. The networks may be wired or wireless. See http://www.open-mesh.org/ for more information and user space tools. This is the first submission for inclusion in staging. Signed-off-by: Andrew Lunn Signed-off-by: Greg Kroah-Hartman commit 6638db58dbb831fa66ac583644d34ae3cf662431 Author: Randy Dunlap Date: Wed Nov 11 09:31:23 2009 -0800 Staging: rtl8192u: depends on USB rtl8192u uses usb_* interfaces so it should depend on USB. ERROR: "usb_kill_urb" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_deregister" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_control_msg" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_submit_urb" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_register_driver" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_free_urb" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! ERROR: "usb_alloc_urb" [drivers/staging/rtl8192u/r8192u_usb.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 50a09b3b099ebc8326b85b4f508fb47655e1fed3 Author: Mauro Carvalho Chehab Date: Tue Nov 3 07:45:50 2009 -0200 Staging: rtl8192u: remove dead code Remove #ifse against older kernel versions; Remove codes marked with #if 0; Remove #if 1 Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit e406322b4b963e622f41d76193d8ca9e5435adb8 Author: Mauro Carvalho Chehab Date: Tue Nov 3 07:42:46 2009 -0200 Staging: rtl8192u: remove bad whitespaces Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit f61fb9356d20977258bb59a8d9f1857d2c58ac98 Author: Mauro Carvalho Chehab Date: Tue Nov 3 07:17:24 2009 -0200 Staging: rtl8192u: make it compile Add it to staging Kbuild and fixes some API differences that prevents compilation. It seems that the ieee80211 stack is very close to rtl8192su one. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit 8fc8598e61f6f384f3eaf1d9b09500c12af47b37 Author: Jerry Chuang Date: Tue Nov 3 07:17:11 2009 -0200 Staging: Added Realtek rtl8192u driver to staging Add Realtek linux driver for rtl8192u as provided by Realtek rtl8192u_linux_2.6.0006.1031.2008.tar.gz, send to me C/C staging ML. This version won't compile against upstream, doesn't follow Linux CodingStyle and has their own ieee80211 stack. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit 9b8437574759a4ce165ab20c631cd6e14c3148c2 Author: Pavel Machek Date: Sun Nov 1 23:27:01 2009 +0100 Staging: dream: add gpio and pmem support This adds generic_gpio and pmem support, both are needed for other dream drivers. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 7e9bdd0af0fe0b940ff59f4b57c463d63969852b Author: Pavel Machek Date: Wed Oct 28 23:48:18 2009 +0100 Staging: dream: add TODO file This adds TODO list. It is probably incomplete, as many parts were not reviewed by the upstream maintainers, yet. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit b0a0ccfad85b3657fe999805df65f5cfe634ab8a Author: Greg Kroah-Hartman Date: Mon Oct 5 16:29:29 2009 -0700 Staging: android: delete android drivers These drivers are no longer being developed and the original authors seem to have abandonded them and hence, do not want them in the mainline kernel tree. So sad :( Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 99fd99f618daecae638550275cb132ab1ffe464c Author: Alan Cox Date: Wed Nov 18 14:07:58 2009 +0000 Staging: et131x: clean up the avail fields in the rx registers These have a wrap bit but again need little work to clean out. There are a couple of uglies left that want addressing in later clean up. Notably we should probably keep the local psr copy and wrap as two values. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2e5e0b890d4f6f2e9e836c2c21157fbb085c3ed9 Author: Alan Cox Date: Wed Nov 18 14:07:48 2009 +0000 Staging: et131x: Clean up number fields Lots of RX typedefs are just low bits of a u32, so clean them all up in one go and just work them directly. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6794712519265bb64aa20fe61f4da36bf8adbded Author: Alan Cox Date: Wed Nov 18 14:07:41 2009 +0000 Staging: et131x: kill RX_DMA_MAX_PKT_TIME Another one bits the dust ... Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 02cdb0b427486355b9b8d715e529cff5b7b7b0e8 Author: Alan Cox Date: Wed Nov 18 14:07:35 2009 +0000 Staging: et131x: kill TX_SHADOW Guess what - we don't use this one either Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cfc52eb676a88721221bd89e94222483f681ffe6 Author: Alan Cox Date: Wed Nov 18 14:07:29 2009 +0000 Staging: et131x: Another typedef solely used to write 0 to a register Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 42a03e98d1a691bb66bd9fde021aa9c95bce1cd6 Author: Alan Cox Date: Wed Nov 18 14:07:21 2009 +0000 Staging: et131x: kill TX_PR_NUM_DES_t Yes folks it another unused typedef.. This completes the clean up of the TX DMA typedefs Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d97aabcd0ea6dd3375747b1e02b9164c4064880d Author: Alan Cox Date: Wed Nov 18 14:07:15 2009 +0000 Staging: et131x: kill TxMacTest field It's really a local in the interrupt handler Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f838cabdb27a7f3c28c186360865cf5118c469a6 Author: Alan Cox Date: Wed Nov 18 14:07:09 2009 +0000 Staging: et131x: kill TXTEST and TXFILL, clean up CF_PARAM Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 74f38633f2827451e5f8a44a3508b467ccfad5af Author: Alan Cox Date: Wed Nov 18 14:07:03 2009 +0000 Staging: et131x: clean up mac stat names Might as well use something short and obvious Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ae8d9d845a31d168182b93a546f2d1ec3b1b4a82 Author: Alan Cox Date: Wed Nov 18 14:06:57 2009 +0000 Staging: et131x: clean up MAC_STAT register One by one... Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b491f147a142d21ea848c47331109630e07a73c8 Author: Alan Cox Date: Wed Nov 18 14:06:50 2009 +0000 Staging: et131x: Kill MAC_IF_CTRL typedefs Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ad988ba5c024ef5c96eed0387ff37e63b8c9f7e0 Author: Larry Finger Date: Mon Nov 16 23:35:38 2009 -0600 Staging: rtl8187se: Rename staging driver to avoid name conflict with mainline driver Now that active development has begun on a mainline version of a driver for the RTL8187SE that should be called rtl8187se, there is a conflict with the driver in staging with the same name. To solve the conflict, rename the driver in staging to r8187se. Signed-off-by: Larry Finger Signed-off-by: Greg Kroah-Hartman commit 8eee44dafdaaafaa0623c3ceaf4e507403365311 Author: Larry Finger Date: Tue Nov 10 16:44:47 2009 -0600 Staging: rtl8187se: Remove card_type The vendor-written driver for the RTL8187SE has a private variable for the card type, even though it only occurs in PCI format. Signed-off-by: Larry Finger Signed-off-by: Greg Kroah-Hartman commit d44eb889ccf80e417794963e57cc40bd1519e554 Author: Larry Finger Date: Mon Nov 9 10:53:20 2009 -0600 Staging: rtl8187se: Remove card8185 variable to simplify flow When this code is used for the rtl8187se, the value of card_8185 in struct r8180_priv is always 7 or 8. As a result, the program flow can be simplified. Signed-off-by: Larry Finger Tested-by: Bernhard Schiffner Signed-off-by: Greg Kroah-Hartman commit bbc9a9916bc1cd997f3bf303e7930d5f3c804d37 Author: André Goddard Rosa Date: Sat Nov 14 13:09:06 2009 -0200 Staging: fix assorted typos all over the place Signed-off-by: André Goddard Rosa Signed-off-by: Greg Kroah-Hartman commit d52ac3f24e721cd279e7eba1b87914f1454c67ed Author: Mariusz Ziulek Date: Thu Nov 12 15:01:16 2009 +0100 staging: dst: fix coding style Signed-off-by: Mariusz Ziulek Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit f5e08ca72288b9762f49778622617184180496e7 Author: Robert P. J. Day Date: Fri Nov 13 15:13:43 2009 -0500 Staging: usbip: Fix typo "Contoroller". Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit cdbf3a394ca2f6e3464bc19676e959a92a725eb0 Author: Bartlomiej Zolnierkiewicz Date: Mon Nov 9 17:20:39 2009 +0100 Staging: rt28x0: remove no longer needed common/cmm_data_2860.c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 06aea994cf03ec589b198ff718ae7fee4ec41659 Author: Sebastian Dalfuß Date: Sat Nov 7 17:31:12 2009 +0100 Staging: rt2860: reduce superfluous exclamation marks This removes superfluous exclamation marks from strings and comments, and also three spelling typos. Signed-off-by: Sebastian Dalfuß Signed-off-by: Greg Kroah-Hartman commit 956cd45d03efd10f8b780d54b6e5e28d0afc2ef9 Author: Bartlomiej Zolnierkiewicz Date: Mon Nov 9 17:19:45 2009 +0100 Staging: rt28x0: fix comments in chip/mac_pci.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ee1f1fa4071416b130fd0771d1f26ea3f41e1fc3 Author: Amit Kucheria Date: Mon Nov 9 15:14:28 2009 +0200 Staging: iio: tsl2563 ambient light sensor driver Add driver support for the tsl2563 TAOS ambient light sensor. After looking at discussions on LKML, the driver was modified from a 'hwmon' driver to an 'iio' driver. The sysfs interfaces have been tested on an RX51 (N900) to see if it responds to changing light conditions. The only real reason for submitting this to staging is that it is dependent on the IIO subsystem. Signed-off-by: Amit Kucheria Cc: Jonathan Cameron Cc: linux-omap@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit 51bf00aef02d410bf74afb31ec2d5dbcedb1a52f Author: Amit Kucheria Date: Mon Nov 9 15:10:15 2009 +0200 Staging: iio: Fix typos in documentation Spell-check wouln't catch these :) Signed-off-by: Amit Kucheria Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 727acb4fb2143ac7228b9a49f9e2f73f71e748d9 Author: Randy Dunlap Date: Tue Nov 17 10:17:42 2009 -0800 Staging: sep: fix 2 warnings Fix printk format warning: drivers/staging/sep/sep_driver.c:276: warning: format '%08llx' expects type 'long long unsigned int', but argument 2 has type 'dma_addr_t' and variable may be used uninitialized (correct): drivers/staging/sep/sep_driver.c:1774: warning: 'error' may be used uninitialized in this function Signed-off-by: Randy Dunlap Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 988536981327c9b8d28a6e956de285791e137cd3 Author: Randy Dunlap Date: Wed Nov 11 09:31:42 2009 -0800 Staging: vt665*: fix printk formats Fix printk format warnings in vt665[56]: drivers/staging/vt6655/wpa.c:150: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' drivers/staging/vt6655/wpa.c:181: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' drivers/staging/vt6656/wpa.c:150: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' drivers/staging/vt6656/wpa.c:181: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' drivers/staging/vt6656/firmware.c:804: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit d5f5d89f0a48930436dba9735fda4663e7b55ed2 Author: Randy Dunlap Date: Tue Nov 10 09:04:28 2009 -0800 Staging: iio: fix ring buffer build max1363 uses both the iio hardware ring buffer and software ring buffer interfaces, but its Makefile and Kconfig do not reflect that usage, so its build breaks. Add a new Kconfig symbol to reflect that usage and change max1363.h & Makefile to use the new Kconfig symbol. Signed-off-by: Randy Dunlap Signed-off-by: Jonathan Cameron commit 76e407980728123223fac5c2e8273bc6e7e43cfd Author: Randy Dunlap Date: Wed Nov 4 13:56:23 2009 -0800 Staging: RTL8192SU depends on USB USB device driver needs to depend on USB to prevent build errors: ERROR: "usb_kill_urb" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_deregister" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_control_msg" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_submit_urb" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_register_driver" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_free_urb" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! ERROR: "usb_alloc_urb" [drivers/staging/rtl8192su/r8192s_usb.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 6c8e49dd41a568a1e31e8020ba423a1ade8393b1 Author: Roel Kluin Date: Tue Nov 3 23:48:58 2009 +0100 Staging: dst: Fix parentheses `|' has a higher precedence than `?' so since MSG_WAITALL is defined 0x100, MSG_MORE was always written to the msg_flag. Signed-off-by: Roel Kluin Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit a5c330fe8b2f1e17133190e0b297a710c5a4de04 Author: Martyn Welch Date: Thu Oct 29 16:35:27 2009 +0000 staging: vme: Fix mutex locking Fix incorrect use of mutex_trylock(). Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 58e507987b285f3df99f839c79da3985555ac220 Author: Martyn Welch Date: Thu Oct 29 16:35:20 2009 +0000 Staging: vme: Rename VME DMA functions The DMA resource allocation function is called "vme_request_dma" while master and slave window allocation functions are called "vme_master_request" and "vme_slave_request" respectively. Rename "vme_request_dma" to "vme_dma_request" to fit the pattern. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit a4b02959d5bec1b3e3a3e266b196673a89e62c29 Author: Martyn Welch Date: Thu Oct 29 16:35:14 2009 +0000 Staging: vme: Clean up tsi148 driver * Remove message from IACK interrupt handler * Correct clearing of location monitor interrupts * Remove interrupt cleanup code that's duplcated in sub function Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 8be9226c8f686c6dd2bae0a7ed4f5795e89d32d8 Author: Martyn Welch Date: Thu Oct 29 16:35:08 2009 +0000 Staging: vme: Correct operation of vme_lm_free The vme_lm_free() function is not clearing up the resource created in vme_lm_request(). In addition vme_lm_free() is void function and is used in exit/error paths, we should wait for mutex to become free rather than exiting and not freeing the resource. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 59c2290428dd93a4117aa453fc4c2be38da288c0 Author: Martyn Welch Date: Thu Oct 29 16:35:01 2009 +0000 Staging: vme: Allow size of 0 when disabling a window The TSI148 driver currently does not allow a size of zero to be passed to a window. Zero is a valid value if the window is being disabled. Allow windows to be disabled and their registers cleared. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 70d7aa889f7c107a768d07389998e4fd89a7103d Author: Greg Kroah-Hartman Date: Thu Oct 29 16:18:53 2009 -0700 Staging: vme: fix compiler warnings in vme_ca91cx42.c It's causing people to ignore problems in the file, so get rid of them so it's obvious something is wrong in the future. Cc: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit c813f592a5e65cfd9321f51c95a6977e9518dde6 Author: Martyn Welch Date: Thu Oct 29 16:34:54 2009 +0000 Staging: vme: Pull common VME interrupt handling into core code Currently the VME callback infrastructure is replicated in each VME driver. Move this common code into the VME core. Rename functions to fit in better with naming of other VME functions. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit beb9ccc635433065a099b75dc8b22caf0844014a Author: Martyn Welch Date: Thu Oct 29 16:34:48 2009 +0000 staging: vme: correct array overflow Eric Sesterhenn noticed that vme_user is overflowing an array used by sprintf. Use a bigger array. CC: Eric Sesterhenn Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 6884bb09244498bfa67a99737f33b638d8eae450 Author: Huang Weiyi Date: Thu Sep 17 21:25:49 2009 +0800 Staging: vme: remove unused #include Remove unused #include ('s) in drivers/staging/vme/bridges/vme_ca91cx42.c drivers/staging/vme/bridges/vme_tsi148.c drivers/staging/vme/devices/vme_user.c drivers/staging/vme/vme.c Signed-off-by: Huang Weiyi Acked-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 47a14f13c81c407f816917528f84b85532af2819 Author: Shawn Bohrer Date: Sun Oct 25 22:46:51 2009 -0500 Staging: vt6655: remove __cplusplus ifdefs Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 42caa16a70b875bb171874af329c7575fa10c091 Author: Shawn Bohrer Date: Sun Oct 25 22:46:50 2009 -0500 Staging: vt6656 remove unneeded version.h and version check Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 3afc571e6b2b2d6b291309363e196d814b583e66 Author: Shawn Bohrer Date: Sun Oct 25 22:46:49 2009 -0500 Staging: vt6655 remove unneeded version.h Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 50fcfe57ee629c24f85618883c0eb09e3630339a Author: Shawn Bohrer Date: Sun Oct 25 22:46:48 2009 -0500 Staging: vt6656 remove duplicate includes Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit a8ee05f54c9901f6497e05ae737c32a93c7a8f5e Author: Shawn Bohrer Date: Sun Oct 25 22:46:47 2009 -0500 Staging: vt6655 remove duplicate includes Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit d30b271910e4bcbd7d068939617933a64852dfc8 Author: Shawn Bohrer Date: Sun Oct 25 22:46:46 2009 -0500 Staging: vt6656 remove kcompat.h The vt6656 driver is integrated in the kernel so it no longer needs the compatibility header. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 6d0158fac61973654d8045fb8d15df8c4e84aaec Author: Shawn Bohrer Date: Sun Oct 25 22:46:45 2009 -0500 Staging: vt6655 remove kcompat.h The vt6655 driver is integrated in the kernel so it no longer needs the compatibility header. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit ee93e1971dc2dbc3133962b3d914b18d7c93a681 Author: Roel Kluin Date: Fri Oct 16 20:17:57 2009 +0200 Staging: vt6655: Correct unsigned bound issue uNodeIndex is unsigned, check whether it is within bounds instead. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 5008c456c1cdcb8ef7265dcb6d20317f54d3e8ee Author: Otavio Salvador Date: Mon Oct 12 23:47:36 2009 -0300 Staging: vt6656: use lowercase for VIA USB vendor id Signed-off-by: Otavio Salvador Signed-off-by: Greg Kroah-Hartman commit 82c7c11fdbbf4a741524daf16f320909ef0d666a Author: Roel Kluin Date: Fri Sep 18 12:59:22 2009 -0700 Staging: octeon: don't ignore request_irq() return code Signed-off-by: Roel Kluin Acked-by: David Daney Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d6dbc0126beedc43f19abb5870c892f7bd105b2c Author: Sebastian Dalfuß Date: Fri Nov 6 14:49:28 2009 +0100 Staging: rt2860: remove superfluous newlines This patch is based on next-20091106. This tiny patch removes a few quite unnecessary extra newlines from DBGPRINT() and printk() strings. Signed-off-by: Sebastian Dalfuß Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ad26848142950277172a983e7e525fa8806a6300 Author: Sebastian Dalfuß Date: Fri Nov 6 14:49:00 2009 +0100 Staging: rt2860: remove remainders of /etc reading stuff The stuff that tries to read a file from /etc is already removed, so this patch just removes the last remainders. Signed-off-by: Sebastian Dalfuß Bartlomiej Zolnierkiewicz commit 23d1d3d92283d6888e8e595cd52848728cd3da35 Author: Bartlomiej Zolnierkiewicz Date: Mon Nov 2 16:25:32 2009 +0100 Staging: rt28x0: Add proper selection of WIRELESS_EXT and WEXT_PRIV After the incorporation of the patch entitled "wext: refactor", some of the wireless drivers in drivers/staging fail to build because they need to have CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV defined. [ patch description borrowed from the previous fix for wireless staging drivers ("staging: Add proper selection of WIRELESS_EXT and WEXT_PRIV") authored by Larry Finger ] Cc: Larry Finger Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 62eb734b490c3851deb5cdba99e477f102549b68 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:16 2009 -0800 Staging: rt28x0: remove typedefs (part three) Remove misc typedefs. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8a10a54656aff69de3530efa793cbec8d2b51d02 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:15 2009 -0800 Staging: rt28x0: remove typedefs (part two) Remove typedefs from rt_linux.h and rtmp_usb.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 51126deb201c59cc8cdc4873e3d130d6bc60513d Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:15 2009 -0800 Staging: rt28x0: remove typedefs (part one) Remove typedefs from rtmp_type.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cc27706961cbe2de1b2b1d1b498efa7b6f04a822 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:15 2009 -0800 Staging: rt28x0: fix comments in *.h files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8281958ba7c8f4cb8695113a221e1f508f4feea6 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:15 2009 -0800 Staging: rt28x0: fix comments in sta/*.c files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ec278fa259e48c89b206ccd9e1bee06277077263 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:15 2009 -0800 Staging: rt28x0: fix comments in common/*.c files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9f548a2a3dd8feca99f7301df474f983c1e815f3 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:14 2009 -0800 Staging: rt28x0: fix comments in *.c files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 52b81c89e564cdde8f2b4ccd0e314f04f8f23ab9 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:14 2009 -0800 Staging: rt28x0: run *.h files through Lindent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0f65bec15b2184dcf98dbdbf03187057de842eb5 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:14 2009 -0800 Staging: rt28x0: run sta/*.c files through Lindent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 96b3c83dc27dca271594463aa99e166974a91171 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:13 2009 -0800 Staging: rt28x0: run common/*.c files through Lindent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 66cd8d6ec97bbfac53b5e67df9ef4668c3f96085 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:13 2009 -0800 Staging: rt28x0: run *.c files through Lindent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 460bb8df1e910a8c5d36ad363fbc1f0164cf0b85 Author: Bartlomiej Zolnierkiewicz Date: Fri Dec 11 12:23:13 2009 -0800 Staging: rt28x0: remove __LINE__ instances Remove instances of __LINE__ preprocessor directive to make validation of resulting binary output files easier. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5a1322317abff17a6cdaf53bd33a4102d456ec23 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:45:09 2009 +0200 Staging: rt28x0: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ef3e746815954ada673fab6545679e7418d1b1d3 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:45:02 2009 +0200 Staging: rt28x0: remove unused SHA256 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 46ff62398cdabb87522c0564d1ebfa397132abe4 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:55 2009 +0200 Staging: rt28x0: remove dead code from rtmp_phy.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f4e54708bc60be380b3640e6db2b3f73cb13eebd Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:48 2009 +0200 Staging: rt28x0: remove optional cmm profile parameters Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ca58fb303757d73876af32238d86091c59b88507 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:42 2009 +0200 Staging: rt28x0: fix some build warnings Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 44c68c23b16c85127d187fd720f95aa2e7a94d2e Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:35 2009 +0200 Staging: rt28x0: remove optional loading of EEPROM from file in eFuse mode Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 782f1111256557c75415f57cd360ebf9d1377a55 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:27 2009 +0200 Staging: rt28x0: remove support for private driver parameters Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 4c96e89320b6327e8967c31761cc0730cace8b4c Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:19 2009 +0200 Staging: rt28x0: remove private WEXT handlers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 725fef147b29eaf37aaee6e80c2c19c5c9c4bff9 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:12 2009 +0200 Staging: rt28x0: remove private RTPRIV_IOCTL_GSITESURVEY ioctl Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 468d0c507b9c11a2e3ae95ff149eb551d05be8b9 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:44:05 2009 +0200 Staging: rt28x0: remove private RTPRIV_IOCTL_SET ioctl Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit abf1794e698d9bbdade846ef6ffd23b247cfb59f Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:43:57 2009 +0200 Staging: rt28x0: remove unused code from common/ee_efuse-c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fbedb45f6a547901781d23d0e70ef77e0724cb1c Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 21 22:43:51 2009 +0200 Staging: rt28x0: remove unused ->eewrite methods Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2bef7a0fc85e420c55820c0fabfe264d38228588 Author: Mithlesh Thukral Date: Mon Oct 26 21:22:55 2009 -0700 Staging: otus : checkpatch.pl cleanup for some more .c files Second lot of checkpatch.pl error and warning fixes for .c files of otus driver in staging tree. (Externs would be removed in a seperate patch) Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit b767fa1d110230f342243034e285ceadcbbb709e Author: Mithlesh Thukral Date: Mon Oct 26 21:22:20 2009 -0700 Staging: otus : checkpatch.pl cleanup for .c files First patch for checkpatch.pl error and warning fixes for .c files of otus driver in staging tree. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit dba0da373d389b9e12bb739d25cbe116dee5f55b Author: Mithlesh Thukral Date: Mon Oct 26 21:21:39 2009 -0700 Staging: otus : checkpatch.pl cleanup for header files Fix for checkpatch.pl errors and warnings in header files of otus driver. (There is a typedef which still remains. Plan to clean it up in next set of patches) Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 3001fa0522b87cbd756896a7ffa30a38fdf7a388 Author: Pavel Machek Date: Sat Oct 24 22:01:08 2009 +0200 Staging: dream: remove wakelock support from smd_rpcrouter.h wakelocks are power optimalization, not supported in mainline. Remove them so that code compiles on mainline. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit ace9e7915badc44d0240b12ca9817b0171623f29 Author: Pavel Machek Date: Thu Oct 22 11:03:54 2009 +0200 Staging: dream: remove wakelock support Includes changed so that is now needed for TASK_INTERRUPTIBLE and friends, so include it. Remove hooks for features not in mainline, such as earlysuspend and wakelocks. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 05d42522017df477f16c0ebc2d65aa8bde6e0e86 Author: Pavel Machek Date: Fri Sep 18 12:59:22 2009 -0700 Staging: dream: Synaptics touchscreen for HTC Dream: check that smbus is available Check that SMBUS APIs are available in touchscreen driver. Signed-off-by: Pavel Machek Cc: Trilok Soni Cc: Cc: Brian Swetland Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b7fa31849c237b0bbcc03cd65536f0060ee6117d Author: Greg Kroah-Hartman Date: Mon Oct 26 16:43:54 2009 -0700 Staging: dream: mark as BROKEN It doesn't build, and hasn't for a long time (if ever). So mark it BROKEN for now. Cc: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit ff933693a4749a20662dee92f5fe8c8484ec3153 Author: Pavel Machek Date: Sun Oct 11 11:05:08 2009 +0200 Staging: dream: make it independant from CONFIG_ANDROID Make Dream support independent of CONFIG_ANDROID. Signed-off-by: Pavel Machek commit bfb97bf833785525eb128cbcee81f686d0239aa4 Author: Randy Dunlap Date: Fri Oct 30 11:01:43 2009 -0700 Staging: wlags49: fix kconfigs dependancy Fix depends/selects in wlags49 drivers. ERROR: "wireless_spy_update" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "iw_handler_get_spy" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "iw_handler_set_spy" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_dev_present" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_request_irq" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_register_driver" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_request_configuration" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_request_io" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_error_ret" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_error_func" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_unregister_driver" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_disable_device" [drivers/staging/wlags49_h25/wlags49_h25_cs.ko] undefined! ERROR: "pcmcia_dev_present" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_request_irq" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_register_driver" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_request_configuration" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_request_io" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_error_ret" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_error_func" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_unregister_driver" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! ERROR: "pcmcia_disable_device" [drivers/staging/wlags49_h2/wlags49_h2_cs.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit a6f95b6ee60e4e0f8768419c15e625b5bef44cb6 Author: Henk de Groot Date: Wed Oct 28 23:43:55 2009 +0100 Staging: wlags49_h2: add TODO files Adds TODO to the wlags_h2 and wlags_h5 staging drivers. Signed-off-by: Henk de Groot Signed-off-by: Greg Kroah-Hartman commit 68c0bdff7ac903421f224e080499c51cd5287f97 Author: Henk de Groot Date: Sun Sep 27 11:12:52 2009 +0200 Staging: wlags49_h2: add Agere driver for HERMES II and HERMES II.5 chipsets WLAN driver for cards using the HERMES II and HERMES II.5 chipset Based on Agere Systems Linux LKM Wireless Driver Source Code, Version 7.22; complies with Open Source BSD License. The software is a modified version of wl_lkm_722_abg.tar.gz from the Agere Systems website, addapted for Ubuntu 9.04 and modified to fit in the current Linux kernel (2.6.31). Modified for kernel 2.6 by Henk de Groot Based on 7.18 version by Andrey Borzenkov $Revision: 39 $ Signed-off-by: Henk de Groot Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 349f535cbd14308f1934d9b20c4c214cb49c9001 Author: Huang Weiyi Date: Thu Sep 17 21:25:37 2009 +0800 Staging: rtl8187su: remove unused #include Remove unused #include ('s) in drivers/staging/rtl8192su/ieee80211/ieee80211_rx.c drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c drivers/staging/rtl8192su/ieee80211/ieee80211_wx.c Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 090679c9e859a82f8bf089b115ae7c510d486742 Author: Huang Weiyi Date: Thu Sep 17 21:25:21 2009 +0800 Staging: rtl8187se: remove unused #include Remove unused #include ('s) in drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 763a998fb2d93ff86a8d1bf7bad84f640f668727 Author: Vijay Kumar B Date: Mon Sep 21 11:24:00 2009 +0530 Staging: poch: Add sample Rx code Add sample code Rx to README. Signed-off-by: Vijay Kumar B Signed-off-by: Greg Kroah-Hartman commit 949d6ae745ba2fa34bc983bb808c814898d5b77d Author: Vijay Kumar B Date: Mon Sep 21 11:23:59 2009 +0530 Staging: poch: Include linux/types.h Include linux/types.h in poch.h, so that poch.h can be included in user application header files. Signed-off-by: Vijay Kumar B. Signed-off-by: Greg Kroah-Hartman commit 92d450336eedf4c671f37c931fa8ccc28c6be3a9 Author: Vijay Kumar B Date: Mon Sep 21 11:23:58 2009 +0530 Staging: poch: Remove circular buffer header Remove the circular buffer header. Which has been superseded by the ioctl consume interface. Signed-off-by: Vijay Kumar B Signed-off-by: Greg Kroah-Hartman commit dad1740133ffe49ae44044f97e4cbfcb42f037b1 Author: Vijay Kumar Date: Mon Sep 21 11:23:57 2009 +0530 Staging: poch: Parameter to enable loopback Enable setting of loopback through module parameter. Signed-off-by: Vijay Kumar Signed-off-by: Greg Kroah-Hartman commit 7e72a85e07cab448a5779cf1ee851b850930ec9f Author: Vijay Kumar B Date: Mon Sep 21 11:23:56 2009 +0530 Staging: poch: Increase groups per interrupt Increase groups per interrupt to reduce hogging of the CPU. Signed-off-by: Vijay Kumar B. Signed-off-by: Greg Kroah-Hartman commit b01faf05740884f915dd1b8652d8af1b6f458ccc Author: Vijay Kumar B Date: Mon Sep 21 11:23:55 2009 +0530 Staging: poch: Fetch Flush IOCTL interface Change user space interface to an IOCTL based interface instead of a memory mapped circular buffer. The circular buffer had some serious cache(?) issues and never worked. Signed-off-by: Vijay Kumar B. Signed-off-by: Greg Kroah-Hartman commit 16fbf4cba0880c31445d6414abbd7a1c51466b1f Author: Vijay Kumar B Date: Mon Sep 21 11:23:54 2009 +0530 Staging: poch: Parameter to enable synthetic counter Adds a parameter that causes the hardware to synthesize Rx values using a counter. Signed-off-by: Vijay Kumar B. Signed-off-by: Greg Kroah-Hartman commit e1bc58459aa23ec4e8f1e1aa2cacae215d04a949 Author: Alan Cox Date: Tue Oct 6 15:51:17 2009 +0100 Staging: et131x: Clean up the phy code, especially dup stuff Fold in the TPAL stuff and remove the duplication Clean up other stuff where we do un-needed work or have verbose implementations Comment some of the functions as we go Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1210db957aa4f213259fd4dc92fd6e9e8cfc3187 Author: Alan Cox Date: Tue Oct 6 15:51:10 2009 +0100 Staging: et131x: phy clean up Clean up the phy code a bit so we can see what needs doing. This involves moving blocks around and making stuff static Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 57aed3b4383a5c16217f805daf1bc93777ad9b39 Author: Alan Cox Date: Tue Oct 6 15:51:04 2009 +0100 Staging: et131x: Clean up MII control Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4ea30f84c5d28fb17ef6ac91f1952545db6774c3 Author: Alan Cox Date: Tue Oct 6 15:50:58 2009 +0100 Staging: et131x: kill off MAC_TEST_t It isn't used anyway Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc5dc29c65575125a694ed67bbdee7895c7055f9 Author: Alan Cox Date: Tue Oct 6 15:50:51 2009 +0100 Staging: et131x: clean up MAX_FM type Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c9835d97e9fa06ac0741beaa04fc3f431bcd294c Author: Alan Cox Date: Tue Oct 6 15:50:45 2009 +0100 Staging: et131x: Clean up MAC_CFG types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit eccdd88fa00ec30fa15a7555b5e010e178c35e2a Author: Alan Cox Date: Tue Oct 6 15:50:39 2009 +0100 Staging: et131x: Clean up the MII_MGMT type Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c2f6118a3009b3606cc6e77b474a46ce4075b0a2 Author: Alan Cox Date: Tue Oct 6 15:50:32 2009 +0100 Staging: et131x: Clean up the half duplex control reg types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 308e93e0a36676f22060b3a4cf0135497b32e9f2 Author: Alan Cox Date: Tue Oct 6 15:50:26 2009 +0100 Staging: et131x: Clean the IPG types up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d8fd9d7ecf3d7fa46567088125a011587802921d Author: Alan Cox Date: Tue Oct 6 15:50:20 2009 +0100 Staging: et131x: Kill the RX skb list element - it isn't used Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5720f17502cefac0c80d5ce64bf4e345e957b0fc Author: Alan Cox Date: Tue Oct 6 15:50:12 2009 +0100 Staging: et131x: Kill the RX pending list As with tx there was a pending list Linux doesn't use Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ceef1a5e0ebc3418c8dbd8644195cce3bcb6949f Author: Alan Cox Date: Tue Oct 6 15:50:05 2009 +0100 Staging: et131x: tx ring mac error is only used as a local So make it a local Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1458d82b459198b16805eca54877ef16204cd33c Author: Alan Cox Date: Tue Oct 6 15:49:58 2009 +0100 Staging: et131x: Bring tx into coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit fb034f841dae4b811901a23194484eaf62b60026 Author: Alan Cox Date: Tue Oct 6 15:49:52 2009 +0100 Staging: et131x: kill unused tcb fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c78732ad75b3917f6a93292be1612527d9c0be9d Author: Alan Cox Date: Tue Oct 6 15:49:45 2009 +0100 Staging: et131x: Clean up tx naming Clean up the names to be Linux like Remove the unused pad buffer Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9251d71a4ec3e20189bb182cdc3af00f1152da81 Author: Alan Cox Date: Tue Oct 6 15:49:36 2009 +0100 Staging: et131x: Clean up the tx ring init Keep this small change separate for bisectability Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c1996fc2ee1df6ecefe9f950f196cfc9b1d403e4 Author: Alan Cox Date: Tue Oct 6 15:49:29 2009 +0100 Staging: et131x: tidy up a bit further Clean up the minor uglies left from the previous work Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 116badfe08c0ab8bcd54492a73b23bacb218ef54 Author: Alan Cox Date: Tue Oct 6 15:49:21 2009 +0100 Staging: et131x: Remove old SendWaitQueue code The Linux driver doesn't keep a pending queue as the old one did. so we can remove all the code related to it. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f432c55e14e3eae2258c0f222b8631255bcc0031 Author: Alan Cox Date: Tue Oct 6 15:49:13 2009 +0100 Staging: et131x: fold up simple wrapper functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7f59b1bfa3149c81b332a8c2c3935111d97a5b20 Author: Alan Cox Date: Tue Oct 6 15:49:04 2009 +0100 Staging: et131x: Clean up the receive arrays We don't use them for anything having stripped out the debug gunge in the original driver. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4fbdf811bca06f2ebb374ebc763aea6c2b83f14e Author: Alan Cox Date: Tue Oct 6 15:48:57 2009 +0100 Staging: et131x: first pass RX cleanup Sort out the variable naming and clean up types and obvious trivia Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9c60684b723906691e814e1bcfadb9f32bf2cc4d Author: Alan Cox Date: Tue Oct 6 15:48:49 2009 +0100 Staging: et131x: pci_alloc_consistent DMA alignment is guaranteed So we can remove this alignment work. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 63841ad24775f1ac83c134b1e44d51fe19afbbb6 Author: Alan Cox Date: Tue Oct 6 15:48:42 2009 +0100 Staging: et131x: the stuck descriptor copy is never used Say goodbye to it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b711b2e0fa6589f22ba53464bc1b49e4702eda5b Author: Alan Cox Date: Tue Oct 6 15:48:33 2009 +0100 Staging: et131x: tidy up names for the TX structures Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit fb70ed67107e04005d36f6f462bb048bf9cbe373 Author: Alan Cox Date: Tue Oct 6 15:48:25 2009 +0100 Staging: et131x: clean up WORD2 usage A little more complex but again move the structure and typedef into into the documentation Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b44207ab43e052aa26b47ea829d46d3a8520d2d2 Author: Alan Cox Date: Tue Oct 6 15:48:16 2009 +0100 Staging: et131x: clean up word 3 definition This is basically not really used so turn it into a u32 and comment the format for reference Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 10643efffaef252da174bb0cf2e78b201ea1856d Author: Alan Cox Date: Tue Oct 6 15:48:02 2009 +0100 Staging: et131x: rxstat is not used Turn it into a u32 and document the fields in a comment instead Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5f1377d42bb89988fd9c86a92d1985320ff5053e Author: Alan Cox Date: Tue Oct 6 15:47:55 2009 +0100 Staging: et131x: PHY loopback cannot be set (and isn't useful for us anyway) Remove the stuff that falls out from this always being zero. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit abc449970a0016bf19e920c0666a89b2c7b57a24 Author: Alan Cox Date: Tue Oct 6 15:47:48 2009 +0100 Staging: et131x: kill NMI hacks The NMI code is in the shipped driver for "validation". We won't be doing chip validation and we have proper core nmi handling so this can go. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c431e3c06424499c24378fda546827b7caa79800 Author: Alan Cox Date: Tue Oct 6 15:47:41 2009 +0100 Staging: et131x: tidy up initpci code Perform some easy tidying so we can see what needs to be done next Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7f2bf9488db14c67778cee6b5204ecf3629e1ec2 Author: Alan Cox Date: Tue Oct 6 15:47:29 2009 +0100 Staging: et131x: Kill the NoPhyAccess variable Another write once "variable" Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4e02b4b57df1ac5e040e9b70391dfcc2929c9958 Author: Alan Cox Date: Tue Oct 6 15:47:22 2009 +0100 Staging: et131x: extract the eeprom setup logic from initpci This puts all the eeprom handling in one place and cleans up the interfaces Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b802ce0c705f537286da6084ec6503ba41bf7a0a Author: Alan Cox Date: Tue Oct 6 15:46:59 2009 +0100 Staging: et131x: tidy eeprom code up Turn this one into something resembling a clean Linux driver Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 53f8aeef7d85046b826fb02e45a97bd6d74e6910 Author: Alan Cox Date: Tue Oct 6 15:46:24 2009 +0100 Staging: et131x: kill SUCCESS and FAILURE defines Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 72c71f4827d1f724e8d44677367ed8e924e69de9 Author: Julia Lawall Date: Sat Sep 19 21:49:03 2009 +0200 Staging: slicoss: remove duplicate structure field initialization The definition of slic_netdev_ops has initializations of a local function and eth_mac_addr for its ndo_set_mac_address field. This change uses only the local function. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier I, s, fld; position p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @s@ identifier I, s, r.fld; position r.p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @script:python@ p0 << r.p0; fld << r.fld; ps << s.p; pr << r.p; @@ if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column): cocci.print_main(fld,p0) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit e12274ba0ca0d9c7e175c419964dbdbe2fd671f8 Author: Paul Mundt Date: Thu Nov 5 15:09:00 2009 +0900 Staging: iio: Fix up the module build. Both the max1363 and lis3l02dq modules rely on IIO trigger support in their ring buffer implementations, which is presently a separate config option. In the case of IIO_RING_BUFFER=y and IIO_TRIGGER=n, we end up with the following: ERROR: "iio_trigger_attach_poll_func" [drivers/staging/iio/adc/max1363.ko] undefined! ERROR: "iio_trigger_dettach_poll_func" [drivers/staging/iio/adc/max1363.ko] undefined! ERROR: "iio_trigger_unregister" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_notify_done" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_read_name" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_poll" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_attach_poll_func" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_register" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_free_trigger" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_trigger_dettach_poll_func" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! ERROR: "iio_allocate_trigger" [drivers/staging/iio/accel/lis3l02dq.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 This adds an IIO_TRIGGER select for these two drivers conditional on IIO ring buffer support. Caught with an SH randconfig in -next. Signed-off-by: Paul Mundt Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 4c572605085d65b7cf4f5b36ccac0f30866d19f9 Author: Randy Dunlap Date: Sun Oct 4 19:34:02 2009 -0700 Staging: iio: lots of doc fixes Fix iio header files kernel-doc notation errors, spelling, typos, indentation, grammar, etc. It would also be good if these function names were spelled correctly, but I didn't change them: iio_push_or_escallate_ring_event() iio_trigger_dettach_poll_func() Signed-off-by: Randy Dunlap Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 7e0463839cbde150fe7d767e9a91bea0d17bcde5 Author: Randy Dunlap Date: Sun Oct 4 19:32:27 2009 -0700 Staging: iio: kconfig and make edits Fix spelling, typos, indentation in iio Kconfig files. Signed-off-by: Randy Dunlap Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 73d3f6652a153a33648a2213c03e292809cc9ddb Author: Peter Huewe Date: Tue Sep 29 01:53:16 2009 +0200 Staging: phison: adding __init/__exit macros Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of drivers/staging/phison/phison.c Signed-off-by: Peter Huewe Signed-off-by: Greg Kroah-Hartman commit 24e4688632c8ae95760cb917ee5f42348fa22cbf Author: Peter Huewe Date: Tue Sep 29 01:49:00 2009 +0200 Staging: p9auth: adding __init/__exit macros Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of drivers/staging/p9auth/p9auth.c Signed-off-by: Peter Huewe Signed-off-by: Greg Kroah-Hartman commit 64ed20165f3523402465ed465476e0457765a30f Author: Peter Huewe Date: Tue Sep 29 01:40:59 2009 +0200 Staging: cx25821: adding __init/__exit macros Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of ./staging/cx25821/cx25821-core.c Signed-off-by: Peter Huewe Signed-off-by: Greg Kroah-Hartman commit 3c0d44643cbeb125171685a10d9cdeba24336e62 Author: Peter Huewe Date: Tue Sep 29 01:34:14 2009 +0200 Staging: et131x: adding __init/__exit macros Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of ./staging/et131x/et131x_initpci.c Greg, please have a look at the small patch and either pull it through your staging tree, or please ack' it so Jiri can pull it through the trivial tree. Signed-off-by: Peter Huewe Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 224f0ef4e20327ab108e6a11ebc3a92f337c5e85 Author: Nitin Gupta Date: Tue Sep 22 15:32:33 2009 +0530 Staging: ramzswap: add TODO file TODO file for ramzswap. Signed-off-by: Nitin Gupta Signed-off-by: Greg Kroah-Hartman commit 47f9afb38f0de2f153deea34bf1ef5c778815f2e Author: Nitin Gupta Date: Tue Sep 22 10:26:54 2009 +0530 Staging: ramzswap: documentation Short guide on how to setup and use ramzswap. Signed-off-by: Nitin Gupta Signed-off-by: Greg Kroah-Hartman commit 306b0c957f3f0e7da6551652abbfe17b560173ce Author: Nitin Gupta Date: Tue Sep 22 10:26:53 2009 +0530 Staging: virtual block device driver (ramzswap) Creates RAM based block devices (/dev/ramzswapX) which can be used (only) as swap disks. Pages swapped to these are compressed and stored in memory itself. The module is called ramzswap.ko. It depends on: - xvmalloc memory allocator (compiled with this driver) - lzo_compress.ko - lzo_decompress.ko See ramzswap.txt for usage details. Signed-off-by: Nitin Gupta Signed-off-by: Greg Kroah-Hartman commit 644bf7b5983cf2540b57a5b25b775cb3c1e8e943 Author: Nitin Gupta Date: Tue Sep 22 10:26:52 2009 +0530 Staging: xvmalloc memory allocator * Features: - Low metadata overhead (just 4 bytes per object) - O(1) Alloc/Free - except when we have to call system page allocator to get additional memory. - Very low fragmentation: In all tests, xvmalloc memory usage is within 12% of "Ideal". - Pool based allocator: Each pool can grow and shrink. - It maps pages only when required. So, it does not hog vmalloc area which is very small on 32-bit systems. SLUB allocator could not be used due to fragmentation issues: http://code.google.com/p/compcache/wiki/AllocatorsComparison Data here shows kmalloc using ~43% more memory than TLSF and xvMalloc is showed ~2% more space efficiency than TLSF (due to smaller metadata). Creating various kmem_caches can reduce space efficiency gap but still problem of being limited to low memory exists. Also, it depends on allocating higher order pages to reduce fragmentation - this is not acceptable for ramzswap as it is used under memory crunch (its a swap device!). SLOB allocator could not be used do to reasons mentioned here: http://lkml.org/lkml/2009/3/18/210 * Implementation: It uses two-level bitmap search to find free list containing block of correct size. This idea is taken from TLSF (Two-Level Segregate Fit) allocator and is well explained in its paper (see [Links] below). * Limitations: - Poor scalability: No per-cpu data structures (work in progress). [Links] 1. Details and Performance data: http://code.google.com/p/compcache/wiki/xvMalloc http://code.google.com/p/compcache/wiki/xvMallocPerformance 2. TLSF memory allocator: home: http://rtportal.upv.es/rtmalloc/ paper: http://rtportal.upv.es/rtmalloc/files/MRBC_2008.pdf Signed-off-by: Nitin Gupta Signed-off-by: Greg Kroah-Hartman commit efdf83c1763156220a74c8f2755c1a6fa1e1c26b Author: Ian Abbott Date: Fri Nov 20 11:32:38 2009 +0000 Staging: comedi: pcl816: update convert_src mask for AI cmdtest The COMEDI_CMDTEST ioctl needs to clear unsupported bits in the struct comedi_cmd's convert_src and other *_src members. This needs fixing in the pcl816 driver's AI cmdtest. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 48b1aff5b93521c5ad90842bef52b218ac50a4ab Author: Ian Abbott Date: Fri Nov 20 11:32:37 2009 +0000 Staging: comedi: initialize divisor variables The i8253_cascade_ns_to_timer_2div() function (and i8253_cascade_ns_to_timer macro) checks the old values *d1 and *d2 for correctness as a heuristic before calculating new values. Don't call the function with uninitialized values in *d1 and *d2. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 67a6efb1f86eb51e4b702c4e8e735ca24e3427d8 Author: Ian Abbott Date: Fri Nov 20 11:32:36 2009 +0000 Staging: comedi: serial2002: decrease stack usage 512 bytes of stack can be saved in serial_2002_open() by modifying 'struct config_t'. A short int suffices for the 'kind' and 'bits' members. (Actually, a char would suffice, but wouldn't save any more stack than a short int.) Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit ea25371a78c33e276527361d3ab19393d558b2fd Author: Bernd Porr Date: Mon Nov 16 01:12:02 2009 +0000 Staging: comedi: fix usbdux timeout bug I've fixed a bug in the USBDUX driver which caused timeouts while sending commands to the boards. This was mainly because of one bulk transfer which had a timeout of 1ms (!). I've now set all timeouts to 1000ms. From: Bernd Porr Signed-off-by: Greg Kroah-Hartman commit 26ac87851aa65f6bc58c2d1aa9162951a1dcd999 Author: Dirk Hohndel Date: Wed Oct 21 01:05:50 2009 -0700 Staging: comedi: ke_counter: fix style issues 80 char limit (where useful) braces around single line block KERN_ facility for printk Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit 13ccea3ff07cabcc48eb5e953eec24141b7be9d6 Author: Dirk Hohndel Date: Wed Oct 21 01:05:49 2009 -0700 Staging: comedi: ii_pci_20kc: fix style printk add KERN_ facility to printk (mostly KERN_INFO, some KERN_WARNING) I think I found a bug - commented on it but didn't change as it's just in a printk (off by 1 error in output) Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit dc1fe479413996629df9ab10b9f4749ba60ae637 Author: Dirk Hohndel Date: Wed Oct 21 01:05:48 2009 -0700 Staging: comedi: ii_pci20kc: white space fixes No code changes - left some 80 char violations alone as folding those lines would have made code less readable Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit 932b3ee7e3ebdf3f6362aee7de52b8b4e9c4ff6a Author: Dirk Hohndel Date: Wed Oct 21 01:05:47 2009 -0700 Staging: comedi: icp_multi: don't init static don't initialize static variable to 0 Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit ca5edf2f4ad1d40b8aaa5fe60630c21525b5c948 Author: Dirk Hohndel Date: Wed Oct 21 01:05:46 2009 -0700 Staging: comedi: icp_multi: fix style issue printk add KERN_ facility to printk (mostly KERN_DEBUG, some KERN_WARNING) Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit a622afcb7e4c7d24bb29b07e82fd8b7fcd81c0c0 Author: Dirk Hohndel Date: Wed Oct 21 01:05:45 2009 -0700 Staging: comedi: icp_multi: white space style fixes no code changes, just fixing white space, line length, etc Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit 64ca6a7eb1f55a6d25443ff8918d5aae00093fe5 Author: Dirk Hohndel Date: Wed Oct 21 01:05:44 2009 -0700 Staging: comedi: gsc_hdpi: style fixes static function Convert external function to static Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit 95a2572f95d5f78ef9fe28c200b21ad2b4b1e0c0 Author: Dirk Hohndel Date: Wed Oct 21 01:05:43 2009 -0700 Staging: comedi: gsc_hpdi: Fix style issues Style cleanup in staging based on Greg's tutorial / checkpatch Fix 80 char line length (where useful) - includes two changes to code to make it more logical / readable Remove {} around single line blocks Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit 92e462c3a576a3fd7d7bed144d405ed1a4284ad8 Author: Dirk Hohndel Date: Wed Oct 21 01:05:42 2009 -0700 Staging: comedi: gsc_hpdi: style fixes printk Style cleanup in staging based on Greg's tutorial / checkpatch Add printk KERN_ facility level (KERN_WARNING seemed appropriate for all) Signed-off-by: Dirk Hohndel Signed-off-by: Greg Kroah-Hartman commit a8c5c198c757c187a904d01b9d74af7d9d91df7f Author: Klaas van Gend Date: Wed Oct 28 02:01:08 2009 +0100 Staging: comedi: drivers: ni_6527: fixup checkpatch.pl warnings This patch fixes all warnings as issued by checkpatch.pl. Note that I had to modify some of the logging messages to make that possible. Signed-off-by: Klaas van Gend Signed-off-by: Greg Kroah-Hartman commit d62a01d861b0d47b1ff16bdfa0f31580d5083c95 Author: Klaas van Gend Date: Wed Oct 28 02:01:07 2009 +0100 Staging: comedi: comedi_fc: checkpatch.pl fixes This patch fixes all warnings as issued by checkpatch.pl. Signed-off-by: Klaas van Gend Signed-off-by: Greg Kroah-Hartman commit a69fba9e379b67c7fb54012547200f4517447bbd Author: Kevyn-Alexandre Paré Date: Fri Oct 23 17:34:17 2009 -0400 Staging: comedi: pcl726: fix coding style issues Signed-off-by: Kevyn-Alexandre Paré Signed-off-by: Greg Kroah-Hartman commit dc8af06898c4326cee1739e2bc100bed2b601721 Author: Roel Kluin Date: Fri Oct 23 12:26:25 2009 +0200 Staging: comedi: addi-data: Cleanup redundant tests on unsigned The variables are unsigned so the test `>= 0' is always true, In these cases the other part of the test catch wrapped values. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit c5dba43b6056e83de5d95e4e17c34ad7a479aaa7 Author: Klaas van Gend Date: Thu Oct 22 07:51:00 2009 +0200 staging: comedi: multiq3: add KERN_ Add KERN_ to printk statements to reduce the number of warnings shown by checkpatch.pl. Signed-off-by: Klaas van Gend Signed-off-by: Greg Kroah-Hartman commit 446176a7430f4dc311cda2200cd94336acbd0a6e Author: Klaas van Gend Date: Thu Oct 22 07:50:59 2009 +0200 staging: comedi: multiq3: remove warning on braces Remove braces in if statements to make the file exhibit less warnings when checked using checkpatch.pl. Signed-off-by: Klaas van Gend Signed-off-by: Greg Kroah-Hartman commit bacf58a80330b540b5156aa27b9a796b6b3baae2 Author: BRAGA, Bruno Date: Thu Oct 22 11:55:36 2009 +0900 Staging: comedi: adl_pci8164 coding style fixes Corrected coding style: - excessive curly braces - printk without KERN_* logging - 80+ chars per line of code Signed-off-by: BRAGA, Bruno Signed-off-by: Greg Kroah-Hartman commit d1babfd46609a3380ca4e8df97568e7da9b02eab Author: Shawn Bohrer Date: Sun Oct 18 15:32:19 2009 -0500 Staging: comedi: remove EXTERN macro since it is not used Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 37a110c04965e23e12bf00370e9ec61e99cc25b8 Author: Shawn Bohrer Date: Sun Oct 18 15:32:18 2009 -0500 Staging: comedi: remove __cplusplus check c++ isn't supported in the kernel. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit a6279bc9e4dfb30bef8e3e1f41df8e877ecd3e30 Author: Shawn Bohrer Date: Sun Oct 18 15:32:17 2009 -0500 Staging: comedi: Don't check for -ENOIOCTLCMD unlocked_ioctl() never returns -ENOIOCTLCMD so remove the check. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 5d7ae225540a98b6ee7ab1447c6a1eed89c219cd Author: Shawn Bohrer Date: Sun Oct 18 15:32:16 2009 -0500 Staging: comedi: remove check for HAVE_COMPAT_IOCTL All new kernels have support for compat_ioctl so remove the check and support for older kernels. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 00a1855c21ab1efc71db98b0a87ea3d0ee7b8d92 Author: Shawn Bohrer Date: Sun Oct 18 15:32:15 2009 -0500 staging: comedi: Remove check for HAVE_UNLOCKED_IOCTL All new kernels have unlocked_ioctl so we don't need to check. Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 013f230c4f2622cbbc736c50223b49bced024655 Author: Daniel Patrick Johnson Date: Wed Oct 14 02:04:24 2009 +0000 Staging: comedi: pcmmio: more coding style cleanup Signed-off-by: Daniel Patrick Johnson Signed-off-by: Greg Kroah-Hartman commit d2d08955e77a84a0a022dfa9e6f4b4b6c6773281 Author: Daniel Patrick Johnson Date: Wed Oct 14 02:04:23 2009 +0000 Staging: comedi: pcmmio: Coding style cleanup Signed-off-by: Daniel Patrick Johnson Signed-off-by: Greg Kroah-Hartman commit 22d89f4abfe492ac347a41e053151e4a6c2787aa Author: Daniel Patrick Johnson Date: Wed Oct 14 02:04:21 2009 +0000 Staging: Comedi: pcm_common: Fixed all checkpatch issues Signed-off-by: Daniel Patrick Johnson Signed-off-by: Greg Kroah-Hartman commit b055d0d3c74a7b9bbf18806b2814632a9da922f3 Author: Daniel Patrick Johnson Date: Wed Oct 7 23:52:25 2009 +0000 Staging: comedi: ni_mio_cs.c: coding style cleanup Signed-off-by: Daniel Patrick Johnson Signed-off-by: Greg Kroah-Hartman commit 828684f9a6e096f9150bad523c43b75d74b9badd Author: Dirk Hohndel Date: Tue Sep 29 11:23:44 2009 +0200 Staging: comedi: trivial fix of a very frequent spelling mistake something-bility is spelled as something-blity so a grep for 'blit' would find these lines this is so trivial that I didn't split it by subsystem / copy additional maintainers - all changes are to comments The only purpose is to get fewer false positives when grepping around the kernel sources. Signed-off-by: Dirk Hohndel Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 56f5f24d1b5fd4562bc83cc9a06cc7c817141b4d Author: Kevyn-Alexandre Paré Date: Fri Sep 25 19:32:17 2009 -0700 Staging: comedi: amplc_pc263.c: more coding style fixes Signed-off-by: Kevyn-Alexandre Paré Signed-off-by: Greg Kroah-Hartman commit abdedefed70a6b5f20e40d3d5847a6d9c605bf4c Author: Kevyn-Alexandre Paré Date: Fri Sep 25 19:32:16 2009 -0700 Staging: comedi: amplc_pc263.c: fix coding style issues Signed-off-by: Kevyn-Alexandre Paré Signed-off-by: Greg Kroah-Hartman commit ff492d38bab77ca53b02d3a54a03b5d6ca97490a Author: Bruce Jones Date: Tue Sep 29 10:56:57 2009 -0700 Staging: comedi: adl_pci7432: coding style cleanup Correct coding style problems in this file. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 1ab1774f12c4157e47e063e9c73fd8a6520afa6d Author: Bruce Jones Date: Tue Sep 29 10:43:29 2009 -0700 Staging: comedi: adl_pci7296: CodingStyle cleanup Fix up printk's and other simple coding style issues. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 0dfd69bfdbf9de7021e81443c0c195f7da208a7d Author: Bruce Jones Date: Tue Sep 29 10:26:29 2009 -0700 Staging: comedi: acl7225b.c: CodingStyle printk fixups Clean up the printk's in this driver. Signed-off-by: Bruce Jones Cc: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 2829db3eecf54ac32a870617742ebfeb1a515f43 Author: Shane Warden Date: Tue Sep 22 16:13:03 2009 -0700 Staging: comedi: comedi_compat32.h: Fixed checkpatch.pl issues Signed-off-by: Shane Warden Signed-off-by: Greg Kroah-Hartman commit 6dd60bc62988fab9977b7fd0cd14eedc6e27eecd Author: Bruce Jones Date: Thu Sep 24 15:39:52 2009 -0700 Staging: comedi: vmk80xx: cleanup formatting Clean up formatting of a struct initializer, as per the standard conventions. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 3c9cd618b9aa829dce14880d2ea1e12ea886c2c9 Author: Bruce Jones Date: Thu Sep 24 15:03:36 2009 -0700 Staging: comedi: ni_atmio16d: printk fixups Fix improper use of printks in this driver. Most are debug messages under a DEBUG #ifdef, a few are info/warnings that should get logged for driver error conditions. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit ce5ade4f74139aad964ee4c15017a5725e3d3511 Author: Bruce Jones Date: Thu Sep 24 15:02:36 2009 -0700 Staging: comedi: nt_atmio16d: space and tab fixes Turn spaces into tabs to keep scripts/checkpatch.pl happy. The actual changes here are in a comment, so the script is just being silly. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 988da29c48ca2fc1144a2f11ca7f78c32b6da83b Author: Bruce Jones Date: Thu Sep 24 15:01:35 2009 -0700 Staging: comedi: ni_atmio16d: brace fixes Fix improper use of braces in drivers/staging/comedi/drivers/ni_atmio16d.c Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 2c146810e30f7818e95a90e36725c23facef833a Author: Bruce Jones Date: Thu Sep 24 14:59:52 2009 -0700 Staging: comedi: ni_atmio16d: fix formating errors Correct formatting errors - in this case line length and spaces before parens. Signed-off-by: Bruce Jones Signed-off-by: Greg Kroah-Hartman commit 120be77b880f39dffd95342494866685488ae1f6 Author: matt mooney Date: Wed Sep 30 19:25:02 2009 -0700 Staging: comedi: mite.h: deletion of unused functions drivers/mite.h: removed declared but undefined functions mite_ll_from_kvmem and mite_setregs Signed-off-by: matt mooney Signed-off-by: Greg Kroah-Hartman commit 5256fb8818917d7c70b192dd11194a0126772bd1 Author: matt mooney Date: Wed Sep 30 19:24:00 2009 -0700 Staging: comedi: mite.c: fix coding style - drivers/mite.c: added KERN_ facility level to printk - moved EXPORT_SYMBOL macro to follow function/variable Signed-off-by: matt mooney Signed-off-by: Greg Kroah-Hartman commit d1a044083c2d09cc146f97dc2a1e7b31dc63fbfb Author: Allison Randal Date: Thu Sep 24 00:19:43 2009 -0700 Staging: comdi: ni_at_ao.c: fix coding style error The line was too long, used braces on single line for loop body. Signed-off-by: Allison Randal Signed-off-by: Greg Kroah-Hartman commit 62eeae93080f1189894b7933d07e5f62461d1cd4 Author: Shane Warden Date: Tue Sep 22 16:13:04 2009 -0700 Staging: comedi: comedidev.h: Fixed checkpatch.pl issues Signed-off-by: Shane Warden Signed-off-by: Greg Kroah-Hartman commit f36624369ff2922f3aa8b5cef0376bcec759ebef Author: Shane Warden Date: Tue Sep 22 16:13:02 2009 -0700 Staging: comedi: comedi_compat32: Fixed checkpatch.pl issues Signed-off-by: Shane Warden Signed-off-by: Greg Kroah-Hartman commit 63a4eca57cacd9043da71287590525261563a1f2 Author: Bart Massey Date: Mon Sep 21 11:48:52 2009 -0700 Staging: comedi: ni_labpc_cs: wrapped long comments Signed-off-by: Bart Massey Signed-off-by: Greg Kroah-Hartman commit 92c4bad75cef701af881c8caffa1b02f7891a295 Author: Bart Massey Date: Mon Sep 21 11:38:07 2009 -0700 Staging: comedi: ni_labpc_cs: removed null check from kfree Signed-off-by: Bart Massey Signed-off-by: Greg Kroah-Hartman commit 962331810fffda3e9ee474fbd9d748ee32ecc1f6 Author: Bart Massey Date: Mon Sep 21 11:33:06 2009 -0700 Staging: comedi: ni_labpc_cs: removed null initialization of static Signed-off-by: Bart Massey Signed-off-by: Greg Kroah-Hartman commit b79eb4c113b539c23d5bac8d58b55690892e31e5 Author: Bart Massey Date: Mon Sep 21 11:32:36 2009 -0700 Staging: comedi: ni_labbc_cs: cleaned up debug define a bit Signed-off-by: Bart Massey Signed-off-by: Greg Kroah-Hartman commit 8642fc4e2bd5e310eeacc4da8e88746deebf2310 Author: Shane Warden Date: Mon Sep 21 11:51:44 2009 -0700 Staging: comedi: ni_labpc.h: Fixed line lengths of some trailing comments. Signed-off-by: Shane Warden Signed-off-by: Greg Kroah-Hartman commit becdaa83c4e12127fd61373707bea11e751234af Author: Vlatko Kosturjak Date: Mon Sep 21 21:32:40 2009 +0200 Staging: comedi: adl_pci6208: code styling fix Fix a checkpatch.pl errors. Signed-off-by: Vlatko Kosturjak Signed-off-by: Greg Kroah-Hartman commit d43d27abf7a2e8388bb0b1d9bf33bd427bc2137a Author: Mithlesh Thukral Date: Mon Sep 21 11:53:27 2009 -0700 Staging: comedi: drivers.c: checkpatch fix Fix a checkpatch.pl error. Fix struct * foo to struct *foo Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 228ec3402130b158ccd0e690ac5c4a0b27317786 Author: Ben Kero Date: Wed Sep 23 02:49:05 2009 -0700 Staging: comedi: 8255: Fix coding style error EXPORT_SYMBOL's in the wrong place. Unnecessary {}s Signed-off-by: Ben Kero Signed-off-by: Greg Kroah-Hartman commit 155b44aae0ed9a0f9aecc8c528ba5bc3b26f8377 Author: Greg Kroah-Hartman Date: Mon Sep 21 11:35:45 2009 -0700 Staging: comedi: 8253: fix coding style error The line was too long. Signed-off-by: Greg Kroah-Hartman commit 334a33d81016a391b1f8c75d482eebb8bb7362fb Author: Shawn Bohrer Date: Sun Nov 15 22:18:02 2009 -0600 staging: line6: Convert simple_strtoul to strict_strtoul in midi.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 7e4d5c13d8048ed37f94dbcdf54228b404a775c7 Author: Shawn Bohrer Date: Sun Nov 15 22:18:01 2009 -0600 staging: line6: Convert simple_strtoul to strict_strtoul in pod.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit c0e6e7c1b2409fd4968b256ae1d979e6df14b3f1 Author: Shawn Bohrer Date: Sun Nov 15 22:18:00 2009 -0600 staging: line6: Convert simple_strtoul to strict_strtoul in variax.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit bb950a169d98ac9a2b8a899f95ed5d784c14f3cc Author: Shawn Bohrer Date: Sun Nov 15 22:17:59 2009 -0600 staging: line6: Convert simple_strtol to strict_strtol in toneport.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 63a4a8bad9715421e9efdfba6455c7a25d1be6e7 Author: Shawn Bohrer Date: Sun Nov 15 22:17:58 2009 -0600 staging: line6: Lindent and fix some checkpatch warnings in toneport.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit afb9091dd3c58a6d83e8afac7afff8a8bfe8c97a Author: Shawn Bohrer Date: Sun Nov 15 22:17:57 2009 -0600 staging: line6: Fix checkpatch warnings in pcm.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 49da3dd935c52542ef21daa585c01401867dddad Author: Shawn Bohrer Date: Sun Nov 15 22:17:56 2009 -0600 staging: line6: Convert simple_strtoul() to strict_strtoul in control.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 2a20bf6f1a945994f5c43308b6dd8b7058e2c290 Author: Shawn Bohrer Date: Sun Nov 15 22:17:55 2009 -0600 staging: line6: Fix some checkpatch warnings in control.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit acdc102181212481f94d0483f5a7a7f9f6cbafd3 Author: Shawn Bohrer Date: Sun Nov 15 22:17:54 2009 -0600 staging: line6: Lindent control.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit df30c0f0730647f428e54bd0305246292a5cdcb2 Author: Shawn Bohrer Date: Sun Nov 15 22:17:53 2009 -0600 staging: line6: Fix checkpatch errors in capture.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit e0645d634666ec6c9970d0addb5982788e13e435 Author: Shawn Bohrer Date: Sun Nov 15 22:17:52 2009 -0600 staging: line6: Lindent and fix checkpatch warnings in capture.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 7f66fe58cea91d60870bb7e80ba777aa233f206d Author: Shawn Bohrer Date: Sun Nov 15 22:17:51 2009 -0600 staging: line6: Fix checkpatch errors in playback.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 45af4977174e91ca5ee67802978e5ea02b087fe1 Author: Shawn Bohrer Date: Sun Nov 15 22:17:50 2009 -0600 staging: line6: Lindent and fix checkpatch warnings in playback.c Signed-off-by: Shawn Bohrer Signed-off-by: Greg Kroah-Hartman commit 034f58575982e473c808e501b5223274b14743c7 Author: Randy Dunlap Date: Thu Nov 12 15:46:01 2009 -0800 Staging: line6: fix printk formats Fix printk format warnings in line6/pod.c; sizeof() is of type size_t, so use %zu. drivers/staging/line6/pod.c:581: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' drivers/staging/line6/pod.c:693: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit d722a51007f60d173262e176157e6d9c58ef2cd0 Author: Frederik Deweerdt Date: Tue Sep 15 09:29:43 2009 +0000 Staging: line6 driver.c: factorize code and cleanups - Factorize the code from line6_send_raw_message and line6_send_program into line6_send - Minor style cleanups Signed-off-by: Frederik Deweerdt Signed-off-by: Greg Kroah-Hartman commit 9dbeb8967262f2e6777441318780f224261ec410 Author: Vasilis Liaskovitis Date: Tue Sep 22 01:11:56 2009 -0500 Staging: b3dfg: remove check for pci bus master Remove unneccesary check for pci master in enable_transmission() Signed-off-by: Vasilis Liaskovitis Signed-off-by: Greg Kroah-Hartman commit e20aea64e160d5873c2aaf62cc255ea81ce000eb Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:44:33 2009 +0200 Staging: remove no longer needed rt3090 driver rt2860 handles now all rt2860/rt3090 chipsets. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e44fd1cfded0e42c681ad5419b1ceea600ead29d Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:44:24 2009 +0200 Staging: rt2860: add RT3090 chipset support Add support for RT3090 chipset (based on 2009_0612_RT3090_Linux_STA_V2.1.0.0_DPO). Tested with RT2860. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c3126b93b512c046340dfc4ab38beabd8084169f Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:44:15 2009 +0200 Staging: rt28x0: remove unused code from common/dfs.c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ca97b8388838ee9ea4b4bad04948f8f7f8a607a3 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:44:07 2009 +0200 Staging: rt28x0: updates from vendor's V2.1.0.0 drivers Port changes from: * 2009_0420_RT2860_Linux_STA_V2.1.0.0 * 2009_0302_RT2870_Linux_STA_v2.1.0.0 * 2009_0525_RT3070_Linux_STA_v2.1.1.0 to in-kernel drivers. From the RT2860 driver release note: [2.1.0.0] 1. New generation schema for multiple OS porting 2. Fixed Ad-hoc ping failed in noisy environment. (Probe Response has too many retry packet then cause "not enough space in MgmtRing") 3. Fixed WPA(2)PSK issue when group cipher of AP is WEP40 or WEP104. 4. Modified iwpriv ra0 get_site_survey: In scan list result: Security shows "NONE" when AP is OPEN/NONE, shows "WEP" when AP is OPEN/WEP or SHARED/WEP, shows "WPAPSK(WPA2PSK)/TKIP(AES)" when AP is WPAPSK(WPA2PSK)/TKIP(AES) shows "WPA(WPA2)/TKIP(AES)" when AP is WPA(WPA2)/TKIP(AES) 5. Support kthread. 6. Add New A band channel list region 15 contains the whole channels in the A band region 4 and the new CE channel 167,169,171,173 7. Add New IEEE802.11r functionality. 8. Fixed WPA2-Enterprise failed when AP reboot or turn off then turn on. 9. Fixed STA cannot connect to 11B only AP when the setting of is PHY_11GN. From the RT2870 driver release note: [V2.1.0.0] 1. New generation schema for multiple OS porting. 2. Fixed Ad-hoc ping failed in noisy environment. (Probe Response has too many retry packet then cause "not enough space in MgmtRing"). 3. Fixed WPS failed with D-Link DIR-628 in 5GHz. 4. Change FastRoaming in DAT file to AutoRoaming. 5. Support kthread. 6. Add New A band channel list region 15 contains the whole channels in the A band region and the new CE channel 167,169,171,173. 7. New IEEE802.11r functionality. From the RT3070 driver release note: Version V2.1.1.0 1. Linux kernel 2.6.29 support. 2. Fix eFuse write from BIN file bug. Version 2.1.0.0 1. New generation schema for multiple OS porting 2. Fixed Ad-hoc ping failed in noisy environment. 3. Modified iwpriv ra0 get_site_survey: 4. Change FastRoaming in DAT file to AutoRoaming. 5. Support kthread. 6. New IEEE802.11r functionality. Tested with RT2860 and RT3070 chipsets. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3441d25f03a078d493777f165194f8623ec2750f Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:43:59 2009 +0200 Staging: rt3090: remove private ioctls This makes rt3090 match other Ralink drivers. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ee8e96c0413279e49e79f1dc5eec05af46df20b2 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:43:50 2009 +0200 Staging: rt3090: remove private debugging ioctls This makes rt3090 match other Ralink drivers. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman commit 8b44a41e344209a5be8e521e32e581ceb126b323 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:43:39 2009 +0200 Staging: rt3090: disable HAS_ANTENNA_DIVERSITY_SUPPORT option This makes rt3090 match other Ralink drivers and V2.2.0.0 vendor version. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c5c48cbccf624fd3a66885aab7e2822b4ea882a6 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 20:43:29 2009 +0200 Staging: rt3090: disable HAS_ATE option Disable ATE debugging functionality. This makes rt3090 match other Ralink drivers and V2.2.0.0 vendor version. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 11bd04f6f35621193311c32e0721142b073a7794 Merge: 4e2ccdb 9e0b5b2 Author: Linus Torvalds Date: Fri Dec 11 12:18:16 2009 -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: (109 commits) PCI: fix coding style issue in pci_save_state() PCI: add pci_request_acs PCI: fix BUG_ON triggered by logical PCIe root port removal PCI: remove ifdefed pci_cleanup_aer_correct_error_status PCI: unconditionally clear AER uncorr status register during cleanup x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource PCI: portdrv: remove redundant definitions PCI: portdrv: remove unnecessary struct pcie_port_data PCI: portdrv: minor cleanup for pcie_port_device_register PCI: portdrv: add missing irq cleanup PCI: portdrv: enable device before irq initialization PCI: portdrv: cleanup service irqs initialization PCI: portdrv: check capabilities first PCI: portdrv: move PME capability check PCI: portdrv: remove redundant pcie type calculation PCI: portdrv: cleanup pcie_device registration PCI: portdrv: remove redundant pcie_port_device_probe PCI: Always set prefetchable base/limit upper32 registers PCI: read-modify-write the pcie device control register when initiating pcie flr PCI: show dma_mask bits in /sys ... Fixed up conflicts in: arch/x86/kernel/amd_iommu_init.c drivers/pci/dmar.c drivers/pci/hotplug/acpiphp_glue.c commit acf509ae28301d78b022c534c26b1e4765c18f2b Author: Cliff Brake Date: Tue Dec 1 09:53:43 2009 -0500 USB: mos7840: add device IDs for B&B electronics devices Reviewed-by: John Pilles Signed-off-by: Cliff Brake Signed-off-by: Greg Kroah-Hartman commit a8cbd90a0410096e152f68a4e114a8b5c7abb49b Author: Cliff Brake Date: Tue Dec 1 09:53:42 2009 -0500 USB: ftdi_sio: add USB device ID's for B&B Electronics line Reviewed-by: John Pilles Signed-off-by: Cliff Brake Signed-off-by: Greg Kroah-Hartman commit 8b4959d6a53b783b9f1cf1d5d9ed9f2c36440892 Author: Felipe Balbi Date: Fri Dec 4 15:47:47 2009 +0200 USB: musb: musb_host: fix sparse warning Fix the following sparse warning: drivers/usb/musb/musb_host.c:1642:9: warning: symbol 'status' shadows an earlier one Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 1b6c3b0fb242309bc77092be4a283513be115735 Author: Felipe Balbi Date: Fri Dec 4 15:47:46 2009 +0200 USB: musb: musb_gadget: fix sparse warning Fix the following sparse warnings: drivers/usb/musb/musb_gadget.c:1161:5: warning: symbol 'musb_gadget_set_halt' was not declared. Should it be static? drivers/usb/musb/musb_gadget.c:1244:5: warning: symbol 'musb_gadget_set_wedge' was not declared. Should it be static? Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit ff85494b3f06a596a3f3b2f71841de0154799918 Author: Felipe Balbi Date: Fri Dec 4 15:47:45 2009 +0200 USB: musb: omap2430: fix sparse warning Fix the following sparse warning: drivers/usb/musb/omap2430.c:314:16: warning: Using plain integer as NULL pointer Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 09e81f3df43af16ea58261059fe779920fde430d Author: Felipe Balbi Date: Fri Dec 4 15:47:44 2009 +0200 USB: core: message: fix sparse warning Fix the following sparse warning: drivers/usb/core/message.c:1583:6: warning: symbol '__usb_queue_reset_device' was not declared. Should it be static? Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2eb5052e2a22b0d9edbca19d099661fdabfc03ca Author: Felipe Balbi Date: Fri Dec 4 15:47:43 2009 +0200 USB: core: hub: fix sparse warning Fix the following sparse warning: drivers/usb/core/hub.c:1664:37: warning: Using plain integer as NULL pointer Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 719a6e8876ee860fcb0c90d4123bff1e3df26dfd Author: Felipe Balbi Date: Fri Dec 4 15:47:42 2009 +0200 USB: core: fix sparse warning for static function Fix the following sparse warning: drivers/usb/core/usb.c:1033:15: warning: symbol 'usb_debug_devices' was not declared. Should it be static? Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 396cda90d228d0851f3d64c7c85a1ecf6b8ae1e8 Author: Michal Nazarewicz Date: Mon Nov 30 10:55:40 2009 +0100 USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS If g_ether and g_multi are both built CONFIG_USB_ETH_RNDIS symbol may be redefined in the later and, whats even worse, g_ether's settings may affect g_multi's. This adds a USB_ETH_RNDIS symbol defined at the beginning of ether.c and multi.c according toproper KConfig settings. Signed-off-by: Michal Nazarewicz Cc: Marek Szyprowski Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3f0479e00a3fca9590ae8d9edc4e9c47b7fa0610 Author: Sarah Sharp Date: Thu Dec 3 09:44:36 2009 -0800 USB: Check bandwidth when switching alt settings. Make the USB core check the bandwidth when switching from one interface alternate setting to another. Also check the bandwidth when resetting a configuration (so that alt setting 0 is used). If this check fails, the device's state is unchanged. If the device refuses the new alt setting, re-instate the old alt setting in the host controller hardware. If a USB device doesn't have an alternate interface setting 0, install the first alt setting in its descriptors when a new configuration is requested, or the device is reset. Add a mutex per root hub to protect bandwidth operations: adding/reseting/changing configurations, and changing alternate interface settings. We want to ensure that the xHCI host controller and the USB device are set up for the same configurations and alternate settings. There are two (possibly three) steps to do this: 1. The host controller needs to check that bandwidth is available for a different setting, by issuing and waiting for a configure endpoint command. 2. Once that returns successfully, a control message is sent to the device. 3. If that fails, the host controller must be notified through another configure endpoint command. The mutex is used to make these three operations seem atomic, to prevent another driver from using more bandwidth for a different device while we're in the middle of these operations. While we're touching the bandwidth code, rename usb_hcd_check_bandwidth() to usb_hcd_alloc_bandwidth(). This function does more than just check that the bandwidth change won't exceed the bus bandwidth; it actually changes the bandwidth configuration in the xHCI host controller. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 91017f9cf5fcfb601b8d583c896ac7de7d200c57 Author: Sarah Sharp Date: Thu Dec 3 09:44:34 2009 -0800 USB: Refactor code to find alternate interface settings. Refactor out the code to find alternate interface settings into usb_find_alt_setting(). Print a debugging message and return null if the alt setting is not found. While we're at it, correct a bug in the refactored code. The interfaces in the configuration's interface cache are not necessarily in numerical order, so we can't just use the interface number as an array index. Loop through the interface caches, looking for the correct interface. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 06df572909080786e128eabdb2e39a12bce239de Author: Sarah Sharp Date: Thu Dec 3 09:44:31 2009 -0800 USB: xhci: Fix command completion after a drop endpoint. The xHCI driver issues a Configure Endpoint command for two reasons: - a new configuration or alternate interface setting is selected - a quirky Fresco Logic prototype requires the command after a Reset Endpoint command. The xHCI driver only waits on the command in the first case. When a configure endpoint command completes, the driver needs to know why the command was generated. When the driver only supported selecting an initial configuration, the check was simple. Unfortunately that check doesn't work now that the driver supports alternate interfaces. If an endpoint must be dropped (because it's not in the new alternate setting) and no new endpoints are added, the math involving xhci_last_valid_endpoint() will assign -1 to an unsigned integer and cause an out-of-bounds array access. Move the check for the quirky hardware sooner and avoid the bad array access. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 74f9fe21e0440066eb337b9f644238cb3050b91c Author: Sarah Sharp Date: Thu Dec 3 09:44:29 2009 -0800 USB: xhci: Make reverting an alt setting "unfailable". When a driver wants to switch to a different alternate setting for an interface, the USB core will (soon) check whether there is enough bandwidth. Once the new alternate setting is installed in the xHCI hardware, the USB core will send a USB_REQ_SET_INTERFACE control message. That can fail in various ways, and the USB core needs to be able to reinstate the old alternate setting. With the old code, reinstating the old alt setting could fail if the there's not enough memory to allocate new endpoint rings. Keep around a cache of (at most 31) endpoint rings for this case. When we successfully switch the xHCI hardware to the new alt setting, the old alt setting's rings will be stored in the cache. Therefore we'll always have enough rings to satisfy a conversion back to a previous device setting. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3342ecda3ffb059f2ffd765a71d9579f0aa036eb Author: Sarah Sharp Date: Thu Dec 3 11:35:59 2009 -0800 USB: usbtmc: Use usb_clear_halt() instead of custom code. Make the USB Test & Measurement driver use usb_clear_halt() instead of usb_control_msg() to clear a stalled endpoint. This will allow devices to be tested under an xHCI host controller. The endpoint stall will not be cleared in the internal xHCI hardware state unless usb_clear_halt() is used. Signed-off-by: Sarah Sharp Cc: Steve Holland Cc: Oliver Neukum Cc: Jouni Ryno Cc: Gergely Imreh Signed-off-by: Greg Kroah-Hartman commit 36d0344c254a7b333272757f858c403ea3a2d29f Author: Sarah Sharp Date: Tue Dec 1 10:37:07 2009 -0800 USB: xhci: Add correct email and files to MAINTAINERS entry. Add the xHCI driver files to its MAINTAINERS entry so that I'm Cc'd on cleanup patches. Update the email address to one I actually use for sending patches and responding to Linux mailing list emails. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit b2b608090544ecd30a826c32958bca74fb717963 Author: Julia Lawall Date: Sat Nov 21 12:52:17 2009 +0100 USB: ehci-omap.c: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 06e182911da95a304eaab71288a47bc5c799c4eb Author: Julia Lawall Date: Sat Nov 21 12:51:47 2009 +0100 USB: xhci-mem.c: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Acked-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0c7a2b72746a96f999fd2728520d03d94879be69 Author: CHENG Renquan Date: Sun Nov 22 01:28:52 2009 +0800 USB: add remove_id sysfs attr for usb drivers Accroding commit 0994375e, which is adding remove_id sysfs attr for pci drivers, for management tools dynamically bind/unbind a pci/usb devices to a specified drivers; with this patch, the management tools can be simplied. And the original code didn't handle the failure of usb_create_newid_file, fixed in this patch. Signed-off-by: CHENG Renquan Signed-off-by: Greg Kroah-Hartman commit 5791e10341f8bf284bd16eb0949cbeed91c9dac8 Author: Randy Dunlap Date: Sun Dec 6 10:03:02 2009 -0800 USB: g_multi kconfig: fix depends and help text USB_G_MULTI uses block and net interface functions, so make it depend on both of those. Otherwise there are lots of build errors. Fix USB_G_MULTI config help text typos and copy/paste error. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 8d87cacda7c8db5c131bfcaaa1d90bfe918c2ebc Author: zhao.ming9@zte.com.cn Date: Mon Dec 7 11:36:34 2009 +0800 USB: option: add pid for ZTE This patch adds ZTE modem devices. Signed-off-by: Ming Zhao Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9279095a9ec191f446372c764413d586c3656214 Author: David Vrabel Date: Mon Dec 7 13:50:41 2009 +0000 USB: wusb: correctly check size of security descriptor. Reported-by: Roel Kluin Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 2e9729d0f86094e52d14e8b9e17c0aad565ee477 Author: David Vrabel Date: Mon Dec 7 13:50:40 2009 +0000 USB: wusb: don't leak urb in certain error cases Don't leak an urb in wusb_dev_alloc() if the following kmalloc() failed. Reported-by: Julia Lawall Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 0d370755dd4ad3d119818579cfa3eb2e9978b3eb Author: David Vrabel Date: Mon Dec 7 13:50:39 2009 +0000 USB: whci-hcd: correctly handle sg lists longer than QTD_MAX_XFER_SIZE. When building qTDs (sTDs) from a scatter-gather list, the length of the qTD must be a multiple of wMaxPacketSize if the transfer continues into another qTD. This also fixes a link failure on configurations for 32 bit processors with 64 bit dma_addr_t (e.g., CONFIG_HIGHMEM_64G). Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit f3f6faa9edf67c1018270793e0547b0f81abb47e Author: Alan Stern Date: Mon Dec 7 16:47:43 2009 -0500 USB: usb-storage: fix bug in fill_inquiry This patch (as1312) fixes a minor bug in usb-storage. The fill_inquiry() routine neglects to pre-load the inquiry data buffer with spaces. As a result, if the vendor name is shorter than 8 characters or the product name is shorter than 16, the remainder will be filled with garbage. The patch also removes some unnecessary calls to strlen(). Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit a0bb108112a872c0b0c4b3ef4974f95fb75b155d Author: Alan Stern Date: Mon Dec 7 16:39:16 2009 -0500 USB: usb-storage: add BAD_SENSE flag This patch (as1311) fixes a problem in usb-storage: Some devices are pretty broken when it comes to reporting sense data. The information they send back indicates that they have more than 18 bytes of sense data available, but when the system asks for more than 18 they fail or hang. The symptom is that probing fails with multiple resets. The patch adds a new BAD_SENSE flag to indicate that usb-storage should never ask for more than 18 bytes of sense data. The flag can be set in an unusual_devs entry or via the "quirks=" module parameter, and it is set automatically whenever a REQUEST SENSE command for more than 18 bytes fails or times out. An unusual_devs entry is added for the Agfa photo frame, which uses a Prolific chip having this bug. Signed-off-by: Alan Stern Tested-by: Daniel Kukula Cc: stable Signed-off-by: Greg Kroah-Hartman commit 8e4ceb38eb5bbaef22fc00abe9bc11e26bea2ab5 Author: Alan Stern Date: Mon Dec 7 13:01:37 2009 -0500 USB: prepare for changover to Runtime PM framework This patch (as1303) revises the USB Power Management infrastructure to make it compatible with the new driver-model Runtime PM framework: Drivers are no longer allowed to access intf->pm_usage_cnt directly; the PM framework manages its own usage counters. usb_autopm_set_interface() is eliminated, because it directly sets intf->pm_usage_cnt. usb_autopm_enable() and usb_autopm_disable() are eliminated, because they call usb_autopm_set_interface(). usb_autopm_get_interface_no_resume() and usb_autopm_put_interface_no_suspend() are added. They correspond to pm_runtime_get_noresume() and pm_runtime_put_noidle() in the PM framework. The power/level attribute no longer accepts "suspend", only "on" and "auto". The PM framework doesn't allow devices to be forced into a suspended mode. The hub driver contains the only code that violates the new guidelines. It is updated to use the new interface routines instead. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9af23624ae2c7978313b46e58fdc4ca5d8b799f5 Author: Greg Kroah-Hartman Date: Mon Nov 30 11:15:02 2009 -0800 USB: add devpath sysfs attribute This is not exported from the usb core, yet we rely on it to create paths to interfaces for this device in sysfs. Export it to make userspace tools have an easier time to figure things out. Signed-off-by: Greg Kroah-Hartman commit be30fc4b650acb85549fd0a9c42fe042366de009 Author: Aguilar Pena, Leed Date: Fri Nov 20 11:32:53 2009 -0600 USB: twl4030: Enable USB regulators before enabling USB charging For TWL family of power management ICs, USB charging works only when USB regulators are in enabled state: 3v1, 1v5, 1v8 On a USB cable attach, twl4030_phy_resume(twl) function enables the regulators. Enable USB charging, only after all regulators are enabled. Its observed that enabling USB charging before regulators are enabled, causes USB charging to fail. Tested on: Zoom2: omap3430: ES3.1 + TWL5030 Needs T2-MADC and T2-BCI drivers which are still not upstreamed. Signed-off-by: Moiz Sonasath Signed-off-by: Leed Aguilar Acked-by: Vikram Pandita Acked-by: Anand Gadiyar Acked-by: Nishanth Menon Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit ec412b92dbe3ea839716853eea058d1bcc5e6ca4 Author: Andre Herms Date: Thu Nov 19 18:14:49 2009 +0100 USB: usbtmc: repeat usb_bulk_msg until whole message is transfered usb_bulk_msg() transfers only bytes up to the maximum packet size. It must be repeated by the usbtmc driver until all bytes of a TMC message are transfered. Without this patch, ETIMEDOUT is reported when writing TMC messages larger than the maximum USB bulk size and the transfer remains incomplete. The user will notice that the device hangs and must be reset by either closing the application or pulling the plug. Signed-off-by: Andre Herms Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7723de7e19b744144975a09c81777ec0f14ac5b3 Author: Sergei Shtylyov Date: Wed Nov 18 22:55:28 2009 +0300 USB: musb_gadget: remove pointless loop Remove the pointless 'do () while (0)' loop from musb_g_tx() -- it makes this function symmetric to musb_g_rx()... Signed-off-by: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 46034dca515bc4ddca0399ae58106d1f5f0d809f Author: Sergei Shtylyov Date: Wed Nov 18 22:54:32 2009 +0300 USB: musb_gadget_ep0: stop abusing musb_gadget_set_halt() Stop playing with musb->lock and abusing musb_gadget_set_halt() in the code clearing the endpoint halt feature -- instead, manipulate the registers directly. While at it, get rid uf unneeded line breaks and over-indentation in the code setting the endpoint halt feature. Signed-off-by: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 47e9760529a9823be59d879f726acdc7e2fcbe11 Author: Sergei Shtylyov Date: Wed Nov 18 22:51:51 2009 +0300 USB: musb_gadget: implement set_wedge() method Implement the driver's set_wedge() method by adding the 'wedged' flag to the 'struct musb_ep'. Signed-off-by: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 196f1b7a387546f425df2f1fad26772e3d513aea Author: Sergei Shtylyov Date: Mon Nov 16 16:24:05 2009 +0530 USB: musb_gadget_ep0: fix unhandled endpoint 0 IRQs, again Commit a5073b52833e4df8e16c93dc4cbb7e0c558c74a2 (musb_gadget: fix unhandled endpoint 0 IRQs) somehow missed its key change: "The gadget EP0 code routinely ignores an interrupt at end of the data phase because of musb_g_ep0_giveback() resetting the state machine to "idle, waiting for SETUP" phase prematurely." So, the majority of the cases of unhandled IRQs is still unfixed... Signed-off-by: Sergei Shtylyov Signed-off-by: Anand Gadiyar Cc: stable Signed-off-by: Greg Kroah-Hartman commit 32c3b94e2b643bfeca5e48b0f7f0b81812c7a1d3 Author: Anand Gadiyar Date: Mon Nov 16 21:09:21 2009 +0530 USB: MUSB: save hardware revision at init MUSB: save hardware revision at init This can be used later to flag workarounds for issues affecting particular revisions. Saving this at init avoids having to read the HWVERS register multiple times in code. While at it, use macros to extract the version information instead of using hardcoded values. Signed-off-by: Anand Gadiyar Cc: Ajay Kumar Gupta Acked-by: Felipe Balbi Cc: David Brownell Cc: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 32340d3f75dba732a0545173ac65aab6fc3d4952 Author: Mike Frysinger Date: Mon Nov 16 16:19:29 2009 +0530 USB: musb: fix printf warning in debug code The debug code in the DMA ISR uses a %d for a size_t when it should be using %zu. Otherwise gcc whines with: drivers/usb/musb/musbhsdma.c: In function 'dma_controller_irq': drivers/usb/musb/musbhsdma.c:288: warning: format '%d' expects type 'int', but argument 7 has type 'size_t' Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 8ba63a22962e7030a10f5ce112a212240792ec44 Author: Cliff Cai Date: Mon Nov 16 20:05:03 2009 -0500 USB: musb: Blackfin code needs NOP_USB_XCEIV too Otherwise we get the link failure: drivers/built-in.o: In function 'musb_platform_init': drivers/usb/musb/blackfin.c:300: undefined reference to 'usb_nop_xceiv_register' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 0702794c41c3740e65ec83d393b7cb4d048be954 Author: Sonic Zhang Date: Mon Nov 16 16:19:27 2009 +0530 USB: musb: error out when anomaly 05000380 is applicable Since we can't work around anomaly 05000380, throw a build error up and instruct the user to use a different mode. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 6bd03e7b9d0f70928f9cd793326c28e4e08ffc96 Author: Cliff Cai Date: Mon Nov 16 16:19:26 2009 +0530 USB: musb: clear the Blackfin interrupt pending bits early in the ISR If we clear the interrupt pending bits at the end, we sometimes return too fast and have the same interrupt assert itself. There is no way in a Blackfin system to force a sync of this state, so the hardware manual instructs people to clear interrupt flags early in their ISR. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 2002e7684dc24a9ac245b7d015380918657ec032 Author: Bryan Wu Date: Mon Nov 16 16:19:25 2009 +0530 USB: musb: fix musb_platform_set_mode() definition Update function definition to match latest MUSB framework. Signed-off-by: Bryan Wu Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 9720faec51127d35f8bf1bdf577de92728d5e91b Author: Sonic Zhang Date: Mon Nov 16 16:19:24 2009 +0530 USB: musb: add work around for Blackfin anomaly 05000456 Only allow USE_MODE1 when the Blackfin part is not affected by anomaly 05000456 (USB Receive Interrupt Is Not Generated in DMA Mode 1) since we can't support the mode in that case. Signed-off-by: Sonic Zhang Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit daf5822f05397623c6d2376748c7965707cf8ef8 Author: Sonic Zhang Date: Mon Nov 16 19:13:08 2009 +0530 USB: musb: add notes for Blackfin anomalies Add some helpful notes about how the driver works around different anomalies that exist in the on-chip host controller. Signed-off-by: Sonic Zhang Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 1c47cb018d79b444a189074a955d88811581efb1 Author: Sonic Zhang Date: Mon Nov 16 20:04:21 2009 -0500 USB: musb: update Blackfin processor dependency Do not allow MUSB driver to be selected on derivatives that don't have the MUSB controller on them. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 42c84247369de15041920554a66328924605c9da Author: Bryan Wu Date: Mon Nov 16 16:19:21 2009 +0530 USB: musb: kill some useless comments in Blackfin driver Signed-off-by: Bryan Wu Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 92dea9f3c92a96fce8f355151d536f5b1d07589e Author: Bryan Wu Date: Mon Nov 16 16:19:20 2009 +0530 USB: musb: kill compile warning for Blackfin systems The Blackfin version of musb_read_target_reg_base() returns a u16 when the common code expects a (void __iomem *), so update the Blackfin function to return the right value. This fixes the compile warning: drivers/usb/musb/musb_core.c: In function 'musb_core_init': drivers/usb/musb/musb_core.c:1448: warning: assignment makes pointer from integer without a cast Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 04f4086fdc10e60e790d5fc070c33c8905d1d32e Author: Mike Frysinger Date: Mon Nov 16 16:19:19 2009 +0530 USB: musb: tweak musb_read_fifo() to avoid unused warnings Otherwise gcc will whine about epnum/dma_reg being unused when building for BF54x parts. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Cliff Cai Signed-off-by: Anand Gadiyar Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit bcef3fd57019e5fc0c8df402b040a52826422a4b Author: Sarah Sharp Date: Wed Nov 11 10:28:44 2009 -0800 USB: xhci: Handle errors that cause endpoint halts. The xHCI 0.95 and 0.96 specification defines several transfer buffer request completion codes that indicate a USB transaction error occurred. When a stall, babble, transaction, or split transaction error completion code is set, the xHCI has halted that endpoint ring. Software must issue a Reset Endpoint command and a Set Transfer Ring Dequeue Pointer command to clean up the halted ring. The USB device driver is supposed to call into usb_reset_endpoint() when an endpoint stalls. That calls into the xHCI driver to issue the proper commands. However, drivers don't call that function for the other errors that cause the xHC to halt the endpoint ring. If a babble, transaction, or split transaction error occurs, check if the endpoint context reports a halted condition, and clean up the endpoint ring if it does. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 5ad6a529c28db36010ec56c5ee8120addc712b51 Author: Sarah Sharp Date: Wed Nov 11 10:28:40 2009 -0800 USB: xhci: Return success for vendor-specific info codes. An xHCI host controller manufacturer can choose to implement several vendor-specific informational completion codes. These are all to be treated like a successful transfer completion. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ec74e4035a660013379882ec243de98dd6717b61 Author: Sarah Sharp Date: Wed Nov 11 10:28:36 2009 -0800 USB: xhci: Return -EPROTO on a split transaction error. When the xHCI hardware says a transfer completed with a split transaction error, set the URB status to -EPROTO. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 04dd950d92f41155ed0cdf39b6bfbeea22eadb34 Author: Sarah Sharp Date: Wed Nov 11 10:28:30 2009 -0800 USB: xhci: Set transfer descriptor size field correctly. The transfer descriptor (TD) is a series of transfer request buffers (TRBs) that describe the buffer pointer, length, and other characteristics. The xHCI controllers want to know an estimate of how long the TD is, for caching reasons. In each TRB, there is a "TD size" field that provides a rough estimate of the remaining buffers to be transmitted, including the buffer pointed to by that TRB. The TD size is 5 bits long, and contains the remaining size in bytes, right shifted by 10 bits. So a remaining TD size less than 1024 would get a zero in the TD size field, and a remaining size greater than 32767 would get 31 in the field. This patches fixes a bug in the TD_REMAINDER macro that is triggered when the URB has a scatter gather list with a size bigger than 32767 bytes. Not all host controllers pay attention to the TD size field, so the bug will not appear on all USB 3.0 hosts. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f176a5d81214864904d285912da02c4bc0e9041a Author: Michal Nazarewicz Date: Mon Nov 9 14:15:27 2009 +0100 USB: g_multi: Multifunction Composite Gadget added The Multifunction Composite Gadget has two configurations consisting of Ethernet (RNDIS in first and CDC Ethernet in second configuration), CDC Serial and File-backed Storage functions. When connected to a Windows host, the first configuration is chosen thus gadget provides RNDIS Ethernet, serial and mass storage whereas when connected to Linux host, second configuration is chosen thus providing CDC Ethernet, serial and mass storage. Which configurations are built can be configured via KConfig options. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit c85efcb9657a7c15e24c1d4745826a80f9a53bbe Author: Michal Nazarewicz Date: Mon Nov 9 14:15:26 2009 +0100 USB: g_mass_storage: thread_exits callback added thread_exits callback has been added to fsg_common structure. This callback is called when MSF's thread exits (is terminated by a signal or function is unregistered). It's then gadget's responsibility to unregister the gadget. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 915c8befccbe5d81d441b53ab7a9a98caf0c67d4 Author: Michal Nazarewicz Date: Mon Nov 9 14:15:25 2009 +0100 USB: composite: usb_composite_unregister() no longer __exit Changed definition of usb_composite_unregister() function removing __exit declaration. This way, the function is included even if the whole code was not compiled as module. This is required if a compiled-in code would like to unregister a composite gadget. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 8ea864cffdfd327117d4b7829935974b3f47ff31 Author: Michal Nazarewicz Date: Mon Nov 9 14:15:24 2009 +0100 USB: g_mass_storage: most data moved to fsg_common Most of the data from fsg_dev have been moved to fsg_common structure. The fsg_dev structure holds only endpoint dependent data. The fsg_common structure has a fsg pointer which points to active fsg_dev structure -- endpoints are referenced via this pointer. This fixes the problem of several threads created when a single instance of MSF is used in several USB configurations. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit d26a6aa08b9f12b44fb1ee65625e7480d3d5bb81 Author: Michal Nazarewicz Date: Mon Nov 9 14:15:23 2009 +0100 USB: g_mass_storage: code cleaned up and comments updated Fixed most of the errors and warnings in f_mass_storage.c and storage_common.c reported by checkpatch.pl as well as updated comments. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit e8b6f8c5aa001235423878ef70bda919652e10be Author: Michal Nazarewicz Date: Mon Nov 9 14:15:22 2009 +0100 USB: g_mass_storage: lun_name_format and thread_name added A two fsg_config fields were added: * lun_name_format which lets one specify format of a name used when registering LUN devices. It is useful if there would be ever need for two MSFs to be used in a single composite gadget (as opposed to single MSF in two configuration); and * thread_name which lets one specify the name of a kernel thread used by MSF. This is not required since two or more threads can have the same name but nevertheless it's here for consistency. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 481e49296ae6979891af30c9858511d4347a5393 Author: Michal Nazarewicz Date: Mon Nov 9 14:15:21 2009 +0100 USB: g_mass_storage: fsg_config added & module params handlig changed Removed all references to mod_data in f_mass_storage.c and instead created fsg_config structure fsg_common_init() takes as an argument -- it stores all configuration options that were previously taken from mod_data. Moreover, The fsg_config structure allows per-LUN configuration of removable and CD-ROM emulation. Module parameters are handled by defining an object of fsg_module_parameters structure and then declaring module parameters via FSG_MODULE_PARAMETERS() macro. It adds proper declarations to the code making specified object be populated from module parameters. To use values stored there one may use either fsg_config_from_params() which will will a fsg_config structure with values taken from fsg_module_parameters structure or fsg_common_from_params() which will initialise fsg_common structure directly. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit d23b0f08d18fc42f26f6a0776c6d827eb35143a9 Author: Michal Nazarewicz Date: Mon Nov 9 14:15:20 2009 +0100 USB: g_mass_storage: Mass Storage Function created The f_mass_storage.c has been changed into a composite function. mass_storage.c file has been introduced which defines a g_mass_storage gadget based on composite framework. Signed-off-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit 6648f29d3be2972a74ef8e29aa5d425ab4f1fc48 Author: Sarah Sharp Date: Mon Nov 9 13:35:23 2009 -0800 USB: xhci: Add tests for TRB address translation. It's not surprising that the transfer request buffer (TRB) physical to virtual address translation function has bugs in it, since I wrote most of it at 4am last October. Add a test suite to check the TRB math. This runs at memory initialization time, and causes the driver to fail to load if the TRB math fails. Please excuse the excessively long lines in the test vectors; they can't really be made shorter and still be readable. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7f4e985448e82fe4a1cc0ae4fcecaf7e0301c07b Author: Vikram Pandita Date: Mon Nov 9 21:24:32 2009 -0600 usbtest: make module param pattern writeable Allow module_param to be writeable. This allows us to change the parameter if usbtest is built-in in the kernel. Signed-off-by: Vikram Pandita Signed-off-by: Anand Gadiyar Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed7487c2c28560a6b06900851ab63ebca1aea444 Author: Dan Carpenter Date: Tue Nov 10 11:02:08 2009 +0200 USB: fix possible null deref in init_usb_class() Add a missing goto. We dereference usb_class on the next line. Found by smatch static checker. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit a33279dfd825846325546b4d42d542b214ccb8d9 Author: Dan Carpenter Date: Tue Nov 10 10:53:58 2009 +0200 USB: r8a66597: clean up. remove unneeded null checks td and dev can not be null. Also they are dereferenced in list_for_each_entry_safe and list_for_each before the check happens so we would have an oops if it were possible for them to be null. Found using the smatch static checker. Signed-off-by: Dan Carpenter Acked-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit fb34d53752d5bec5acc73422e462a9c68aeeaa2a Author: Alan Stern Date: Fri Nov 13 11:53:59 2009 -0500 USB: remove the auto_pm flag This patch (as1302) removes the auto_pm flag from struct usb_device. The flag's only purpose was to distinguish between autosuspends and external suspends, but that information is now available in the pm_message_t argument passed to suspend methods. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 576a362ad2103da481e1f6e13de01f33d3d4c7b1 Author: H Hartley Sweeten Date: Tue Nov 17 14:53:41 2009 -0800 USB: hcd.c: quiet NULL pointer sparse noise Quiet the following sparse noise: warning: Using plain integer as NULL pointer Signed-off-by: H Hartley Sweeten Cc: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 54a8e144acad6506920f385f4ef2779664f05b21 Author: Zhang Le Date: Tue Nov 17 14:53:42 2009 -0800 USB: option.c: add support for D-Link DWM-162-U5 Add D-Link DWM-162-U5 device id 1e0e:ce16 into option driver. The device has 4 interfaces, of which 1 is handled by storage and the other 3 by option driver. The device appears first as CD-only 05c6:2100 device and must be switched to 1e0e:ce16 mode either by using "eject CD" or usb_modeswitch. The MessageContent for usb_modeswitch.conf is: "55534243e0c26a85000000000000061b000000020000000000000000000000" Signed-off-by: Zhang Le Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3ad4b116004bce1d2bb6e8cef50bf4c48c828dc1 Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:30 2009 +0100 USB: ark3116: Cleanup of now unneeded functions Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit 62d826c8ddafb0a55eb6c5255779ddb782dc5507 Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:29 2009 +0100 USB: ark3116: Callbacks for interrupt and bulk read Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit 546b742968e7789c60efe0eec71896c45eeb6893 Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:28 2009 +0100 USB: ark3116: Add cmset and break Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit 1f719105131010cdb9a4b5a3bace21f6b2e095ea Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:27 2009 +0100 USB: ark3116: Replace cmget Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit f4c1e8d597d1a440175db0d709c921cf3a49cfe7 Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:26 2009 +0100 USB: ark3116: Make existing functions 16450-aware and add close and release functions. Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit 149fc791a452df5e8fa155f553b3027a874adf62 Author: bart.hartgers@gmail.com Date: Wed Oct 28 10:43:25 2009 +0100 USB: ark3116: Setup some basic infrastructure for new ark3116 driver. Signed-off-by: Bart Hartgers Cc: Mike McCormack Signed-off-by: Greg Kroah-Hartman commit a2582bd478c13c574d4c16ef1209d333f2a25935 Author: Russ Dill Date: Wed Nov 18 11:02:13 2009 -0700 USB: Close usb_find_interface race USB drivers that create character devices call usb_register_dev in their probe function. This associates the usb_interface device with that minor number and creates the character device and announces it to the world. However, the driver's probe function is called before the new usb_interface is added to the driver's klist_devices. This is a problem because userspace will respond to the character device creation announcement by opening the character device. The driver's open function will the call usb_find_interface to find the usb_interface associated with that minor number. usb_find_interface will walk the driver's list of devices and find the usb_interface with the matching minor number. Because the announcement happens before the usb_interface is added to the driver's klist_devices, a race condition exists. A straightforward fix is to walk the list of devices on usb_bus_type instead since the device is added to that list before the announcement occurs. bus_find_device calls get_device to bump the reference count on the found device. It is arguable that the reference count should be dropped by the caller of usb_find_interface instead of usb_find_interface, however, the current users of usb_find_interface do not expect this. Signed-off-by: Russ Dill Cc: stable Signed-off-by: Greg Kroah-Hartman commit 22a627ba81e0f75b994d37adb68761a9b9ef7186 Author: Roel Kluin Date: Wed Nov 18 14:12:31 2009 +0100 USB: FIX bitfield istl_flip:1, make it unsigned. istl_flip is a signed bitfield of one bit so it can be -1 or 0. However in drivers/usb/host/isp1362-hcd.c:1103: finish_iso_transfers(isp1362_hcd, &isp1362_hcd->istl_queue[isp1362_hcd->istl_flip]); So if isp1362_hcd->istl_flip is set, the 2nd argument becomes &isp1362_hcd->istl_queue[-1], which is invalid. Signed-off-by: Roel Kluin Acked-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 55f49f26821f379c451deb9fd6de8e59afb9b37e Author: Nathaniel McCallum Date: Wed Nov 18 20:15:28 2009 -0500 USB: handle bcd incrementation in usb modalias generation This patch fixes a bug when incrementing/decrementing on a BCD formatted integer (i.e. 0x09++ should be 0x10 not 0x0A). It just adds a function for incrementing/decrementing BCD integers by converting to decimal, doing the increment/decrement and then converting back to BCD. Signed-off-by: Nathaniel McCallum Signed-off-by: Greg Kroah-Hartman commit afe2dab4f6d32d5650aaba42f2c7ec9c0622f4dd Author: Nathaniel McCallum Date: Wed Nov 18 20:11:23 2009 -0500 USB: add hex/bcd detection to usb modalias generation The current code to generate usb modaliases from usb_device_id assumes that the device's bcdDevice descriptor will actually be in BCD format. While this should be a sane assumption, some devices don't follow spec and just use plain old hex. This causes drivers for these devices to generate invalid modalias lines which will never actually match for the hardware. The following patch adds hex support for bcdDevice in file2alias.c by detecting when a driver uses a hex formatted bcdDevice_(lo|hi) and adjusts the output to hex format accordingly. Drivers for devices which have bcdDevice conforming to BCD will have no change in modalias output. Drivers for devices which don't conform (i.e. ibmcam) should now generate valid modaliases. EXAMPLE OUTPUT (ibmcam; space added to highlight change) Old: usb:v0545p800D d030[10-9] dc*dsc*dp*ic*isc*ip* New: usb:v0545p800D d030a dc*dsc*dp*ic*isc*ip* Signed-off-by: Nathaniel McCallum Signed-off-by: Greg Kroah-Hartman commit c1479a92cf0a7792298d364e44a781550621cb58 Author: Adrian Taylor Date: Thu Nov 19 10:35:33 2009 +0000 USB: Exposing second ACM channel as tty for Nokia S60 phones. Nokia S60 phones expose two ACM channels. The first is a modem and is picked up by the standard AT-command interface information in the CDC-ACM driver. The second is marked as having a vendor-specific protocol. Normally, we don't expose those as ttys. (On some other devices, they may be claimed by the rndis_host driver and used as a network interface). But on S60 this second ACM channel is the way that third-party S60 application developers are expected to communicate over USB. It acts as a serial device at the S60 end, and so it should on Linux too. The list of devices is largely derived from: http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes http://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs and includes only the S60 3rd Edition+ devices documented there. There are many devices for which the USB device ID is not documented, including: Nokia 6290 Nokia E63 Nokia 5630 XpressMusic Nokia 5730 XpressMusic Nokia 6710 Navigator Nokia 6720 classic Nokia 6730 Classic Nokia 6760 slide Nokia 6790 slide Nokia 6790 Surge Nokia E52 Nokia E55 Nokia E71x (AT&T) Nokia E72 Nokia E75 Nokia E75 US+LTA variant Nokia N79 Nokia N86 8MP Nokia 5230 (RM-588) Nokia 5230 (RM-594) Nokia 5530 XpressMusic Nokia 5530 XpressMusic (china) Nokia 5800 XM Nokia N97 (RM-506) Nokia N97 mini Nokia X6 It would be good to add those subsequently. Signed-off-by: Adrian Taylor Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 85e034fdff2af6befc55904f3ab9cc5aa31be8fe Author: Larry Finger Date: Thu Nov 5 10:37:03 2009 -0600 USB: Check results of dma_map_single In map_urb_for_dma(), the DMA address returned by dma_map_single() is not checked to determine if it is legal. This lack of checking contributed to a problem with the libertas wireless driver (http://marc.info/?l=linux-wireless&m=125695331205062&w=2). The difficulty was not detected until the buffer was unmapped. By this time memory corruption had occurred. The situation is fixed by testing the returned DMA address, and returning -EAGAIN if the address is invalid. Signed-off-by: Larry Finger Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 796c8c78801ebf1bdebddda06a43276355ff91eb Author: Anand Gadiyar Date: Sat Nov 7 01:16:32 2009 +0530 USB: ehci: Allow EHCI to be built on OMAP3 usb: ehci: Allow EHCI to be built on OMAP3 OMAP3 chips have a built-in EHCI controller. The recently introduced omap ehci-hcd driver missed out on selecting USB_ARCH_HAS_EHCI in Kconfig. Without this, the driver cannot be built. Signed-off-by: Anand Gadiyar Cc: Vikram Pandita Cc: Ajay Kumar Gupta Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b375e1169d8ecc9e9db3ecba8147d484b5510833 Author: Alan Stern Date: Fri Nov 6 12:32:23 2009 -0500 USB: add scatter-gather support to usbmon This patch (as1301) adds support to usbmon for scatter-gather URBs. The text interface looks at only the first scatterlist element, since it never copies more than 32 bytes of data anyway. The binary interface copies as much data as possible up to the first non-addressable buffer. Signed-off-by: Alan Stern CC: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 40f8db8f8f5af2cafeb976ae15e11aca641a931d Author: Alan Stern Date: Fri Nov 6 12:29:40 2009 -0500 USB: EHCI: add native scatter-gather support This patch (as1300) adds native scatter-gather support to ehci-hcd. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3a2b808e95287c8235e25a833fda3dad3e9853ef Author: Elina Pasheva Date: Wed Nov 4 10:25:48 2009 -0800 USB: serial: sierra driver memory reduction This patch deals with reducing the memory footprint for sierra driver. This optimization is aimed for embedded software customers. Some sierra modems can expose upwards of 7 USB interfaces, each possibly offering different services. In general, interfaces used for the exchange of wireless data require much higher throughput, hence require more memory (i.e. more URBs) than lower performance interfaces. URBs used for the IN direction are pre-allocated by the driver and this patch introduces a way to configure the number of IN URBs allocated on a per-interface basis. Interfaces with lower throughput requirements receive fewer URBs, thereby reducing the RAM memory consumed by the driver. NOTE1: This driver has always pre-allocated URBs for the IN direction. NOTE2: The number of URBs pre-allocated for the low-performance interfaces has already been extensively tested in previous versions of this driver. We also added the capability to log function calls by adding DEBUG flag. Please note that this flag is commented out because this is the default state for it. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit b97503ffa79f0a4aa13c7cd8b449b98d3077c78f Author: Michal Nazarewicz Date: Wed Oct 28 16:57:30 2009 +0100 USB: Interface Association Descriptors added to CDC & RNDIS Without Interface Association Descriptor, the CDC serial and RNDIS functions did not work correctly when added to a composite gadget with other functions. This is because, it defined two interfaces and some hosts tried to treat each interface separatelly. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9c610213370ad2e58a892f890a11a90615edf020 Author: Michal Nazarewicz Date: Wed Oct 28 16:57:22 2009 +0100 USB: g_mass_storage: fsg_common_init() created Moved code initialising fsg_common structure to fsg_common_init() function which is called from fsg_bind(). Moreover, changed reference counting mechanism: fsg_common has a reference counter which counts how many fsg_dev structures uses it. When this reaches zero fsg_common_release() is run which unregisters LUN devices and frees memory. fsg_common_init() takes pointer to fsg_common structure as an argument. If it is NULL function allocates storage otherwise uses pointed to memory (handy if fsg_common is a field of another structure or a static variable). fsg_common_release() will free storage only if free_storage_on_release is set -- it is initialised by fsg_common_init(): set if allocation was done, unset otherwise (one may overwrite it of course). Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 606206c271722d613b99c737ce150f58f4485f41 Author: Michal Nazarewicz Date: Wed Oct 28 16:57:21 2009 +0100 USB: g_mass_storage: constant length buffers used Using version of fsg_buffhd structure with buf field being an array of characters with predefined size. Since mass storage function does not define changing buffer size on run-time it is not required for the field to be a pointer to void and allocating space dynamically. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a41ae4180e5403a68469420806c318e1a0c32248 Author: Michal Nazarewicz Date: Wed Oct 28 16:57:20 2009 +0100 USB: g_mass_storage: parts of fsg_dev moved to fsg_common structure In the final version, many fsg_dev structures will (be able to) refer to a single fsg_common structure and so it is required to move common data to another object which can be shared. Situation where many fsg_dev structures refer single fsg_common structure is when a single instance of MSF is used in several USB configurations. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93bcf12e7123f20d30757d35d8052832e3c4d647 Author: Michal Nazarewicz Date: Wed Oct 28 16:57:19 2009 +0100 USB: g_mass_storage: testing code from f_mass_storage.c removed Removed code that was included when CONFIG_USB_FILE_STORAGE_TEST was defined. If this functionality is required one may still use the original File-backed Storage Gadget. It has been agreed that testing functionality is not required in the composite function. Also removed fsg_suspend() and fsg_resume() which were no operations. Moreover, storage_common.c has been modified in such a way that defining certain macros skips parts of the file. Those macros are: * FSG_NO_INTR_EP -- skips interrupt endpoint descriptors * FSG_NO_DEVICE_STRINGS -- skips certain strings * FSG_NO_OTG -- skips OTG descriptor Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d5e2b67aae79f01720d8b962c23b0abc7063201c Author: Michal Nazarewicz Date: Wed Oct 28 16:57:18 2009 +0100 USB: g_mass_storage: template f_mass_storage.c file created Copied file_storage.c to f_mass_storage.c which will be used as template for the Mass Storage composite Function. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93f937405bd5280ced9bf845f620d1de19b9bf7d Author: Michal Nazarewicz Date: Wed Oct 28 16:57:17 2009 +0100 USB: g_file_storage: more code from file_storage.c moved to storage_common.c Since storage_common.c no longer references mod_data object it is now possible to include it before mod_data object is defined. This makes it possible to move some defines that are used as default values of mod_data fields to be defined in storage_common.c file (where they should be set from the beginning). Also, show_ro(), show_file(), store_ro() and store_file() have been moved to storage_common.c with LUN's device's drvdata changed from pointing to fsg_dev to pointing to rw_semaphore (&fsg->filesem). Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e909ef5def59236b91fa9ee83446084eb6f48d1a Author: Michal Nazarewicz Date: Wed Oct 28 16:57:16 2009 +0100 USB: g_file_storage: per-LUN ro, removable and cdrom flags handling changed removable and cdrom flag has been added to the fsg_lun structure removing any references to mod_data object from storage_common.c. As of read-only flag, previously it was set if a read-only backing file was specified (which is good) and remained set even after the file has been closed (which may be considered an issue). Currently, the initial read-only flag is preserved so if it was unset each time file is opened code will try to open it read-write even if previous file was opened read-only. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d6181702f510302dce5666a50344b5acb196ab4e Author: Michal Nazarewicz Date: Wed Oct 28 16:57:15 2009 +0100 USB: g_file_storage: "fsg_" prefix added to some identifiers Prefixed some identifiers that were defined in storage_common.c file with "fsg_". Not all identifiers were prefixed but the ones that are most likely to produce conflicts when used with other USB functions. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b6058d0fefc0b5ff777dfbff990a0a50a4ac144b Author: Michal Nazarewicz Date: Wed Oct 28 16:57:14 2009 +0100 USB: g_file_storage: parts of file_storage.c moved to separate file Moved parts of the file_storage.c file which do not reference fsg_dev structure to newly created storage_common.c file. dump_msg() and dump_cdb() have been changed to macros to remove fsg_dev reference. Signed-off-by: Michal Nazarewicz Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7e8d5cd93fac4d3720d8f780b350c9421e8997d4 Author: Daniel Mack Date: Wed Oct 28 01:14:59 2009 +0100 USB: Add EHCI support for MX27 and MX31 based boards The Freescale MX27 and MX31 SoCs have a EHCI controller onboard. The controller is capable of USB on the go. This patch adds a driver to support all three of them. Users have to pass details about serial interface configuration in the platform data. The USB OTG core used here is the ARC core, so the driver should be renamed and probably be merged with ehci-fsl.c eventually. Signed-off-by: Sascha Hauer Signed-off-by: Daniel Mack Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed1db3ada189c9af592c4d2971b22b482b68aafe Author: Alan Stern Date: Tue Oct 27 15:26:50 2009 -0400 USB: fix a bug in the scatter-gather library This patch (as1298) fixes a bug in the new scatter-gather URB facility. If an URB uses a scatterlist then it should not have the URB_NO_INTERRUPT flag set; otherwise the system won't be notified when the transfer completes. Signed-off-by: Alan Stern Acked-by: David Vrabel CC: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 253e05724f9230910344357b1142ad8642ff9f5a Author: Alan Stern Date: Tue Oct 27 15:20:13 2009 -0400 USB: add a "remove hardware" sysfs attribute This patch (as1297) adds a "remove" attribute to each USB device's directory in sysfs. Writing to this attribute causes the device to be deconfigured (the same as writing 0 to the "bConfigurationValue" attribute) and then tells the hub driver to disable the device's upstream port. The device remains locked during these activities so there is no possibility of it getting reconfigured in between. The port will remain disabled until after the device is unplugged. The purpose of this is to provide a means for user programs to imitate the "Safely remove hardware" applet in Windows. Some devices do expect their ports to be disabled before they are unplugged, and they provide visual feedback to users indicating when they can safely be unplugged. The security implications are minimal. Writing to the "remove" attribute is no more dangerous than writing to the "bConfigurationValue" attribute. Signed-off-by: Alan Stern Cc: David Zeuthen Signed-off-by: Greg Kroah-Hartman commit d697cdda43939a80432863e2e26df6701ce72b63 Author: Alan Stern Date: Tue Oct 27 15:18:46 2009 -0400 USB: don't use a fixed DMA mapping for hub status URBs This patch (as1296) gets rid of the fixed DMA-buffer mapping used by the hub driver for its status URB. This URB doesn't get used much -- mainly when a device is plugged in or unplugged -- so the dynamic mapping overhead is minimal. And most systems have many fewer external hubs than root hubs, which don't need a mapped buffer anyway. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit dccd574cccad950d9ed9bc192eae4089c6044d9d Author: Sarah Sharp Date: Tue Oct 27 10:55:05 2009 -0700 USB: ehci: Respect IST when scheduling new split iTDs. The EHCI specification says that an EHCI host controller may cache part of the isochronous schedule. The EHCI controller must advertise how much it caches in the schedule through the HCCPARAMS register isochronous scheduling threshold (IST) bits. In theory, adding new iTDs within the IST should be harmless. The HW will follow the old cached linked list and miss the new iTD. SW will notice HW missed the iTD and return 0 for the transfer length. However, Intel ICH9 chipsets (and some later chipsets) have issues when SW attempts to schedule a split transaction within the IST. All transfers will cease being sent out that port, and the drivers will see isochronous packets complete with a length of zero. Start of frames may or may not also disappear, causing the device to go into auto-suspend. This "bus stall" will continue until a control or bulk transfer is queued to a device under that roothub. Most drivers will never cause this behavior, because they use multiple URBs with multiple packets to keep the bus busy. If you limit the number of URBs to one, you may be able to hit this bug. Make sure the EHCI driver does not schedule full-speed transfers within the IST under an Intel chipset. Make sure that when we fall behind the current microframe plus IST, we schedule the new transfer at the next periodic interval after the IST. Don't change the scheduling for new transfers, since the schedule slop will always be greater than the IST. Allow high speed isochronous transfers to be scheduled within the IST, since this doesn't trigger the Intel chipset bug. Make sure that if the host caches the full frame, the EHCI driver's internal isochronous threshold (ehci->i_thresh) is set to 8 microframes + 2 microframes wiggle room. This is similar to what is done in the case where the host caches less than the full frame. Signed-off-by: Sarah Sharp Cc: Alan Stern Cc: David Brownell Cc: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit d7e055f1975cac560427c924d2bff4b5d41fe442 Author: Sarah Sharp Date: Tue Oct 27 10:54:49 2009 -0700 USB: ehci: Minor constant fix for SCHEDULE_SLOP. Change the constant SCHEDULE_SLOP to be 80 microframes, instead of 10 frames. It was always multiplied by 8 to convert frames to microframes. SCHEDULE_SLOP is only used in ehci-sched.c. Signed-off-by: Sarah Sharp Cc: David Brownell Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3c67d899cde32099bfc484f6ccc9b90c2e0c9fc8 Author: Sarah Sharp Date: Tue Nov 3 13:06:40 2009 -0800 USB: xhci: Remove unused HCD statistics code. CONFIG_USB_HCD_STAT was used in an abandoned patch to track host controller throughput statistics. Since CONFIG_USB_HCD_STAT will never be defined, remove code that can never run. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6f5165cf989387e84ef23122330b27cca1cbe831 Author: Sarah Sharp Date: Tue Oct 27 10:57:01 2009 -0700 USB: xhci: Add watchdog timer for URB cancellation. In order to giveback a canceled URB, we must ensure that the xHCI hardware will not access the buffer in an URB. We can't modify the buffer pointers on endpoint rings without issuing and waiting for a stop endpoint command. Since URBs can be canceled in interrupt context, we can't wait on that command. The old code trusted that the host controller would respond to the command, and would giveback the URBs in the event handler. If the hardware never responds to the stop endpoint command, the URBs will never be completed, and we might hang the USB subsystem. Implement a watchdog timer that is spawned whenever a stop endpoint command is queued. If a stop endpoint command event is found on the event ring during an interrupt, we need to stop the watchdog timer with del_timer(). Since del_timer() can fail if the timer is running and waiting on the xHCI lock, we need a way to signal to the timer that everything is fine and it should exit. If we simply clear EP_HALT_PENDING, a new stop endpoint command could sneak in and set it before the watchdog timer can grab the lock. Instead we use a combination of the EP_HALT_PENDING flag and a counter for the number of pending stop endpoint commands (xhci_virt_ep->stop_cmds_pending). If we need to cancel the watchdog timer and del_timer() succeeds, we decrement the number of pending stop endpoint commands. If del_timer() fails, we leave the number of pending stop endpoint commands alone. In either case, we clear the EP_HALT_PENDING flag. The timer will decrement the number of pending stop endpoint commands once it obtains the lock. If the timer is the tail end of the last stop endpoint command (xhci_virt_ep->stop_cmds_pending == 0), and the endpoint's command is still pending (EP_HALT_PENDING is set), we assume the host is dying. The watchdog timer will set XHCI_STATE_DYING, try to halt the xHCI host, and give back all pending URBs. Various other places in the driver need to check whether the xHCI host is dying. If the interrupt handler ever notices, it should immediately stop processing events. The URB enqueue function should also return -ESHUTDOWN. The URB dequeue function should simply return the value of usb_hcd_check_unlink_urb() and the watchdog timer will take care of giving the URB back. When a device is disconnected, the xHCI hardware structures should be freed without issuing a disable slot command (since the hardware probably won't respond to it anyway). The debugging polling loop should stop polling if the host is dying. When a device is disconnected, any pending watchdog timers are killed with del_timer_sync(). It must be synchronous so that the watchdog timer doesn't attempt to access the freed endpoint structures. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 4f0f0baef017dfd5d62b749716ab980a825e1071 Author: Sarah Sharp Date: Tue Oct 27 10:56:33 2009 -0700 USB: xhci: Re-purpose xhci_quiesce(). xhci_quiesce() is basically a no-op right now. It's only called if HC_IS_RUNNING() is true, and the body of the function consists of a BUG_ON if HC_IS_RUNNING() is false. For the new xHCI watchdog timer, we need a new function that clears the xHCI running bit in the command register, but doesn't wait for the halt status to show up in the status register. Re-purpose xhci_quiesce() to do that. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 678539cfaa090093a9aef185f545f6b17acc445c Author: Sarah Sharp Date: Tue Oct 27 10:55:52 2009 -0700 USB: xhci: Handle URB cancel, complete and resubmit race. In the old code, there was a race condition between the stop endpoint command and the URB submission process. When the stop endpoint command is handled by the event handler, the endpoint ring is assumed to be stopped. When a stop endpoint command is queued, URB submissions are to not ring the doorbell. The old code would check the number of pending URBs to be canceled, and would not ring the doorbell if it was non-zero. However, the following race condition could occur with the old code: 1. Cancel an URB, add it to the list of URBs to be canceled, queue the stop endpoint command, and increment ep->cancels_pending to 1. 2. The URB finishes on the HW, and an event is enqueued to the event ring (at the same time as 1). 3. The stop endpoint command finishes, and the endpoint is halted. An event is queued to the event ring. 4. The event handler sees the finished URB, notices it was to be canceled, decrements ep->cancels_pending to 0, and removes it from the to be canceled list. 5. The event handler drops the lock and gives back the URB. The completion handler requeues the URB (or a different driver enqueues a new URB). This causes the endpoint's doorbell to be rung, since ep->cancels_pending == 0. The endpoint is now running. 6. A second URB is canceled, and it's added to the canceled list. Since ep->cancels_pending == 0, a new stop endpoint command is queued, and ep->cancels_pending is incremented to 1. 7. The event handler then sees the completed stop endpoint command. The handler assumes the endpoint is stopped, but it isn't. It attempts to move the dequeue pointer or change TDs to cancel the second URB, while the hardware is actively accessing the endpoint ring. To eliminate this race condition, a new endpoint state bit is introduced, EP_HALT_PENDING. When this bit is set, a stop endpoint command has been queued, and the command handler has not begun to process the URB cancellation list yet. The endpoint doorbell should not be rung when this is set. Set this when a stop endpoint command is queued, clear it when the handler for that command runs, and check if it's set before ringing a doorbell. ep->cancels_pending is eliminated, because it is no longer used. Make sure to ring the doorbell for an endpoint when the stop endpoint command handler runs, even if the canceled URB list is empty. All canceled URBs could have completed and new URBs could have been enqueued without the doorbell being rung before the command was handled. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0c487206fe925ef370e1fc092003efb74ad57410 Author: Oliver Neukum Date: Mon Oct 19 13:19:41 2009 +0200 USB: improved error handling in usb_port_suspend() usb: better error handling in usb_port_suspend - disable remote wakeup only if it was enabled - refuse to autosuspend if remote wakeup fails to be enabled Signed-off-by: Oliver Neukum Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 54ab2b02ef6a454b4cca969f546d0dd43fec7308 Author: Felipe Balbi Date: Wed Oct 14 11:44:14 2009 +0300 USB: host: ehci: introduce omap ehci-hcd driver this driver has been sitting in linux-omap tree for quite some time. It adds support for omap's ehci controller. Signed-off-by: Felipe Balbi Signed-off-by: Vikram Pandita Signed-off-by: Ajay Kumar Gupta Signed-off-by: Anand Gadiyar Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2d57a95f09cf71c4c642e5be15f8b700d17ee90c Author: Daniel Mack Date: Thu Oct 15 17:09:35 2009 +0300 USB OTG: Add generic driver for ULPI OTG transceiver This adds a minimal generic driver for ULPI connected transceivers, using the OTG framework functions recently introduced. The driver got a table to match the ULPI chips, which currently only has one entry for NXP's ISP 1504 transceiver. Signed-off-by: Daniel Mack Cc: Heikki Krogerus Cc: David Brownell Cc: Sascha Hauer Signed-off-by: Greg Kroah-Hartman commit 91c8a5a9985d5bf9c55f6f82f183f57b050b2a3a Author: Daniel Mack Date: Thu Oct 15 17:09:34 2009 +0300 USB OTG: add support for ulpi connected external transceivers This adds support for OTG transceivers directly connected to the ULPI interface. In particular, the following details are added - a struct for low level io functions (read/write) - a priv field to be used as 'viewport' by low level access functions - an (*init) and (*shutdown) callbacks, along with static inline helpers - a (*set_vbus) callback to switch the port power on and off - a flags field for per-transceiver settings - some defines for the flags bitmask to configure platform specific details Signed-off-by: Daniel Mack Cc: Heikki Krogerus Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit c3f22d92a1249665d4cd87a68a4078a56002c3ab Author: David Vrabel Date: Mon Oct 12 15:45:18 2009 +0000 USB: wusb: add wusb_phy_rate sysfs file to host controllers Add the wusb_phy_rate sysfs file to Wireless USB host controllers. This sets the maximum PHY rate that will be used for all connected devices. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit d19fc291929aae528a40dd17c71a81f26254715d Author: David Vrabel Date: Mon Oct 12 15:45:17 2009 +0000 usb: whci-hcd: decode more QHead fields in the debug files Print ep number, direction and type; and current window in asl and pzl debugfs files. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit dca8cd04dfa4a421511ad0505e4f8a0973f7e38c Author: Oliver Neukum Date: Thu Sep 24 00:33:45 2009 +0200 USB: usbtmc: minor formatting cleanups Signed-off-by: Greg Kroah-Hartman commit 23f6d914c338626a7216c46ed35b653f4070accf Author: Hong Xu Date: Fri Sep 25 12:24:12 2009 +0200 USB: modifications for at91sam9g10 Modify both host and gadget USB drivers for at91sam9g10. This add a clock management equivalent to at91sam9261 on usb drivers. It also add the way of handling gadget pull-ups (like the at91sam9261). Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre commit 0ad72524ef623f32f6899e656951bb5646caead1 Author: Laurent Pinchart Date: Wed Oct 21 00:03:39 2009 +0200 USB audio gadget: handle endpoint control requests at the function level Now that control requests targeted at an endpoint can be handled at the function level, move the UAC-specific control request handling code from the audio gadget driver to the audio function driver. Signed-off-by: Laurent Pinchart Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5242658d1b97771d658991cf29be32bcf81d5859 Author: Laurent Pinchart Date: Wed Oct 21 00:03:38 2009 +0200 USB gadget: Handle endpoint requests at the function level Control requests targeted at an endpoint (that is sent to EP0 but specifying the target endpoint address in wIndex) are dispatched to the current configuration's setup callback, requiring all gadget drivers to dispatch the requests to the correct function driver. To avoid this, record which endpoints are used by each function in the composite driver SET CONFIGURATION handler and dispatch requests targeted at endpoints to the correct function. Signed-off-by: Laurent Pinchart Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4de84057598599bbf90bf1deae923bc33f571475 Author: Julia Lawall Date: Sat Sep 19 09:13:43 2009 +0200 USB: skeleton: Correct use of ! and & Correct priority problem in the use of ! and &. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression E; constant C; @@ - !E & C + !(E & C) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit f0ad073f043b5ac04620bb80ecfc92114d348044 Author: David Vrabel Date: Wed Oct 14 13:23:55 2009 +0000 USB: whci-hcd: fix type and format warnings in sg code Fix type and format warning in the new sg code. Remove the very chatty debug messages that were left in by mistake and use min_t() as required (no one seems to agree on a type for buffer sizes). Reported-by: Randy Dunlap Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 8e08b9766b50826e12139a821b6b3bdfcadcceda Author: David Vrabel Date: Tue Aug 18 16:11:24 2009 +0100 USB: allow interrupt transfers to WUSB devices Check urb->interval on interrupt transfers and allow those with valid values (6 <= interval <= 16). Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 294a39e7829dfd663e6c5c94cede0c6a0c13e37f Author: David Vrabel Date: Mon Aug 24 15:02:27 2009 +0100 USB: whci-hcd: support urbs with scatter-gather lists Support urbs with scatter-gather lists by trying to fit sg list elements into page lists in one or more qTDs. qTDs must end on a wMaxPacketSize boundary so if this isn't possible the urb's sg list must be copied into bounce buffers. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 4c1bd3d7a7d114dabd58f62f386ac4bfd268be1f Author: David Vrabel Date: Mon Aug 24 14:44:30 2009 +0100 USB: make urb scatter-gather support more generic The WHCI HCD will also support urbs with scatter-gather lists. Add a usb_bus field to indicated how many sg list elements are supported by the HCD. Use this to decide whether to pass the scatter-list to the HCD or not. Make the usb-storage driver use this new field. Signed-off-by: David Vrabel Cc: Alan Stern Cc: Sarah Sharp Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 09ce497e79a930ac4912d6bc295baab82b39f8ab Author: Jean Delvare Date: Thu Oct 1 19:03:13 2009 +0200 USB: Add missing static markers to ohci-pnx4008 I can't see any reason why these would not be static. Signed-off-by: Jean Delvare Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 08d3c18e6674c5d46e4333a462b1e2e4c4ded1d4 Author: Julie Zhu Date: Mon Sep 21 16:08:19 2009 -0600 USB: Add support for Xilinx USB host controller Add bus glue driver for Xilinx USB host controller. The controller can be configured as HS only or HS/FS hybrid. The driver uses the device tree file to configure the driver according to the setting in the hardware system. This driver has been tested with usbtest using the NET2280 PCI card. Signed-off-by: Julie Zhu Signed-off-by: John Linn Acked-by: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 9eb66f71318df6ab73bad2fb924a36777cf0220e Author: Matthew Wilcox Date: Thu Sep 24 16:19:49 2009 -0600 USB Storage: Make driver less chatty when it finds a new device Use dev_dbg() instead of an unconditional printk(KERN_DEBUG). This has two benefits; one is that it identifies the USB device which the messages related to, and the other is that the messages won't be produced unless debug is turned on. Enable the debug messages when CONFIG_USB_STORAGE_DEBUG is set. Signed-off-by: Matthew Wilcox Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 00fa43ef09c6bb357d58c14a99181cce09c315c6 Author: Matthew Wilcox Date: Thu Sep 24 16:19:11 2009 -0600 USB: usb-storage: Associate the name of the interface with the scsi host Instead of reporting "SCSI emulation for USB Mass Storage devices", report "usb-storage 1-4:1.0". Signed-off-by: Matthew Wilcox Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b1f0a34ca983a6defb0431aa18c9268eb9ffcc4a Author: Matthew Wilcox Date: Thu Sep 24 16:18:27 2009 -0600 USB: Convert a dev_info to a dev_dbg Knowing which configuration was chosen is a debugging aid more than it is informational. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 872d3599622702b59a00521c0a5b8ff3822e1803 Author: Jason Wessel Date: Wed Sep 23 18:32:44 2009 -0500 USB: ehci-hub: Remove redundant ehci->debug check No need to check ehci->debug twice. Found-by: Sergei Shtylyov sshtylyov@ru.mvista.com Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 38fcb8309964b94d0c0499982583d7f30b40abec Author: Roland Koebler Date: Mon Oct 5 19:58:56 2009 +0200 USB: serial: ftdi_sio: add space/mark parity Add mark and space parity, since the device supports it. Signed-off-by: Roland Koebler Signed-off-by: Greg Kroah-Hartman commit 4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a Merge: 3ef884b a694291 Author: Linus Torvalds Date: Fri Dec 11 11:49:18 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (49 commits) nilfs2: separate wait function from nilfs_segctor_write nilfs2: add iterator for segment buffers nilfs2: hide nilfs_write_info struct in segment buffer code nilfs2: relocate io status variables to segment buffer nilfs2: do not return io error for bio allocation failure nilfs2: use list_splice_tail or list_splice_tail_init nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty nilfs2: delete mark_inode_dirty in nilfs_delete_entry nilfs2: delete mark_inode_dirty in nilfs_commit_chunk nilfs2: change return type of nilfs_commit_chunk nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink nilfs2: delete redundant mark_inode_dirty nilfs2: expand inode_inc_link_count and inode_dec_link_count nilfs2: delete mark_inode_dirty from nilfs_set_link nilfs2: delete mark_inode_dirty in nilfs_new_inode nilfs2: add norecovery mount option nilfs2: add helper to get if volume is in a valid state nilfs2: move recovery completion into load_nilfs function nilfs2: apply readahead for recovery on mount nilfs2: clean up get/put function of a segment usage ... commit 3589972e51fac1e02d0aaa576fa47f568cb94d40 Author: Alan Stern Date: Fri Dec 4 11:06:57 2009 -0500 Driver core: fix race in dev_driver_string This patch (as1310) works around a race in dev_driver_string(). If the device is unbound while the function is running, dev->driver might become NULL after we test it and before we dereference it. Signed-off-by: Alan Stern Cc: stable Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c60e0504c8e4fa14179d0687d80ef25148dd6dd4 Author: Magnus Damm Date: Fri Nov 27 17:38:51 2009 +0900 Driver Core: Early platform driver buffer Add early_platform_init_buffer() support and update the early platform driver code to allow passing parameters to the driver on the kernel command line. early_platform_init_buffer() simply allows early platform drivers to provide a pointer and length to a memory area where the remaining part of the kernel command line option will be stored. Needed to pass baud rate and other serial port options to the reworked early serial console code on SuperH. Signed-off-by: Magnus Damm Signed-off-by: Greg Kroah-Hartman commit e16acb503b42ef241a9396de7c5a1614c74d8ca6 Author: Eric W. Biederman Date: Fri Nov 20 16:08:58 2009 -0800 sysfs: sysfs_setattr remove unnecessary permission check. inode_change_ok already clears the SGID bit when necessary so there is no reason for sysfs_setattr to carry code to do the same, and it is good to kill the extra copy because when I moved the code last in certain corner cases the code will look at the wrong gid. Acked-by: Serge Hallyn Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit ca1bab38195d66bdf42320a99cc7359434a271d3 Author: Eric W. Biederman Date: Fri Nov 20 16:08:57 2009 -0800 sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir These two functions do 90% of the same work and it doesn't significantly obfuscate the function to allow both the parent dir and the name to change at the same time. So merge them together to simplify maintenance, and increase testing. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 832b6af198aefe6034310e124594cc8b833c0ef9 Author: Eric W. Biederman Date: Fri Nov 20 16:08:56 2009 -0800 sysfs: Propagate renames to the vfs on demand By teaching sysfs_revalidate to hide a dentry for a sysfs_dirent if the sysfs_dirent has been renamed, and by teaching sysfs_lookup to return the original dentry if the sysfs dirent has been renamed. I can show the results of renames correctly without having to update the dcache during the directory rename. This massively simplifies the rename logic allowing a lot of weird sysfs special cases to be removed along with a lot of now unnecesary helper code. Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit a16bbc3430ed94b543222f4c8ef68025f8493e93 Author: Eric W. Biederman Date: Fri Nov 20 16:08:55 2009 -0800 sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish With lazy inode updates and dentry operations bringing everything into sync on demand there is no longer any need to immediately update the vfs or grab i_mutex to protect those updates as we make changes to sysfs. Acked-by: Serge Hallyn Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea Author: Eric W. Biederman Date: Fri Nov 20 16:08:54 2009 -0800 sysfs: In sysfs_chmod_file lazily propagate the mode change. Now that sysfs_getattr and sysfs_permission refresh the vfs inode there is no need to immediatly push the mode change into the vfs cache. Reducing the amount of work needed and simplifying the locking. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0 Author: Eric W. Biederman Date: Fri Nov 20 16:08:53 2009 -0800 sysfs: Implement sysfs_getattr & sysfs_permission With the implementation of sysfs_getattr and sysfs_permission sysfs becomes able to lazily propogate inode attribute changes from the sysfs_dirents to the vfs inodes. This paves the way for deleting significant chunks of now unnecessary code. While doing this we did not reference sysfs_setattr from sysfs_symlink_inode_operations so I added along with sysfs_getattr and sysfs_permission. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit c099aacd48ee73bd2de7da029e536ed005d72a43 Author: Eric W. Biederman Date: Fri Nov 20 16:08:52 2009 -0800 sysfs: Nicely indent sysfs_symlink_inode_operations Lining up the functions in sysfs_symlink_inode_operations follows the pattern in the rest of sysfs and makes things slightly more readable. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 6b0bfe9383a54cf35046980c61f5ff8fefa557d7 Author: Eric W. Biederman Date: Fri Nov 20 16:08:51 2009 -0800 sysfs: Update s_iattr on link and unlink. Currently sysfs updates the timestamps on the vfs directory inode when we create or remove a directory entry but doesn't update the cached copy on the sysfs_dirent, fix that oversight. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 35df63c46c8605d00140ec4833d2104e2e9f1acc Author: Eric W. Biederman Date: Fri Nov 20 16:08:50 2009 -0800 sysfs: Fix locking and factor out sysfs_sd_setattr Cleanly separate the work that is specific to setting the attributes of a sysfs_dirent from what is needed to update the attributes of a vfs inode. Additionally grab the sysfs_mutex to keep any nasties from surprising us when updating the sysfs_dirent. Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 4be3df28beec5605c77a18aa2a4f987b5648f9ce Author: Eric W. Biederman Date: Sat Nov 7 23:27:03 2009 -0800 sysfs: Simplify iattr time assignments The granularity of sysfs time when we keep it is 1 ns. Which when passed to timestamp_trunc results in a nop. So remove the unnecessary function call making sysfs_setattr slightly easier to read. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 4c6974f51a981d14f13e36049d6307d3bcda550e Author: Eric W. Biederman Date: Sat Nov 7 23:27:02 2009 -0800 sysfs: Simplify sysfs_chmod_file semantics Currently every caller of sysfs_chmod_file happens at either file creation time to set a non-default mode or in response to a specific user requested space change in policy. Making timestamps of when the chmod happens and notification of a file changing mode uninteresting. Remove the unnecessary time stamp and filesystem change notification, and removes the last of the explicit inotify and donitfy support from sysfs. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7 Author: Eric W. Biederman Date: Sat Nov 7 23:27:01 2009 -0800 sysfs: Use dentry_ops instead of directly playing with the dcache Calling d_drop unconditionally when a sysfs_dirent is deleted has the potential to leak mounts, so instead implement dentry delete and revalidate operations that cause sysfs dentries to be removed at the appropriate time. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 28a027cfc0d527fcc31bfeac1d94d572c68847d1 Author: Eric W. Biederman Date: Sat Nov 7 23:27:00 2009 -0800 sysfs: Rename sysfs_d_iput to sysfs_dentry_iput Using dentry instead of d in the function name is what several other filesystems are doing and it seems to be a more readable convention. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit f44d3e7857e5d21413fc9a2b61948190c73705e7 Author: Eric W. Biederman Date: Sat Nov 7 23:26:59 2009 -0800 sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex The sysfs_mutex is required to ensure updates are and will remain atomic with respect to other inode iattr updates, that do not happen through the filesystem. Acked-by: Serge Hallyn Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit d3a3b0adad0865c12e39b712ca89efbd0a3a0dbc Author: Mathieu Desnoyers Date: Tue Nov 17 14:40:26 2009 -0800 debugfs: fix create mutex racy fops and private data Setting fops and private data outside of the mutex at debugfs file creation introduces a race where the files can be opened with the wrong file operations and private data. It is easy to trigger with a process waiting on file creation notification. Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 18ef545e47c126abd87c013b762b5fbb574858ce Author: Eric W. Biederman Date: Wed Nov 4 02:50:28 2009 -0800 Driver core: Don't remove kobjects in device_shutdown. device_shutdown is defined to just shutdown the hardware and to not clean up any kernel data structures. Therefore don't put the kobjects for /sys/dev and /sys/dev/block and /sys/dev/char. This ensures we don't remove /sys/dev/block and /sys/dev/char while we still have symlinks from there to the actual devices. Acked-by: Kay Sievers Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 9ebfbd45f9d4ee9cd72529cf99e5f300eb398e67 Author: Johannes Berg Date: Thu Oct 29 12:36:02 2009 +0100 firmware_class: make request_firmware_nowait more useful Unfortunately, one cannot hold on to the struct firmware that request_firmware_nowait() hands off, which is needed in some cases. Allow this by requiring the callback to free it (via release_firmware). Additionally, give it a gfp_t parameter -- all the current users call it from a GFP_KERNEL context so the GFP_ATOMIC isn't necessary. This also marks an API break which is useful in a sense, although that is obviously not the primary purpose of this change. Signed-off-by: Johannes Berg Acked-by: Marcel Holtmann Cc: Ming Lei Cc: Catalin Marinas Cc: David Woodhouse Cc: Pavel Roskin Cc: Abhay Salunke Signed-off-by: Greg Kroah-Hartman commit 03d673e6af6490371aaf64dfe1f84c658c48b71d Author: Kay Sievers Date: Fri Oct 30 12:48:32 2009 +0100 Driver-Core: devtmpfs - set root directory mode to 0755 Signed-off-by: Kay Sievers Cc: Mark Rosenstand Signed-off-by: Greg Kroah-Hartman commit ad72956df2ce83f58be1dc4e503c78c28e414c2c Author: Kay Sievers Date: Wed Oct 28 19:51:37 2009 +0100 Driver Core: devtmpfs: cleanup node on device creation error Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 015bf43b07158668c2f38af463939afcc6d19403 Author: Kay Sievers Date: Wed Oct 28 19:51:26 2009 +0100 Driver Core: devtmpfs: do not remove non-kernel-created directories Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 073120cc28ad9f6003452c8bb9d15a87b1820201 Author: Kay Sievers Date: Wed Oct 28 19:51:17 2009 +0100 Driver Core: devtmpfs: use sys_mount() Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ed413ae6e7813d3227eef43bc6d84ca4f4fe6b21 Author: Kay Sievers Date: Wed Oct 28 19:51:06 2009 +0100 Driver core: devtmpfs: prevent concurrent subdirectory creation and removal Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0092699643703aefca6af0aa758a73f1624d53be Author: Kay Sievers Date: Wed Oct 28 19:50:57 2009 +0100 Driver Core: devtmpfs: ignore umask while setting file mode Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f38506c49dab2751567423865941f32f2ea61c45 Author: Stefan Richter Date: Wed Oct 14 20:47:32 2009 +0200 sysfs: mark a locally-only used function static Signed-off-by: Stefan Richter Acked-by: David P. Quigley Signed-off-by: Greg Kroah-Hartman commit 68ea809af47d8a4dd92dd3a8720882767fdf51b6 Author: David Altobelli Date: Fri Sep 18 12:46:26 2009 -0700 hpilo: add locking comment Add explanation about lock nesting and purpose of each lock in hpilo. Signed-off-by: David Altobelli Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7f8b7ed6f825c729332b8190aca55c6bf95b158e Author: Jason Wessel Date: Fri Dec 11 08:43:20 2009 -0600 kgdb: Always process the whole breakpoint list on activate or deactivate This patch fixes 2 edge cases in using kgdb in conjunction with gdb. 1) kgdb_deactivate_sw_breakpoints() should process the entire array of breakpoints. The failure to do so results in breakpoints that you cannot remove, because a break point can only be removed if its state flag is set to BP_SET. The easy way to duplicate this problem is to plant a break point in a kernel module and then unload the kernel module. 2) kgdb_activate_sw_breakpoints() should process the entire array of breakpoints. The failure to do so results in missed breakpoints when a breakpoint cannot be activated. Signed-off-by: Jason Wessel commit d625e9c0d706eb43afbf52634d5cecacae1d57cc Author: Jason Wessel Date: Mon Apr 27 13:20:21 2009 -0500 kgdb: continue and warn on signal passing from gdb On some architectures for the segv trap, gdb wants to pass the signal back on continue. For kgdb this is not the default behavior, because it can cause the kernel to crash if you arbitrarily pass back a exception outside of kgdb. Instead of causing instability, pass a message back to gdb about the supported kgdb signal passing and execute a standard kgdb continue operation. Signed-off-by: Jason Wessel commit 8097551d9ab9b9e3630694ad1bc6e12c597c515e Author: Jason Wessel Date: Fri Dec 11 08:43:18 2009 -0600 kgdb,x86: do not set kgdb_single_step on x86 On an SMP system the kgdb_single_step flag has the possibility to indefinitely hang the system in the case. Consider the case where, CPU 1 has the schedule lock and CPU 0 is set to single step, there is no way for CPU 0 to run another task. The easy way to observe the problem is to make 2 cpus busy, and run the kgdb test suite. You will see that it hangs the system very quickly. while [ 1 ] ; do find /proc > /dev/null 2>&1 ; done & while [ 1 ] ; do find /proc > /dev/null 2>&1 ; done & echo V1 > /sys/module/kgdbts/parameters/kgdbts The side effect of this patch is that there is the possibility to miss a breakpoint in the case that a single step operation was executed to step over a breakpoint in common code. The trade off of the missed breakpoint is preferred to hanging the kernel. This can be fixed in the future by using kprobes or another strategy to step over planted breakpoints with out of line execution. CC: Ingo Molnar Signed-off-by: Jason Wessel commit 028e7b175970be8fca58bfd7d61cc375babe40b7 Author: Jason Wessel Date: Fri Dec 11 08:43:17 2009 -0600 kgdb: allow for cpu switch when single stepping The kgdb core should not assume that a single step operation of a kernel thread will complete on the same CPU. The single step flag is set at the "thread" level and it is possible in a multi cpu system that a kernel thread can get scheduled on another cpu the next time it is run. As a further safety net in case a slave cpu is hung, the debug master cpu will try 100 times before giving up and assuming control of the slave cpus is no longer possible. It is more useful to be able to get some information out of kgdb instead of spinning forever. Signed-off-by: Jason Wessel commit cf6f196d112a6f6757b1ca3cce0b576f7abee479 Author: Jason Wessel Date: Fri Dec 11 08:43:16 2009 -0600 kgdb,i386: Fix corner case access to ss with NMI watch dog exception It is possible for the user_mode_vm(regs) check to return true on the i368 arch for a non master kgdb cpu or when the master kgdb cpu handles the NMI watch dog exception. The solution is simply to select the correct gdb_ss location based on the check to user_mode_vm(regs). CC: Ingo Molnar Acked-by: H. Peter Anvin Signed-off-by: Jason Wessel commit 59d309f9c8ef0bd01bf93cc0e758f1d810417bdb Author: Geert Uytterhoeven Date: Fri Dec 11 08:43:15 2009 -0600 kgdb: Replace strstr() by strchr() for single-character needles Some versions of gcc replace calls to strstr() with single-character "needle" string parameters by calls to strchr() behind our back. This causes linking errors if strchr() is defined as an inline function in (e.g. on m68k, which BTW doesn't have kgdb support). Prevent this by explicitly calling strchr() instead. Signed-off-by: Geert Uytterhoeven Signed-off-by: Jason Wessel commit b4f1b67be99d6eda8f2f252460905858ace871ef Author: Roel Kluin Date: Fri Dec 11 08:43:15 2009 -0600 kgdbts: Read buffer overflow Prevent write to put_buf[BUFMAX] in kgdb test suite. If put_buf_cnt was BUFMAX - 1 at the earlier test, `\0' is written to put_buf[BUFMAX]. Signed-off-by: Roel Kluin Signed-off-by: Jason Wessel commit 84667d4849b0e0a939a76f9f62d45fa3b4d59692 Author: Jason Wessel Date: Fri Dec 11 08:43:13 2009 -0600 kgdb: Read buffer overflow Roel Kluin reported an error found with Parfait. Where we want to ensure that that kgdb_info[-1] never gets accessed. Also check to ensure any negative tid does not exceed the size of the shadow CPU array, else report critical debug context because it is an internal kgdb failure. Reported-by: Roel Kluin Signed-off-by: Jason Wessel commit a5d09d68335bb8422d5e7050c9f03f99ba6cfebd Author: Roel Kluin Date: Fri Dec 11 08:43:12 2009 -0600 kgdb,x86: remove redundant test The for loop starts with a breakno of 0, and ends when it's 4. so this test is always true. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Jason Wessel commit 0287d970652027d5e299e0215578f228660a0e4e Author: Wu Fengguang Date: Fri Dec 11 20:15:11 2009 +0800 intelhdmi - dont power off HDA link For codecs without EPSS support (G45/IbexPeak), the hotplug event will be lost if the HDA is powered off during the time. After that the pin presence detection verb returns inaccurate info. So always power-on HDA link for !EPSS codecs. KarL offers the fact and Takashi recommends to flag hda_bus. Thanks! Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit fcfdebe70759c74e2e701f69aaa7f0e5e32cf5a6 Author: Takashi Iwai Date: Fri Dec 11 12:51:05 2009 +0100 ALSA: hrtimer - Fix lock-up The timer stop callback can be called from snd_timer_interrupt(), which is called from the hrtimer callback. Since hrtimer_cancel() waits for the callback completion, this eventually results in a lock-up. This patch fixes the problem by just toggling a flag at stop callback and call hrtimer_cancel() later. Reported-and-tested-by: Wojtek Zabolotny Cc: Signed-off-by: Takashi Iwai commit aa65607373a4daf2010e8c3867b6317619f3c1a3 Author: Al Viro Date: Fri Dec 11 06:48:57 2009 -0500 Add missing alignment check in arch/score sys_mmap() Signed-off-by: Al Viro commit e77414e0aad6a1b063ba5e5750c582c75327ea6a Author: Al Viro Date: Sat Dec 5 15:10:44 2009 -0500 fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh We want addr - (pgoff << PAGE_SHIFT) consistently coloured... Acked-by: Paul Mundt Acked-by: Hugh Dickins Signed-off-by: Al Viro commit bb52d6694002b9d632bb355f64daa045c6293a4e Author: Al Viro Date: Thu Dec 3 19:59:24 2009 -0500 Get rid of open-coding in ia64_brk() The comment in there used to be true, but these days do_brk() does the arch-specific check that covers what we open-coded here. So we can use sys_brk() just fine, only need to do force_successful_syscall_return() after it. See commit 3a459756810912d2c2bf188cef566af255936b4d - that's when the checks in do_brk() had been originally added. Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 05d72faa6d13c9d857478a5d35c85db9adada685 Author: Al Viro Date: Thu Dec 3 19:51:02 2009 -0500 sparc_brk() is not needed anymore the checks it's doing are duplicated in sys_brk() and failing them early makes no sense, AFAICT. Acked-by: David S. Miller Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 2c6a10161d0b5fc047b5bd81b03693b9af99fab5 Author: Al Viro Date: Thu Dec 3 19:40:46 2009 -0500 switch do_brk() to get_unmapped_area() Signed-off-by: Al Viro commit 9206de95b1ea68357996ec02be5db0638a0de2c1 Author: Al Viro Date: Thu Dec 3 15:23:11 2009 -0500 Take arch_mmap_check() into get_unmapped_area() Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 8c7b49b3ecd48923eb64ff57e07a1cdb74782970 Author: Al Viro Date: Mon Nov 30 20:12:03 2009 -0500 fix a struct file leak in do_mmap_pgoff() Signed-off-by: Al Viro commit f8b7256096a20436f6d0926747e3ac3d64c81d24 Author: Al Viro Date: Mon Nov 30 17:37:04 2009 -0500 Unify sys_mmap* New helper - sys_mmap_pgoff(); switch syscalls to using it. Acked-by: David S. Miller Signed-off-by: Al Viro commit 0067bd8a55862ac9dd212bd1c4f6f5bff1ca1301 Author: Al Viro Date: Mon Nov 30 17:34:06 2009 -0500 Cut hugetlb case early for 32bit on ia64 It won't work anyway (hugetlb addresses there are way beyond 4Gb) and it's easier to stop it here. Signed-off-by: Al Viro commit 564b3bffc619dcbdd160de597b0547a7017ea010 Author: Al Viro Date: Mon Nov 30 17:00:51 2009 -0500 arch_mmap_check() on mn10300 Signed-off-by: Al Viro commit 570dcf2c15463842e384eb597a87c1e39bead99b Author: Al Viro Date: Mon Nov 30 16:52:36 2009 -0500 Kill ancient crap in s390 compat mmap We've had TASK_SIZE set to 1<<31 for 31bit tasks since May 2004. Before that old32_mmap() had to deal with do_mmap_pgoff() giving it an address out of range. It had tried to do that by checking return value and doing do_munmap() (at wrong address, BTW). IOW, that code had been dead for 5.5 years (and bogus - for 8). Kill. Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 2ea1d13f64efdf49319e86c87d9ba38c30902782 Author: Al Viro Date: Mon Nov 30 13:06:51 2009 -0500 arm: add arch_mmap_check(), get rid of sys_arm_mremap() Acked-by: Russell King Signed-off-by: Al Viro commit c4caa778157dbbf04116f0ac2111e389b5cd7a29 Author: Al Viro Date: Mon Nov 30 08:38:43 2009 -0500 file ->get_unmapped_area() shouldn't duplicate work of get_unmapped_area() ... we should call mm ->get_unmapped_area() instead and let our caller do the final checks. Acked-by: David S. Miller Signed-off-by: Al Viro commit 0ec62d290912bb4b989be7563851bc364ec73b56 Author: Al Viro Date: Tue Nov 24 08:53:51 2009 -0500 kill useless checks in sparc mremap variants Acked-by: David S. Miller Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 935874141df839c706cd6cdc438e85eb69d1525e Author: Al Viro Date: Tue Nov 24 08:45:24 2009 -0500 fix pgoff in "have to relocate" case of mremap() Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 097eed103862f9c6a97f2e415e21d1134017b135 Author: Al Viro Date: Tue Nov 24 08:43:52 2009 -0500 fix the arch checks in MREMAP_FIXED case Acked-by: Russell King Acked-by: Hugh Dickins Signed-off-by: Al Viro commit f106af4e90eadd76cfc0b5325f659619e08fb762 Author: Al Viro Date: Tue Nov 24 08:25:18 2009 -0500 fix checks for expand-in-place mremap Acked-by: Russell King Signed-off-by: Al Viro commit 1a0ef85f84feb13f07b604fcf5b90ef7c2b5c82f Author: Al Viro Date: Tue Nov 24 07:43:18 2009 -0500 do_mremap() untangling, part 3 Take the check for being able to expand vma in place into a separate helper. Acked-by: Russell King Acked-by: Hugh Dickins Signed-off-by: Al Viro commit ecc1a8993751de4e82eb18640d631dae1f626bd6 Author: Al Viro Date: Tue Nov 24 07:28:07 2009 -0500 do_mremap() untangling, part 2 Take the MREMAP_FIXED into a separate helper, simplify the living hell out of conditions in both cases. Acked-by: Russell King Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 54f5de709984bae0d31d823ff03de755f9dcac54 Author: Al Viro Date: Tue Nov 24 07:17:46 2009 -0500 untangling do_mremap(), part 1 Take locating vma and checks on it to a separate helper (it will be shared between MREMAP_FIXED/non-MREMAP_FIXED cases when we split them in the next patch) Acked-by: Russell King Acked-by: Hugh Dickins Signed-off-by: Al Viro commit 6ee738610f41b59733f63718f0bdbcba7d3a3f12 Author: Ben Skeggs Date: Fri Dec 11 19:24:15 2009 +1000 drm/nouveau: Add DRM driver for NVIDIA GPUs This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. This driver is a KMS-based driver and requires a compatible nouveau userspace libdrm and nouveau X.org driver. This driver requires firmware files not available in this kernel tree, interested parties can find them via the nouveau project git archive. This driver is reverse engineered, and is in no way supported by nVidia. Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) is available, and the kms driver should support driving nearly all output types (displayport is under development still) along with supporting suspend/resume. This work is all from the upstream nouveau project found at nouveau.freedesktop.org. The original authors list from nouveau git tree is: Anssi Hannula Ben Skeggs Francisco Jerez Maarten Maathuis Marcin Kościelnicki Matthew Garrett Matt Parnell Patrice Mandin Pekka Paalanen Xavier Chantry along with project founder Stephane Marchesin Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit b14224bb74e19072c34617c501bceab94ebf579f Author: Wu Fengguang Date: Fri Dec 11 12:28:36 2009 +0800 ALSA: intelhdmi - add channel mapping for typical configurations IbexPeak is the first Intel HDMI audio codec to support channel mapping. Currently the outstanding problem is, the HDMI channel order do not agree with that of ALSA. This patch presents workaround for some typical use cases. It gives priority to the typical ALSA surround configurations, and defines channel mapping for them. We may need better kernel+userspace interactive channel mapping scheme. For example, in current scheme if user plays with the surround50 device, the kernel is unaware of this and will still select the surround41 channel allocation and channel mapping.. Thanks to Marcin for offering good tips! Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 1ffc69a6e86aa9458046d1719957e091c8e95f7a Author: Wu Fengguang Date: Fri Dec 11 12:28:35 2009 +0800 ALSA: intelhdmi - channel mapping applies to Pin HDA036-A specifies that the Audio Sample Packet (ASP) Channel Mapping verbs apply to Digital Display Pin Complex instead of Converter. With this fix, channel mapping is working as expected for IbexPeak. Thanks to Marcin for pointing this out! Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 728765b30a052317b6cb6111d4c4e66aba5c0099 Author: Wu Fengguang Date: Fri Dec 11 12:28:34 2009 +0800 ALSA: intelhdmi - accept DisplayPort pin HDA036 spec states: DP (Display Port) indicates whether the Pin Complex Widget supports connection to a Display Port sink. Supported if set to 1. Note that it is possible for the pin widget to support more than one digital display connection type, e.g. HDMI and DP bit are both set to 1. Also export the DP pin cap in procfs. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit b923528ed29dc2d12832f76b1b9e05848d9de853 Author: Wu Fengguang Date: Fri Dec 11 12:28:33 2009 +0800 ALSA: hda - show HBR(High Bit Rate) pin cap in procfs Note that the HBR capability only applies to HDMI pin. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c357aab02ee8de1f833579861ebd1e5683d2e806 Author: Vitaliy Kulikov Date: Fri Dec 11 07:51:54 2009 +0100 ALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecs This patch fixes an error in processing of the HP BIOS configuration to enable GPIO based mute LED indicator control. That error causes driver to enable such control on all HP systems with the 92HD75 IDT codecs and results in unnecessary toggling of the GPIO on mute control manipulation. It also adds support of the future HP BIOS configuration extension for the named control. New configuration string has a format HP_Mute_LED_P_G where P can be 0 or 1 and defines mute LED GPIO control state (low/high) that corresponds to the NOT muted state of the master volume and G is the index of the GPIO to use (0..9) Lastly, it adds more systems to the support of the audio implementation as found on HP B-series systems Signed-off-by: Vitaliy Kulikov Signed-off-by: Takashi Iwai commit 3ef884b4c04e857c283cc77ca70ad8f638d94b0e Merge: 4e5df80 4361e52 Author: Linus Torvalds Date: Thu Dec 10 21:56:47 2009 -0800 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (189 commits) drm/radeon/kms: fix warning about cur_placement being uninitialised. drm/ttm: Print debug information on memory manager when eviction fails drm: Add memory manager debug function drm/radeon/kms: restore surface registers on resume. drm/radeon/kms/r600/r700: fallback gracefully on ucode failure drm/ttm: Initialize eviction placement in case the driver callback doesn't drm/radeon/kms: cleanup structure and module if initialization fails drm/radeon/kms: actualy set the eviction placements we choose drm/radeon/kms: Fix NULL ptr dereference drm/radeon/kms/avivo: add support for new pll selection algo drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup drm/radeon/kms: fix return value from fence function. drm/radeon: Remove tests for -ERESTART from the TTM code. drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. drm/radeon/kms: Convert radeon to new TTM validation API (V2) drm/ttm: Rework validation & memory space allocation (V3) drm: Add search/get functions to get a block in a specific range drm/radeon/kms: fix avivo tiling regression since radeon object rework drm/i915: Remove a debugging printk from hangcheck drm/radeon/kms: make sure i2c id matches ... commit 4e5df8069b0e4e36c6b528b3be7da298e6f454cd Merge: aa2cf42 df5b160 Author: Linus Torvalds Date: Thu Dec 10 21:55:54 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits) amd64_edac: bump driver version amd64_edac: fix use-uninitialised bug amd64_edac: correct sys address to chip select mapping amd64_edac: add a leaner syndrome decoding algorithm amd64_edac: remove early hw support check amd64_edac: detect DDR3 memory type edac: add memory types strings for debugging edac, mce: update AMD F10h revD check amd64_edac: remove unneeded extract_error_address wrapper amd64_edac: rename StinkyIdentifier amd64_edac: remove superfluous dbg printk amd64_edac: enhance address to DRAM bank mapping amd64_edac: cleanup f10_early_channel_count amd64_edac: dump DIMM sizes on K8 too amd64_edac: cleanup rest of amd64_dump_misc_regs amd64_edac: cleanup DRAM cfg low debug output amd64_edac: wrap-up pci config read error handling amd64_edac: unify MCGCTL ECC switching cpumask: use modern cpumask style in drivers/edac/amd64_edac.c amd64_edac: make DRAM regions output more human-readable ... commit aa2cf420593b67cc93de7a3f675b2a88eba0505f Merge: d71cb81 178ff4c Author: Linus Torvalds Date: Thu Dec 10 21:55:17 2009 -0800 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer OMAP: SDP: Enable DSS2 for OMAP3 SDP board OMAP: DSS2: Taal DSI command mode panel driver OMAP: DSS2: Add generic and Sharp panel drivers OMAP: DSS2: omapfb driver OMAP: DSS2: DSI driver OMAP: DSS2: SDI driver OMAP: DSS2: RFBI driver OMAP: DSS2: Video encoder driver OMAP: DSS2: DPI driver OMAP: DSS2: DISPC OMAP: DSS2: Add more core files OMAP: DSS2: Display Subsystem Driver core OMAP: DSS2: Documentation for DSS2 OMAP: Add support for VRFB rotation engine OMAP: Add VRAM manager OMAP: OMAPFB: add omapdss device OMAP: OMAPFB: split omapfb.h OMAP2: Add funcs for writing SMS_ROT_* registers commit d1ede145cea25c5b6d2ebb19b167af14e374bb45 Author: Ben Skeggs Date: Fri Dec 11 15:13:00 2009 +1000 drm/ttm: export some functions useful to drivers using ttm These are functions required by nouveau which will be merged later. Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 9062fa6612958f35f41379425bcae9c9b4ccd68e Author: Alex Deucher Date: Wed Dec 9 19:38:58 2009 -0500 drm/radeon/kms/avivo: fix typo in new_pll module description Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 1fb107fc46692a000533da3d6904ac28b6b3148d Author: Jerome Glisse Date: Thu Dec 10 17:16:28 2009 +0100 drm/radeon/kms: Convert radeon to new ttm_bo_init Now bo init use placement structure like bo validation does. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 09855acb1c2e3779f25317ec9a8ffe1b1784a4a8 Author: Jerome Glisse Date: Thu Dec 10 17:16:27 2009 +0100 drm/ttm: Convert ttm_buffer_object_init to use ttm_placement Convert ttm_buffer_object_init to use struct ttm_placement and rename to ttm_bo_init for consistency with function naming. This allow to give more complex placement at buffer creation. For instance you ask to allocate bo into vram first but if there is not enough vram you can give system as a second possible placement. It also allow to create buffer in a specific range. Also rename ttm_buffer_object_validate to ttm_bo_validate. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 637e8a60a7aaf4ef7d46cfdf83bcfac9cf6f0fbd Author: Arnd Bergmann Date: Sat Nov 14 02:28:05 2009 +0100 usbdevfs: move compat_ioctl handling to devio.c Half the compat_ioctl handling is in devio.c, the other half is in fs/compat_ioctl.c. This moves everything into one place for consistency. As a positive side-effect, push down the BKL into the ioctl methods. Signed-off-by: Arnd Bergmann Acked-by: Greg Kroah-Hartman Cc: Alan Stern Cc: Oliver Neukum Cc: Alon Bar-Lev Cc: David Vrabel Cc: linux-usb@vger.kernel.org commit 3695669cd4f5fb6d569fd4243312c1b4a05bd5ce Author: Arnd Bergmann Date: Sat Nov 14 01:33:13 2009 +0100 lp: move compat_ioctl handling into lp.c Handling for LPSETTIMEOUT can easily be done in lp_ioctl, which is the only user. As a positive side-effect, push the BKL into the ioctl methods. Signed-off-by: Arnd Bergmann Acked-by: Greg Kroah-Hartman commit 43c6e7b97f9ea0f4dec430dbafb6afa6ac711eb1 Author: Arnd Bergmann Date: Sat Nov 14 23:16:18 2009 +0100 compat_ioctl: pass compat pointer directly to handlers Instead of having each handler call compat_ptr, we can now convert the pointer once and pass that to each handler. This saves a little bit of both source and object code size. Signed-off-by: Arnd Bergmann commit 661f627da98c0647bcc002ef35e5441fb3ce667c Author: Arnd Bergmann Date: Thu Nov 5 19:52:55 2009 +0100 compat_ioctl: simplify lookup table The compat_ioctl table now only contains entries for COMPATIBLE_IOCTL, so we only need to know if a number is listed in it or now. As an optimization, we hash the table entries with a reversible transformation to get a more uniform distribution over it, sort the table at startup and then guess the position in the table when an ioctl number gets called to do a linear search from there. With the current set of ioctl numbers and the chosen transformation function, we need an average of four steps to find if a number is in the set, all of the accesses within one or two cache lines. This at least as good as the previous hash table approach but saves 8.5 kb of kernel memory. Signed-off-by: Arnd Bergmann commit 789f0f89118a80a3ff5309371e5820f623ed2a53 Author: Arnd Bergmann Date: Thu Nov 5 19:13:51 2009 +0100 compat_ioctl: simplify calling of handlers The compat_ioctl array now contains only entries for ioctl numbers that do not require a separate handler. By special-casing the ULONG_IOCTL case in the do_ioctl_trans function, we can kill the final use of a function pointer in the array. text data bss dec hex filename 7539 13352 2080 22971 59bb before/fs/compat_ioctl.o 7910 8552 2080 18542 486e after/fs/compat_ioctl.o Signed-off-by: Arnd Bergmann commit 5a07ea0b97f206ed23a5850079b7f322e7730869 Author: Arnd Bergmann Date: Thu May 21 22:04:16 2009 +0000 compat_ioctl: inline all conversion handlers This makes all ioctl conversion handlers called from a single switch statement, leaving only COMPATIBLE_IOCTL and ULONG_IOCTL statements in the table. This is somewhat more space efficient and also lets us simplify the handling of the lookup table significantly. before: text data bss dec hex filename 7619 14024 2080 23723 5cab obj/fs/compat_ioctl.o after: 7567 13352 2080 22999 59d7 obj/fs/compat_ioctl.o Signed-off-by: Arnd Bergmann commit 348c4b9078ba8d9bef2e453c7ded07fde4748c79 Author: Arnd Bergmann Date: Fri Oct 16 02:25:25 2009 +0200 compat_ioctl: Remove BKL We have always called ioctl conversion handlers under the big kernel lock, although that is generally not necessary. In particular it is not needed for conversion of data structures and for calling sys_ioctl or do_vfs_ioctl, which will get the BKL again if needed. Handlers doing more than those two have been moved out, so we can kill off the BKL from compat_sys_ioctl. This may significantly improve latencies with 32 bit applications, and it avoids a common scenario where a thread acquires the BKL twice. Signed-off-by: Arnd Bergmann Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton commit fb07a5f857ac8a2035d3f642317b0119b1056a7f Author: Arnd Bergmann Date: Fri Oct 16 02:25:25 2009 +0200 compat_ioctl: remove all VT ioctl handling The VT driver now handles all of these ioctls directly, so we can remove the handlers from common code. These are the only handlers that require the BKL because they directly perform the ioctl action rather than just converting the data structures. Once they are gone, we can remove the BKL from the remaining ioctl conversion handlers. Signed-off-by: Arnd Bergmann Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton commit c557c15d83ea16e6c1a043c8eccb0f60bb19cb96 Author: Randy Dunlap Date: Thu Dec 10 13:50:56 2009 -0800 net: niu uses crc32, so select CRC32 From: Randy Dunlap niu drivers uses crc32 functions, so it needs to select CRC32. niu.c:(.text+0x18a7f8): undefined reference to `crc32_le' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 65182b9fb004220f250d4269c864cf0f1f372e85 Author: John W. Linville Date: Wed Dec 9 15:11:22 2009 -0500 wireless: update old static regulatory domain rules Update "US" and "JP" for current rules, and replace "EU" rules with the world roaming domain (since it was only a pseudo-domain anyway). Signed-off-by: John W. Linville commit 3d7703870633dd454f6554e6d8d7f70441d0fd2d Author: Arnd Bergmann Date: Thu Dec 10 22:15:20 2009 +0100 asm-generic: add sys_recvmmsg to unistd.h sys_recvmmsg was recently merged, add it to asm-generic as well so new architectures can use it. Signed-off-by: Arnd Bergmann commit 9ab87644393d789b950ba984fa360f45c4df02e5 Author: Arnd Bergmann Date: Thu Dec 10 22:10:31 2009 +0100 asm-generic: add sys_accept4 to unistd.h Code review has shown that the generic version of unistd.h is missing a reference to the accept4 system call. This was not noticed before because most architectures handle this through sys_socketcall. Signed-off-by: Arnd Bergmann commit 1f018c8d0d30bd6cc704104cfc50f2e5eee4e2dd Author: Mike Frysinger Date: Wed Dec 9 06:53:39 2009 -0500 asm-generic/gpio.h: add some forward decls of the device struct After the recent commit a4177ee7f, attempting to include asm-generic/gpio.h in otherwise "slim" code results in ugly warnings like so: CC arch/blackfin/kernel/bfin_gpio.o In file included from arch/blackfin/include/asm/gpio.h:278, from arch/blackfin/kernel/bfin_gpio.c:15: include/asm-generic/gpio.h:193: warning: ‘struct device’ declared inside parameter list its scope is only this definition or declaration, which is probably not what you want So add simple C forward decls of the struct device to avoid these. Signed-off-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit 7b324d28a94dac5a451e8cba66e8d324601e5b9a Author: Javier Cardona Date: Wed Dec 9 18:43:01 2009 -0800 mac80211: Revert 'Use correct sign for mesh active path refresh' The patch ("mac80211: Use correct sign for mesh active path refresh.") was actually a bug. Reverted it and improved the explanation of how mesh path refresh works. Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5d618cb81aeea19879975cd1f9a1e707694dfd7c Author: Javier Cardona Date: Wed Dec 9 18:43:00 2009 -0800 mac80211: Fixed bug in mesh portal paths Paths to mesh portals were being timed out immediately after each use in intermediate forwarding nodes. mppath->exp_time is set to the expiration time so assigning it to jiffies was marking the path as expired. Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0c3cee72a403e3b4992a5478c9c33d668c246c22 Author: Julia Lawall Date: Wed Dec 9 20:25:59 2009 +0100 net/mac80211: Correct size given to memset Memset should be given the size of the structure, not the size of the pointer. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ type T; T *x; expression E; @@ memset(x, E, sizeof( + * x)) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 214ac9a4ead6cb254451c09d9c8234a76693feb1 Author: Larry Finger Date: Wed Dec 9 13:25:56 2009 -0600 b43: Remove reset after fatal DMA error As shown in Kernel Bugzilla #14761, doing a controller restart after a fatal DMA error does not accomplish anything other than consume the CPU on an affected system. Accordingly, substitute a meaningful message for the restart. Signed-off-by: Larry Finger Cc: Stable [2.6.32] Signed-off-by: John W. Linville commit 49d7590ce494a971311ca55d8aaa6ea9a87b108f Author: Herton Ronaldo Krzesinski Date: Wed Dec 9 14:56:13 2009 -0200 rtl8187: add radio led and fix warnings on suspend Michael Buesch reports that his rtl8187 gives warnings on suspend ("queueing ieee80211 work while going to suspend" warnings), as rtl8187 can call ieee80211_queue_delayed_work after mac80211 is suspended. This change enhances rtl8187 led code so we can avoid queuing work after mac80211 is suspended: now we register a radio led and make additional checks to ensure led is off/on properly as mac80211 wants. Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit 512414b0bed0d376ac4d5ec1dd6f0b1a3551febc Author: Luis R. Rodriguez Date: Wed Nov 25 17:23:26 2009 -0500 ath5k: enable EEPROM checksum check Without this we have no gaurantee of the integrity of the EEPROM and are likely to encounter a lot of bogus bug reports due to actual issues on the EEPROM. With the EEPROM checksum check in place we can easily rule those issues out. If you run patch during a revert *you* have a card with a busted EEPROM and only older kernel will support that concoction. This patch is a trade off between not accepitng bogus EEPROMs and avoiding bogus bug reports allowing developers to focus instead on real concrete issues. If stable keeps bogus bug reports because of a possibly busted EEPROM feel free to apply this there too. Tested on an AR5414 Cc: stable@kernel.org Cc: jirislaby@gmail.com Cc: akpm@linux-foundation.org Cc: rjw@sisk.pl Cc: me@bobcopeland.com Cc: david.quan@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 761c9d45d14e0afa3c0b8eb84b4075602e50533b Author: Olof Johansson Date: Thu Dec 10 11:15:55 2009 -0600 ASoC: Fix build of OMAP sound drivers There are build errors when building for some of the omap2/3 boards without enabling sound: sound/built-in.o:(.data+0x43bc): undefined reference to `soc_codec_dev_tlv320aic23' sound/built-in.o:(.data+0x43cc): undefined reference to `tlv320aic23_dai' Confused me quite a bit since the drivers that had references to the codec weren't enabled. Turns out the Makefile was using the wrong config option to enable them. Patch below. Reported-by: Anand Gadiyar Signed-off-by: Olof Johansson Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b9889ed1ddeca5a3f3569c8de7354e9e97d803ae Author: Ingo Molnar Date: Thu Dec 10 20:32:39 2009 +0100 sched: Remove forced2_migrations stats This build warning: kernel/sched.c: In function 'set_task_cpu': kernel/sched.c:2070: warning: unused variable 'old_rq' Made me realize that the forced2_migrations stat looks pretty pointless (and a misnomer) - remove it. Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 3989d17847071fa94c93299805a9cca27cf65d26 Author: Pavel Machek Date: Tue Dec 8 11:11:36 2009 -0800 HTC Dream: mmc compilation fixes Add missing include for msm_sdcc compilation, and remove pwrsink support that is not mainline, yet. Signed-off-by: Pavel Machek [dwalker@codeaurora.org : fixed indent in mmc.h] Signed-off-by: Daniel Walker commit 4e00dc762d68248c23c5fe1dfb4d06fbe75554b0 Author: Pavel Machek Date: Tue Dec 8 11:10:28 2009 -0800 video: Allow selecting MSM framebuffer in Kconfig Allow user to select MSM framebuffer support in Kconfig. Signed-off-by: Pavel Machek Signed-off-by: Daniel Walker commit 0c19d21e801bef90618a1f4fd0a13d4194609804 Author: Daniel Walker Date: Mon Dec 7 16:53:51 2009 -0800 Add arm msm maintainer entry This adds a maintainer entry for the arch/arm/mach-msm sub-architecture and all it's components in various locations. Signed-off-by: David Brown Signed-off-by: Bryan Huntsman Signed-off-by: Daniel Walker commit d71cb81af3817193bc605de061da0499934263a6 Merge: ab1831b dc186ad Author: Linus Torvalds Date: Thu Dec 10 09:35:44 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Add debugobjects support commit ab1831b0b87851c874a75e4b3a8538e3d76b37d7 Merge: eae6fa9 bc2c030 Author: Linus Torvalds Date: Thu Dec 10 09:35:02 2009 -0800 Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen * 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: xen: try harder to balloon up under memory pressure. Xen balloon: fix totalram_pages counting. xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region. xen: improve error handling in do_suspend. xen: don't leak IRQs over suspend/resume. xen: call clock resume notifier on all CPUs xen: use iret for return from 64b kernel to 32b usermode xen: don't call dpm_resume_noirq() with interrupts disabled. xen: register runstate info for boot CPU early xen: register runstate on secondary CPUs xen: register timer interrupt with IRQF_TIMER xen: correctly restore pfn_to_mfn_list_list after resume xen: restore runstate_info even if !have_vcpu_info_placement xen: re-register runstate area earlier on resume. xen: wait up to 5 minutes for device connetion xen: improvement to wait_for_devices() xen: fix is_disconnected_device/exists_disconnected_device xen/xenbus: make DEVICE_ATTR()s static commit eae6fa9b0c3e2cb49cc157e906dd0ac52cfd7ca5 Merge: 02412f4 df11303 Author: Linus Torvalds Date: Thu Dec 10 09:34:40 2009 -0800 Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen * 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag. Fix toogle whether xenbus driver should be built as module or part of kernel. commit 02412f49f6a7e35753d9af49d92662fb562fc9fa Merge: 4515c30 573c24c Author: Linus Torvalds Date: Thu Dec 10 09:33:59 2009 -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: always use GFP_NOFS commit 4515c3069da5bfb6f08dbfca499464b4cbdfcb50 Merge: a5eba3f fab3a54 Author: Linus Torvalds Date: Thu Dec 10 09:33:29 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (47 commits) ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem) ext4: Do not override ext2 or ext3 if built they are built as modules jbd2: Export jbd2_log_start_commit to fix ext4 build ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT ext4: Wait for proper transaction commit on fsync ext4: fix incorrect block reservation on quota transfer. ext4: quota macros cleanup ext4: ext4_get_reserved_space() must return bytes instead of blocks ext4: remove blocks from inode prealloc list on failure ext4: wait for log to commit when umounting ext4: Avoid data / filesystem corruption when write fails to copy data ext4: Use ext4 file system driver for ext2/ext3 file system mounts ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks() jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer() ext4: remove unused parameter wbc from __ext4_journalled_writepage() ext4: remove encountered_congestion trace ext4: move_extent_per_page() cleanup ext4: initialize moved_len before calling ext4_move_extents() ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT ext4: use ext4_data_block_valid() in ext4_free_blocks() ... commit a5eba3f66f812cbc076a1170b3f888ad63f850b2 Merge: fc1495b 04dc1e8 Author: Linus Torvalds Date: Thu Dec 10 09:32:24 2009 -0800 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd * 'for-linus' of git://git.open-osd.org/linux-open-osd: exofs: Multi-device mirror support exofs: Move all operations to an io_engine exofs: move osd.c to ios.c exofs: statfs blocks is sectors not FS blocks exofs: Prints on mount and unmout exofs: refactor exofs_i_info initialization into common helper exofs: dbg-print less exofs: More sane debug print trivial: some small fixes in exofs documentation commit fc1495bf99de6f65066b3234813180301ff8b693 Merge: 5476ffd b38882f Author: Linus Torvalds Date: Thu Dec 10 09:31:45 2009 -0800 Merge git://git.infradead.org/ubifs-2.6 * git://git.infradead.org/ubifs-2.6: UBIFS: fix return code in check_leaf UBI: flush wl before clearing update marker MAINTAINERS: change e-mail of Artem Bityutskiy UBIFS: remove manual O_SYNC handling UBIFS: support mounting of UBI volume character devices UBI: Add ubi_open_volume_path commit 125580380f418000b1a06d9a54700f1191b6e561 Author: Cyrill Gorcunov Date: Thu Dec 10 19:56:34 2009 +0300 x86, perf events: Check if we have APIC enabled Ralf Hildebrandt reported this boot warning: | Running a vanilla 2.6.32 as Xen DomU, I'm getting: | | [ 0.000999] CPU: Physical Processor ID: 0 | [ 0.000999] CPU: Processor Core ID: 1 | [ 0.000999] Performance Events: AMD PMU driver. | [ 0.000999] ------------[ cut here ]------------ | [ 0.000999] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy So we need to check if APIC functionality is available, and not just in the P6 driver but elsewhere as well. Reported-by: Ralf Hildebrandt Signed-off-by: Cyrill Gorcunov Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091210165634.GF5086@lenovo> Signed-off-by: Ingo Molnar commit 5e855db5d8fec44e6604eb245aa9077bbd3f0d05 Author: Xiao Guangrong Date: Thu Dec 10 17:08:54 2009 +0800 perf_event: Fix variable initialization in other codepaths Signed-off-by: Xiao Guangrong Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: <4B20BAA6.7010609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5476ffd2b78f06cce31a57f8611162918fe1ae3a Author: David Wong Date: Thu Dec 3 10:54:25 2009 -0300 V4L/DVB (13592): max2165: 32bit build patch This patch drops usage of floating point variable for 32bit build Signed-off-by: David T. L. Wong Acked-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 8e0eb4011bd73d5f91b215b532f74eef478ef795 Author: Roel Kluin Date: Mon Dec 7 14:50:11 2009 +0100 ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks() Return the PTR_ERR of the correct pointer. Signed-off-by: Roel Kluin Signed-off-by: Jan Kara commit 68eb3db08344286733adac48304d9fb7a0e53b27 Author: Jan Kara Date: Tue Dec 1 16:53:06 2009 +0100 ext3: Fix data / filesystem corruption when write fails to copy data When ext3_write_begin fails after allocating some blocks or generic_perform_write fails to copy data to write, we truncate blocks already instantiated beyond i_size. Although these blocks were never inside i_size, we have to truncate pagecache of these blocks so that corresponding buffers get unmapped. Otherwise subsequent __block_prepare_write (called because we are retrying the write) will find the buffers mapped, not call ->get_block, and thus the page will be backed by already freed blocks leading to filesystem and data corruption. Reported-by: James Y Knight Signed-off-by: Jan Kara commit 5a20bdfcdc5c5e5f0647d8d99a998066ef5496ac Author: Jan Kara Date: Mon Nov 30 23:58:32 2009 +0100 ext4: Support for 64-bit quota format Add support for new 64-bit quota format. It is enough to add proper mount options handling. The rest is done by the generic code. Signed-off-by: Jan Kara commit 1aeec43432d6bfb7a300bb0363f2723b8c4c706d Author: Jan Kara Date: Mon Nov 30 22:22:41 2009 +0100 ext3: Support for vfsv1 quota format We just have to add proper mount options handling. The rest is handled by the generic quota code. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit 498c60153ebb8889d8944591383c5c12af1127d4 Author: Jan Kara Date: Mon Nov 16 18:09:47 2009 +0100 quota: Implement quota format with 64-bit space and inode limits So far the maximum quota space limit was 4TB. Apparently this isn't enough for Lustre guys anymore. So implement new quota format which raises block limits to 2^64 bytes. Also store number of inodes and inode limits in 64-bit variables as 2^32 files isn't that insanely high anymore. The first version of the patch has been developed by Andrew Perepechko . CC: Andrew.Perepechko@Sun.COM Signed-off-by: Jan Kara commit 30673930051e5203d0b826b8b8f2454cab453b94 Author: Jan Kara Date: Mon Nov 30 22:17:41 2009 +0100 quota: Move definition of QFMT_OCFS2 to linux/quota.h Move definition of this constant to linux/quota.h so that it cannot clash with other format IDs. CC: Joel Becker Signed-off-by: Jan Kara commit 92e128884bf04fb155413a78f45be1d73dff75a7 Author: Jérémy Cochoy Date: Mon Nov 30 17:58:43 2009 +0100 ext2: fix comment in ext2_find_entry about return values Signed-off-by: Jérémy Cochoy Signed-off-by: Jan Kara commit 4cf46b67eb6de94532c1bea11d2479d085229d0e Author: Alexey Fisher Date: Sun Nov 22 20:38:55 2009 +0100 ext3: Unify log messages in ext3 Make messages produced by ext3 more unified. It should be easy to parse. dmesg before patch: [ 4893.684892] reservations ON [ 4893.684896] xip option not supported [ 4893.684964] EXT3-fs warning: maximal mount count reached, running e2fsck is recommended dmesg after patch: [ 873.300792] EXT3-fs (loop0): using internal journaln [ 873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode [ 924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0. [ 723.755642] EXT3-fs (loop0): error: bad blocksize 8192 [ 357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2? [ 873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended [ 924.163657] EXT3-fs (loop0): error: can't find ext3 filesystem on dev loop0. Signed-off-by: Alexey Fisher Signed-off-by: Jan Kara commit 2074abfeb8ea2904aeeaecc45e0dfea3f83a22b2 Author: Stephen Hemminger Date: Mon Nov 16 16:04:49 2009 -0800 ext2: clear uptodate flag on super block I/O error This fixes a WARN backtrace in mark_buffer_dirty() that occurs during unmount when a USB or floppy device is removed. I reported this a kernel regression, but looks like it might have been there for longer than that. The super block update from a previous operation has marked the buffer as in error, and the flag has to be cleared before doing the update. (Similar code already exists in ext4). Signed-off-by: Stephen Hemminger Signed-off-by: Jan Kara commit 2314b07cb47ef7d7da5779977f8c3bf1b65748d2 Author: Alexey Fisher Date: Thu Nov 19 19:12:51 2009 +0100 ext2: Unify log messages in ext2 make messages produced by ext2 more unified. It should be easy to parse. dmesg before patch: [ 4893.684892] reservations ON [ 4893.684896] xip option not supported [ 4893.684961] EXT2-fs warning: mounting ext3 filesystem as ext2 [ 4893.684964] EXT2-fs warning: maximal mount count reached, running e2fsck is recommended [ 4893.684990] EXT II FS: 0.5b, 95/08/09, bs=1024, fs=1024, gc=2, bpg=8192, ipg=1280, mo=80010] dmesg after patch: [ 4893.684892] EXT2-fs (loop0): reservations ON [ 4893.684896] EXT2-fs (loop0): xip option not supported [ 4893.684961] EXT2-fs (loop0): warning: mounting ext3 filesystem as ext2 [ 4893.684964] EXT2-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended [ 4893.684990] EXT2-fs (loop0): 0.5b, 95/08/09, bs=1024, fs=1024, gc=2, bpg=8192, ipg=1280, mo=80010] Signed-off-by: Alexey Fisher Reviewed-by: Andreas Dilger Signed-off-by: Jan Kara commit dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf Author: Eric Sandeen Date: Mon Nov 16 16:50:49 2009 -0600 ext3: make "norecovery" an alias for "noload" Users on the list recently complained about differences across filesystems w.r.t. how to mount without a journal replay. In the discussion it was noted that xfs's "norecovery" option is perhaps more descriptively accurate than "noload," so let's make that an alias for ext3. Also show this status in /proc/mounts Signed-off-by: Eric Sandeen Signed-off-by: Jan Kara commit b918397542388de75bd86c32fbfa820e5d629fa9 Author: Eric Sandeen Date: Mon Nov 16 16:34:51 2009 -0600 ext3: Don't update the superblock in ext3_statfs() commit a71ce8c6c9bf269b192f352ea555217815cf027e updated ext3_statfs() to update the on-disk superblock counters, but modified this buffer directly without any journaling of the change. This is one of the accesses that was causing the crc errors in journal replay as seen in kernel.org bugzilla #14354. The modifications were originally to keep the sb "more" in sync, so that a readonly fsck of the device didn't flag this as an error (as often), but apparently e2fsprogs deals with this differently now, anyway. Based on Ted's patch for ext4, which was in turn based on my work on that bug and another preliminary patch... Signed-off-by: Eric Sandeen Signed-off-by: Jan Kara commit d965736b8cb42ae51ba9c3f13488035a98d025c6 Author: Eric Sandeen Date: Mon Nov 16 16:27:30 2009 -0600 ext3: journal all modifications in ext3_xattr_set_handle ext3_xattr_set_handle() was zeroing out an inode outside of journaling constraints; this is one of the accesses that was causing the crc errors in journal replay as seen in kernel.org bugzilla #14354. Although ext3 doesn't have the crc issue, modifications out of journal control are a Bad Thing. Signed-off-by: Eric Sandeen Signed-off-by: Jan Kara commit ad888a1f07a72fc7d19286b4ce5c154172a06eed Author: Jan Blunck Date: Wed Nov 18 17:10:56 2009 +0100 ext2: Explicitly assign values to on-disk enum of filetypes It is somewhat dangerous to use a straight enum here, because this will reassign values of later variables if one of the earlier ones is removed. Signed-off-by: Jan Blunck Cc: Andreas Dilger Signed-off-by: Jan Kara commit c56818d7dc976a7392be82e8e04fe26347d591f3 Author: Jan Kara Date: Thu Nov 12 15:42:08 2009 +0100 quota: Fix WARN_ON in lookup_one_len We should hold i_mutex when looking up quota files for journaled quotas, otherwise a WARN_ON in lookup_one_len triggers. The fact that we didn't hold i_mutex previously probably could not lead to a real bug since the filesystem is just being mounted / remounted read-write and thus the root directory cannot change anyway but it's definitely cleaner with i_mutex. Reported-by: Bastien ROUCARIES Signed-off-by: Jan Kara commit 1472da5fdc65f0cd286c655758d629346001e126 Author: Alexey Dobriyan Date: Fri Oct 16 15:26:03 2009 +0400 const: struct quota_format_ops Signed-off-by: Alexey Dobriyan Signed-off-by: Jan Kara commit 5ced58f73554e9d9609a790c5164d10ef91ce8ff Author: Christoph Hellwig Date: Wed Sep 30 22:17:16 2009 +0200 ubifs: remove manual O_SYNC handling generic_file_aio_write already calls into ->fsync to handle O_SYNC/O_DSYNC. Remove the duplicate call to ubifs_sync_wbufs_by_inode which is already covered by ubifs_fsync. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 027cf316afff03d310281709314fbc0899984759 Author: Christoph Hellwig Date: Wed Sep 30 22:16:51 2009 +0200 afs: remove manual O_SYNC handling generic_file_aio_write already calls into ->fsync to handle O_SYNC/O_DSYNC. Remove the duplicate manual invocation. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 94004ed726f38a841cc51f97c4a3f9eda9fbd0d9 Author: Christoph Hellwig Date: Wed Sep 30 22:16:33 2009 +0200 kill wait_on_page_writeback_range All callers really want the more logical filemap_fdatawait_range interface, so convert them to use it and merge wait_on_page_writeback_range into filemap_fdatawait_range. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 6b2f3d1f769be5779b479c37800229d9a4809fc3 Author: Christoph Hellwig Date: Tue Oct 27 11:05:28 2009 +0100 vfs: Implement proper O_SYNC semantics While Linux provided an O_SYNC flag basically since day 1, it took until Linux 2.4.0-test12pre2 to actually get it implemented for filesystems, since that day we had generic_osync_around with only minor changes and the great "For now, when the user asks for O_SYNC, we'll actually give O_DSYNC" comment. This patch intends to actually give us real O_SYNC semantics in addition to the O_DSYNC semantics. After Jan's O_SYNC patches which are required before this patch it's actually surprisingly simple, we just need to figure out when to set the datasync flag to vfs_fsync_range and when not. This patch renames the existing O_SYNC flag to O_DSYNC while keeping it's numerical value to keep binary compatibility, and adds a new real O_SYNC flag. To guarantee backwards compatiblity it is defined as expanding to both the O_DSYNC and the new additional binary flag (__O_SYNC) to make sure we are backwards-compatible when compiled against the new headers. This also means that all places that don't care about the differences can just check O_DSYNC and get the right behaviour for O_SYNC, too - only places that actuall care need to check __O_SYNC in addition. Drivers and network filesystems have been updated in a fail safe way to always do the full sync magic if O_DSYNC is set. The few places setting O_SYNC for lower layers are kept that way for now to stay failsafe. We enforce that O_DSYNC is set when __O_SYNC is set early in the open path to make sure we always get these sane options. Note that parisc really screwed up their headers as they already define a O_DSYNC that has always been a no-op. We try to repair it by using it for the new O_DSYNC and redefinining O_SYNC to send both the traditional O_SYNC numerical value _and_ the O_DSYNC one. Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Grant Grundler Cc: "David S. Miller" Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Al Viro Cc: Andreas Dilger Acked-by: Trond Myklebust Acked-by: Kyle McMartin Acked-by: Ulrich Drepper Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Jan Kara commit 59bc055211b8d266ab6089158058bf8268e02006 Author: Jan Kara Date: Wed Sep 23 14:44:56 2009 +0200 zisofs: Implement reading of compressed files when PAGE_CACHE_SIZE > compress block size Also split and cleanup zisofs_readpage() when we are changing it anyway. Signed-off-by: Jan Kara commit dfc12eb26a285df316be68a808af86964f3bff86 Author: Phil Carmody Date: Thu Dec 10 14:29:37 2009 +0200 sched: Fix memory leak in two error corner cases If the second in each of these pairs of allocations fails, then the first one will not be freed in the error route out. Found by a static code analysis tool. Signed-off-by: Phil Carmody Acked-by: Peter Zijlstra LKML-Reference: <1260448177-28448-1-git-send-email-ext-phil.2.carmody@nokia.com> Signed-off-by: Ingo Molnar commit 9cf7826743e5c78dcfcfdc99d17f79ce6d3a2942 Merge: 3a0340b 8638c49 Author: Ingo Molnar Date: Thu Dec 10 14:25:48 2009 +0100 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit e9c0748b687aa70179a9e6d8ffc24b2874fe350b Author: Thomas Gleixner Date: Thu Dec 10 13:23:19 2009 +0100 itimer: Fix the itimer trace print format Compiling powerpc64 results in: include/trace/events/timer.h:279: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'cputime_t' .... cputime_t on power is u64, which triggers the above warning. Cast the cputime_t to unsigned long long and fix the print format string. That works on both 32 and 64 bit architectures. While at it change the print format for long variables from %lu to %ld. Signed-off-by: Thomas Gleixner Cc: Xiao Guangrong commit 5f201907dfe4ad42c44006ddfcec00ed12e59497 Author: Heiko Carstens Date: Thu Dec 10 10:56:29 2009 +0100 hrtimer: move timer stats helper functions to hrtimer.c There is no reason to make timer_stats_hrtimer_set_start_info and friends visible to the rest of the kernel. So move all of them to hrtimer.c. Also make timer_stats_hrtimer_set_start_info a static inline function so it gets inlined and we avoid another function call. Based on a patch by Thomas Gleixner. Signed-off-by: Heiko Carstens LKML-Reference: <20091210095629.GC4144@osiris.boeblingen.de.ibm.com> Signed-off-by: Thomas Gleixner commit 41d2e494937715d3150e5c75d01f0e75ae899337 Author: Thomas Gleixner Date: Fri Nov 13 17:05:44 2009 +0100 hrtimer: Tune hrtimer_interrupt hang logic The hrtimer_interrupt hang logic adjusts min_delta_ns based on the execution time of the hrtimer callbacks. This is error-prone for virtual machines, where a guest vcpu can be scheduled out during the execution of the callbacks (and the callbacks themselves can do operations that translate to blocking operations in the hypervisor), which in can lead to large min_delta_ns rendering the system unusable. Replace the current heuristics with something more reliable. Allow the interrupt code to try 3 times to catch up with the lost time. If that fails use the total time spent in the interrupt handler to defer the next timer interrupt so the system can catch up with other things which got delayed. Limit that deferment to 100ms. The retry events and the maximum time spent in the interrupt handler are recorded and exposed via /proc/timer_list Inspired by a patch from Marcelo. Reported-by: Michael Tokarev Signed-off-by: Thomas Gleixner Tested-by: Marcelo Tosatti Cc: kvm@vger.kernel.org commit 8638c4914f34fedc1c13b1cc13f6d1e5a78c46b4 Author: Joerg Roedel Date: Thu Dec 10 11:12:25 2009 +0100 x86/amd-iommu: Fix PCI hotplug with passthrough mode The device change notifier is initialized in the dma_ops initialization path. But this path is never executed for iommu=pt. Move the notifier initialization to IOMMU hardware init code to fix this. Signed-off-by: Joerg Roedel commit b7cc9554bc73641c9ed4d7eb74b2d6e78f20abea Author: Joerg Roedel Date: Thu Dec 10 11:03:39 2009 +0100 x86/amd-iommu: Fix passthrough mode The data structure changes to use dev->archdata.iommu field broke the iommu=pt mode because in this case the dev->archdata.iommu was left uninitialized. This moves the inititalization of the devices into the main init function and fixes the problem. Signed-off-by: Joerg Roedel commit 5f60e496083efb01893a899b6885828330db971f Author: Krzysztof Helt Date: Wed Dec 9 20:12:43 2009 +0100 ALSA: opti93x: fix irq releasing if the irq cannot be allocated Use the chip->irq to check if the irq should be released so the irq is not released if it has not been allocated. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 4ca3ef71f54655af98b66e8ff308a47a2a580a53 Author: Mike Galbraith Date: Thu Dec 10 09:25:53 2009 +0100 sched: Fix build warning in get_update_sysctl_factor() Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar LKML-Reference: commit 04dc1e88ad9c9f9639019e9646a89ce0ebf706bb Author: Boaz Harrosh Date: Mon Nov 16 16:03:05 2009 +0200 exofs: Multi-device mirror support This patch changes on-disk format, it is accompanied with a parallel patch to mkfs.exofs that enables multi-device capabilities. After this patch, old exofs will refuse to mount a new formatted FS and new exofs will refuse an old format. This is done by moving the magic field offset inside the FSCB. A new FSCB *version* field was added. In the future, exofs will refuse to mount unmatched FSCB version. To up-grade or down-grade an exofs one must use mkfs.exofs --upgrade option before mounting. Introduced, a new object that contains a *device-table*. This object contains the default *data-map* and a linear array of devices information, which identifies the devices used in the filesystem. This object is only written to offline by mkfs.exofs. This is why it is kept separate from the FSCB, since the later is written to while mounted. Same partition number, same object number is used on all devices only the device varies. * define the new format, then load the device table on mount time make sure every thing is supported. * Change I/O engine to now support Mirror IO, .i.e write same data to multiple devices, read from a random device to spread the read-load from multiple clients (TODO: stripe read) Implementation notes: A few points introduced in previous patch should be mentioned here: * Special care was made so absolutlly all operation that have any chance of failing are done before any osd-request is executed. This is to minimize the need for a data consistency recovery, to only real IO errors. * Each IO state has a kref. It starts at 1, any osd-request executed will increment the kref, finally when all are executed the first ref is dropped. At IO-done, each request completion decrements the kref, the last one to return executes the internal _last_io() routine. _last_io() will call the registered io_state_done. On sync mode a caller does not supply a done method, indicating a synchronous request, the caller is put to sleep and a special io_state_done is registered that will awaken the caller. Though also in sync mode all operations are executed in parallel. Signed-off-by: Boaz Harrosh commit 06886a5a3dc5a5abe0a4d257c26317bde7047be8 Author: Boaz Harrosh Date: Sun Nov 8 14:54:08 2009 +0200 exofs: Move all operations to an io_engine In anticipation for multi-device operations, we separate osd operations into an abstract I/O API. Currently only one device is used but later when adding more devices, we will drive all devices in parallel according to a "data_map" that describes how data is arranged on multiple devices. The file system level operates, like before, as if there is one object (inode-number) and an i_size. The io engine will split this to the same object-number but on multiple device. At first we introduce Mirror (raid 1) layout. But at the final outcome we intend to fully implement the pNFS-Objects data-map, including raid 0,4,5,6 over mirrored devices, over multiple device-groups. And more. See: http://tools.ietf.org/html/draft-ietf-nfsv4-pnfs-obj-12 * Define an io_state based API for accessing osd storage devices in an abstract way. Usage: First a caller allocates an io state with: exofs_get_io_state(struct exofs_sb_info *sbi, struct exofs_io_state** ios); Then calles one of: exofs_sbi_create(struct exofs_io_state *ios); exofs_sbi_remove(struct exofs_io_state *ios); exofs_sbi_write(struct exofs_io_state *ios); exofs_sbi_read(struct exofs_io_state *ios); exofs_oi_truncate(struct exofs_i_info *oi, u64 new_len); And when done exofs_put_io_state(struct exofs_io_state *ios); * Convert all source files to use this new API * Convert from bio_alloc to bio_kmalloc * In io engine we make use of the now fixed osd_req_decode_sense There are no functional changes or on disk additions after this patch. Signed-off-by: Boaz Harrosh commit 8ce9bdd1fbe962933736d7977e972972cd5d754c Author: Boaz Harrosh Date: Tue Nov 3 16:46:00 2009 +0200 exofs: move osd.c to ios.c If I do a "git mv" together with a massive code change and commit in one patch, git looses the rename and records a delete/new instead. This is bad because I want a rename recorded so later rebased/cherry-picked patches to the old name will work. Also the --follow is lost. Signed-off-by: Boaz Harrosh commit cae012d8532879544326fff5fa2ae22a6dfe8e23 Author: Boaz Harrosh Date: Mon Nov 2 18:19:24 2009 +0200 exofs: statfs blocks is sectors not FS blocks Even though exofs has a 4k block size, statfs blocks is in sectors (512 bytes). Also if target returns 0 for capacity then make it ULLONG_MAX. df does not like zero-size filesystems Signed-off-by: Boaz Harrosh commit 19fe294f2eaee33574ac1fdcf3cc26880de820ea Author: Boaz Harrosh Date: Thu Sep 3 20:38:02 2009 +0300 exofs: Prints on mount and unmout It is important to print in the logs when a filesystem was mounted and eventually unmounted. Print the osd-device's osd_name and pid the FS was mounted/unmounted on. TODO: How to also print the namespace path the filesystem was mounted on? Signed-off-by: Boaz Harrosh commit 9cfdc7aa9f1b59627029ad00a58c3f59eb2cc383 Author: Boaz Harrosh Date: Tue Aug 4 20:40:29 2009 +0300 exofs: refactor exofs_i_info initialization into common helper There are two places that initialize inodes: exofs_iget() and exofs_new_inode() As more members of exofs_i_info that need initialization are added this code will grow. (soon) Signed-off-by: Boaz Harrosh commit fe33cc1ee170c0e3b47ab9cbac07083b3446961c Author: Boaz Harrosh Date: Sun Nov 1 18:28:14 2009 +0200 exofs: dbg-print less Iner-loops printing is converted to EXOFS_DBG2 which is #defined to nothing. It is now almost bareable to just leave debug-on. Every operation is printed once, with most relevant info (I hope). Signed-off-by: Boaz Harrosh commit 58311c43dfc3997a1f7b5883f827443f34108f8f Author: Boaz Harrosh Date: Tue Jul 14 11:06:08 2009 +0300 exofs: More sane debug print debug prints should be somewhat useful without actually reading the source code Signed-off-by: Boaz Harrosh commit 9f249162fbf1aea1335e13c57fd5355d00e07a47 Author: Thadeu Lima de Souza Cascardo Date: Mon Jul 27 13:26:32 2009 -0300 trivial: some small fixes in exofs documentation Add exofs.txt to filesystems Documentation index and fix some typos, identation and grammar. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Boaz Harrosh commit 3a0340be06a9356eb61f6804107480acbe62c069 Author: Joe Perches Date: Wed Dec 9 10:45:37 2009 -0800 x86: mmio-mod.c: Use pr_fmt - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Remove #define NAME - Remove NAME from pr_ Signed-off-by: Joe Perches LKML-Reference: <009cb214c45ef932df0242856228f4739cc91408.1260383912.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 1bd591a5f17f546121fcf0015d72cc3e9c49cc29 Author: Joe Perches Date: Wed Dec 9 10:45:36 2009 -0800 x86: kmmio.c: Add and use pr_fmt(fmt) - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Strip "kmmio: " from pr_s Signed-off-by: Joe Perches LKML-Reference: <7aa509f8a23933036d39f54bd51e9acc52068049.1260383912.git.joe@perches.com> Signed-off-by: Ingo Molnar commit a78d9626f4f6fa7904bfdb071205080743125983 Author: Joe Perches Date: Wed Dec 9 10:45:35 2009 -0800 x86: i8254.c: Add pr_fmt(fmt) - Add pr_fmt(fmt) "pit: " fmt - Strip pit: prefixes from pr_debug Signed-off-by: Joe Perches LKML-Reference: Signed-off-by: Ingo Molnar commit 40685236b3161b80030a4df34bcbc5941ea59876 Author: Joe Perches Date: Wed Dec 9 10:45:34 2009 -0800 x86: setup_percpu.c: Use pr_ and add pr_fmt(fmt) - Added #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Stripped PERCPU: from a pr_warning Signed-off-by: Joe Perches LKML-Reference: <7ead24eccbea8f2b11795abad3e2893a98e1e111.1260383912.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 5cd476effe9570d2e520cf904d51f5c992972647 Author: Joe Perches Date: Wed Dec 9 10:45:33 2009 -0800 x86: es7000_32.c: Use pr_ and add pr_fmt(fmt) - Added #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Converted a few printk(KERN_INFO to pr_info( - Stripped "es7000_mipcfg" from pr_debug Signed-off-by: Joe Perches LKML-Reference: <3b4375af246dec5941168858910210937c110af9.1260383912.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 7931241694b25589658b1ceb02218d2750540ae0 Author: Ingo Molnar Date: Thu Dec 10 08:43:34 2009 +0100 perf kmem: Fix unused argument build warning Fix: builtin-kmem.c: In function 'parse_caller_opt': builtin-kmem.c:690: error: unused parameter 'arg' builtin-kmem.c: In function 'parse_alloc_opt': builtin-kmem.c:697: error: unused parameter 'arg' Cc: Li Zefan Cc: Pekka Enberg LKML-Reference: <4B20A195.8030106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 716d69e4fda0563ef67d62ee44baa17b377b9b23 Author: Arnaldo Carvalho de Melo Date: Wed Dec 9 20:09:38 2009 -0200 perf symbols: perf_header__read_build_ids() offset'n'size should be u64 As off_t is a long, so breaking things on 32-bit land. Now buildids work on 32-bit land. [root@ana ~]# uname -a Linux ana.ghostprotocols.net 2.6.31.6-162.fc12.i686 #1 SMP Fri Dec 4 01:09:09 EST 2009 i686 i686 i386 GNU/Linux [root@ana ~]# perf buildid-list | tail -5 136ee6792ba2ae57870ecd87369f4ae3194d5b27 /lib/libreadline.so.6.0 d202dcb1ad48d140065783657d37ae3f2d9ab83f /usr/bin/gdb 0a56c0c00dcc2e9e581ae9997f31957c9c4671df /usr/lib/libdwarf.so.0.0 5f9e6ac95241cbb3227608e0ff2a2e0cbbe72439 /home/acme/bin/perf 925d19eccc2ddb1c9d74dd178a011426f1b124a8 /bin/sleep [root@ana ~]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1260396578-19116-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8b4825bf8da5c07e80496b749e9a50d675df4119 Author: Arnaldo Carvalho de Melo Date: Wed Dec 9 20:09:37 2009 -0200 perf symbols: dsos__read_build_ids() should read both user and kernel buildids Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1260396578-19116-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit bc3abfb1b50964ffbbd0fc4e1ffe598b1b63a8c7 Author: Li Zefan Date: Thu Dec 10 15:22:17 2009 +0800 perf tools: Align long options which have no short forms Before: $ ./perf kmem ... -l, --line show n lines --raw-ip show raw ip instead of symbol After: $ ./perf kmem ... -l, --line show n lines --raw-ip show raw ip instead of symbol Signed-off-by: Li Zefan Cc: Pekka Enberg LKML-Reference: <4B20A1A9.3040104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 90b86a9f7dc22e7ff8e8c79ed553860454ff8dd9 Author: Li Zefan Date: Thu Dec 10 15:21:57 2009 +0800 perf kmem: Show usage if no option is specified As Ingo suggested, make "perf kmem" show help information. "perf kmem stat [--caller] [--alloc] .." will show memory statistics. Signed-off-by: Li Zefan Acked-by: Pekka Enberg LKML-Reference: <4B20A195.8030106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 1bbfa6f25673019dc0acc9308b667c96f6cda8bf Author: Mike Frysinger Date: Wed Dec 9 20:07:03 2009 -0500 sched: Mark sched_clock() as notrace The core ftrace code (trace_clock_local) calls sched_clock() directly, so we don't want to recurisvely trigger the ftrace code. Rather than update every sched_clock() definition, tag the prototype for everyone as notrace. Signed-off-by: Mike Frysinger Cc: Peter Zijlstra LKML-Reference: <1260407223-10900-1-git-send-email-vapier@gentoo.org> Signed-off-by: Ingo Molnar commit 3786310afe738070be31c439b8deeaeb69b9735d Author: Frederic Weisbecker Date: Wed Dec 9 21:40:08 2009 +0100 perf sched: Add max delay time snapshot When we have a maximum latency reported for a task, we need a convenient way to find the matching location to the raw traces or to perf sched map that shows where the task has been eventually scheduled in. This gives a pointer to retrieve the events that occured during this max latency. Signed-off-by: Frederic Weisbecker Reviewed-by: Xiao Guangrong Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras LKML-Reference: <1260391208-6808-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5660ce34241ab204bf78fbcaa5e09318c2748d37 Author: Julia Lawall Date: Wed Dec 9 20:26:18 2009 +0100 perf tools: Correct size given to memset Memset should be given the size of the structure, not the size of the pointer. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ type T; T *x; expression E; @@ memset(x, E, sizeof( + * x)) // Signed-off-by: Julia Lawall Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: Signed-off-by: Ingo Molnar commit ea5b41f9d595be354f7a50e56b28c2d72e6e88a5 Author: Luck, Tony Date: Wed Dec 9 14:29:36 2009 -0800 lockdep: Avoid out of bounds array reference in save_trace() ia64 found this the hard way (because we currently have a stub for save_stack_trace() that does nothing). But it would be a good idea to be cautious in case a real save_stack_trace() bailed out with an error before it set trace->nr_entries. Signed-off-by: Tony Luck Acked-by: Peter Zijlstra Cc: luming.yu@intel.com LKML-Reference: <4b2024d085302c2a2@agluck-desktop.sc.intel.com> Signed-off-by: Ingo Molnar commit 788d70dce0184eccc249ac6f05aa38b385b7497c Merge: 2b876f9 f294248 Author: Ingo Molnar Date: Thu Dec 10 08:18:41 2009 +0100 Merge branch 'tip/tracing/core3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 21140f4d3387aa2213f1deea0128df1dbf924379 Author: Xiao Guangrong Date: Thu Dec 10 14:00:51 2009 +0800 perf_event: Fix perf_swevent_hrtimer() variable initialization fix: [] ? printk+0x1d/0x24 [] ? perf_prepare_sample+0x269/0x280 [] warn_slowpath_common+0x71/0xd0 [] ? perf_prepare_sample+0x269/0x280 [] warn_slowpath_null+0x1a/0x20 [] perf_prepare_sample+0x269/0x280 [] ? cpu_clock+0x53/0x90 [] __perf_event_overflow+0x2a8/0x300 [] perf_event_overflow+0x1b/0x30 [] perf_swevent_hrtimer+0x7f/0x120 This is because 'data.raw' variable not initialize. Signed-off-by: Xiao Guangrong Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: <4B208E93.1010801@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 4361e52ad0372e6fd2240a2207b49a4de1f45ca9 Author: Dave Airlie Date: Thu Dec 10 15:59:32 2009 +1000 drm/radeon/kms: fix warning about cur_placement being uninitialised. Signed-off-by: Dave Airlie commit 115a5c2ba0aac55e1bac390f271c818c3cbfa1fb Merge: 0b5e8db fb53f86 Author: Dave Airlie Date: Thu Dec 10 15:47:57 2009 +1000 Merge remote branch 'korg/drm-radeon-next' of into drm-linus This merges some TTM overhauls to allow us to do better object placement for certain radeon GPUs that need scanout+cursor within range of each other, along with an API change to not return ERESTART to userspace, but to use ERESTARTSYS properly internally and have it convert to EINTR and catch that correctly. Also lots of radeon fixes across the board. commit 0b5e8db639de032bd4febbb0a5b1cd2c19bac26d Merge: 7b0a9e8 4f8d619 Author: Dave Airlie Date: Thu Dec 10 15:44:11 2009 +1000 Merge remote branch 'anholt/drm-intel-next' into drm-linus Pull more Intel changes in, especially one to init the GTT properly commit fb53f8621a3fab88776ae2450a1f3afc7920231b Author: Jerome Glisse Date: Wed Dec 9 21:55:10 2009 +0100 drm/ttm: Print debug information on memory manager when eviction fails This add helper function to print information on eviction placements and memory manager status when eviction fails to allocate memory space. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 99d7e48e8cb867f303439ad40e995e203841bd94 Author: Jerome Glisse Date: Wed Dec 9 21:55:09 2009 +0100 drm: Add memory manager debug function drm_mm_debug_table will print the memory manager state in table allowing to give a snapshot of the manager at given point in time. Usefull for debugging. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 550e2d9270e2f0a10c3b063899f70e4cca25fe72 Author: Dave Airlie Date: Wed Dec 9 14:15:38 2009 +1000 drm/radeon/kms: restore surface registers on resume. On resume on my rv530 laptop surface cntl was left disabled, so wierd stuff would happen with rendering to a tiled front buffer. This checks if the surface regs are assigned to bos and reprograms the surface registers on resume using the same path that clears them all on init. Signed-off-by: Dave Airlie commit 779720a3209849be202ac36a811e934865c50971 Author: Alex Deucher Date: Wed Dec 9 19:31:44 2009 -0500 drm/radeon/kms/r600/r700: fallback gracefully on ucode failure Sent the wrong patch earlier. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7cb7d1d7b650c9764c8a1b00e2b43d932acde779 Author: Jerome Glisse Date: Wed Dec 9 22:14:27 2009 +0100 drm/ttm: Initialize eviction placement in case the driver callback doesn't This would allow to catch driver callback error of not properly setting the eviction placement structure. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit cf0fe4566dcc0c5bd9b7da8c9a53e712593db118 Author: Jerome Glisse Date: Wed Dec 9 18:21:55 2009 +0100 drm/radeon/kms: cleanup structure and module if initialization fails This would allow us to properly unload others module like TTM if initialization fails after we initiliazed TTM structure. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit eaa5fd1a66fefd7cc918d80250d66fa48b10b81f Author: Jerome Glisse Date: Wed Dec 9 21:57:37 2009 +0100 drm/radeon/kms: actualy set the eviction placements we choose Stupid bug, somehow copying the eviction placements into the result structure was missing. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 4a04a844ba0c09b5641bf2ebd9f9517aa76e52fb Author: Jerome Glisse Date: Wed Dec 9 17:39:16 2009 +0100 drm/radeon/kms: Fix NULL ptr dereference radeon_atombios_fini might be call while there is not valid atombios structure allocated, thus test for a not null ptr before trying to access this structure. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit b27b63750d912e80d61d2120c4a1664062d0f808 Author: Alex Deucher Date: Wed Dec 9 17:44:25 2009 -0500 drm/radeon/kms/avivo: add support for new pll selection algo Supported on all AVIVO-based asics. Can be disabled via the new_pll module parameter: new_pll=0 - disable new_pll=1 - enable enabled by default [airlied: fixed to use do_div] Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 69b3b5e59bc763c30d0098ae4bbe1225c0e82a04 Author: Alex Deucher Date: Wed Dec 9 14:40:06 2009 -0500 drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 2e7b6f7fa62d92d941c626f8ae45f5cd75a52d55 Author: Dave Airlie Date: Wed Dec 9 15:32:23 2009 +1000 drm/radeon/kms: fix return value from fence function. We only want to return here for errors, the wait functions return a positive timeout otherwise, which gets back to userspace and causes X to crash here. Signed-off-by: Dave Airlie commit 5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031 Author: Thomas Hellstrom Date: Mon Dec 7 18:36:19 2009 +0100 drm/radeon: Remove tests for -ERESTART from the TTM code. Also sets affected TTM calls up to not wait interruptible, since that would cause an in-kernel spin until the TTM call succeeds, since the Radeon code does not return to user-space when a signal is received. Modifies interruptible fence waits to return -ERESTARTSYS rather than -EBUSY when interrupted by a signal, since that's the (yet undocumented) semantics required by the TTM sync object hooks. Signed-off-by: Thomas Hellstrom Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 98ffc4158e12008102cb6ae242a7fc46f9243f0d Author: Thomas Hellstrom Date: Mon Dec 7 18:36:18 2009 +0100 drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal. The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer before returned to user-space. Signed-off-by: Thomas Hellstrom Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 312ea8da049a1830aa50c6e00002e50e30df476e Author: Jerome Glisse Date: Mon Dec 7 15:52:58 2009 +0100 drm/radeon/kms: Convert radeon to new TTM validation API (V2) This convert radeon to use new TTM validation API, it doesn't really take advantage of it beside in the eviction case. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit ca262a9998d46196750bb19a9dc4bd465b170ff7 Author: Jerome Glisse Date: Tue Dec 8 15:33:32 2009 +0100 drm/ttm: Rework validation & memory space allocation (V3) This change allow driver to pass sorted memory placement, from most prefered placement to least prefered placement. In order to avoid long function prototype a structure is used to gather memory placement informations such as range restriction (if you need a buffer to be in given range). Range restriction is determined by fpfn & lpfn which are the first page and last page number btw which allocation can happen. If those fields are set to 0 ttm will assume buffer can be put anywhere in the address space (thus it avoids putting a burden on the driver to always properly set those fields). This patch also factor few functions like evicting first entry of lru list or getting a memory space. This avoid code duplication. V2: Change API to use placement flags and array instead of packing placement order into a quadword. V3: Make sure we set the appropriate mem.placement flag when validating or allocation memory space. [Pending Thomas Hellstrom further review but okay from preliminary review so far]. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit a2e68e92d384d37c8cc6bb7206d43b1eb9bc3f08 Author: Jerome Glisse Date: Mon Dec 7 15:52:56 2009 +0100 drm: Add search/get functions to get a block in a specific range These are required for changes to TTM. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit cf2f05d30dacab32e6866347be6cbfa4030b33b7 Author: Dave Airlie Date: Tue Dec 8 15:45:13 2009 +1000 drm/radeon/kms: fix avivo tiling regression since radeon object rework The object rework moved the tiling flag setup around wrongly, so tiling we getting setup then overwritten by fb format. Fixes regression with drm-radeon-next on rv530 laptop tiling test. Signed-off-by: Dave Airlie commit 3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0 Merge: f71eaf6 b00eb79 Author: Linus Torvalds Date: Wed Dec 9 19:57:06 2009 -0800 Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPICA: Update version to 20091112. ACPICA: Add additional module-level code support ACPICA: Deploy new create integer interface where appropriate ACPICA: New internal utility function to create Integer objects ACPICA: Add repair for predefined methods that must return sorted lists ACPICA: Fix possible fault if return Package objects contain NULL elements ACPICA: Add post-order callback to acpi_walk_namespace ACPICA: Change package length error message to an info message ACPICA: Reduce severity of predefined repair messages, Warning to Info ACPICA: Update version to 20091013 ACPICA: Fix possible memory leak for Scope ASL operator ACPICA: Remove possibility of executing _REG methods twice ACPICA: Add repair for bad _MAT buffers ACPICA: Add repair for bad _BIF/_BIX packages commit f71eaf68406cfee91b6a96bcdf7ce33dc78829c5 Merge: 78f1ae1 54fe467 Author: Linus Torvalds Date: Wed Dec 9 19:53:11 2009 -0800 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (41 commits) hwmon: (adt7475) Add VID support for the ADT7476 hwmon: (adt7475) Add an entry in MAINTAINERS hwmon: (adt7475) Add support for the ADT7476 hwmon: (adt7475) Voltage attenuators can be bypassed hwmon: (adt7475) Print device information on probe hwmon: (adt7475) Handle alternative pin functions hwmon: (adt7475) Move sysfs files removal to a separate function hwmon: (adt7475) Add support for the ADT7490 hwmon: (adt7475) Improve device detection hwmon: (adt7475) Add missing static marker hwmon: (adt7475) Rework voltage inputs handling hwmon: (adt7475) Implement pwm_use_point2_pwm_at_crit hwmon: (adt7475) New documentation hwmon: (adt7475) Add support for the ADT7473 hwmon: (f71882fg) Add support for the f71889fg (version 2) hwmon: (f71882fg) Fix sysfs file removal hwmon: (f71882fg) Cleanup sysfs attr creation 2/2 hwmon: (f71882fg) Cleanup sysfs attr creation 1/2 hwmon: (thmc50) Stop using I2C_CLIENT_MODULE_PARM hwmon: Add Freescale MC13783 ADC driver ... commit 78f1ae193d1662c22cfebb916e788e1ca896c0fe Merge: fa395aa 8419488 Author: Linus Torvalds Date: Wed Dec 9 19:52:13 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ice1724 - aureon - modify WM8770 Master & DAC volume ALSA: hda/realtek: quirk for D945GCLF2 mainboard ALSA: hda - Terradici HDA controllers does not support 64-bit mode ALSA: document: Add direct git link to grub hda-analyzer ALSA: radio/sound/miro: fix build, cleanup depends/selects ALSA: hda - Generalize EAPD inversion check in patch_analog.c ASoC: Wrong variable returned on error ALSA: snd-usb-us122l: add product IDs of US-122MKII and US-144MKII ALSA: hda - Exclude unusable ADCs for ALC88x ALSA: hda - Add missing Line-Out and PCM switches as slave ALSA: hda - iMac 9,1 sound patch. ALSA: opti93x: set MC indirect registers base from PnP data commit fa395aaec823b9d1a5800913a6b5d0e6d1c5ced2 Merge: 3e74683 1f26978 Author: Linus Torvalds Date: Wed Dec 9 19:52:01 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits) Input: appletouch - give up maintainership Input: dm355evm_kbd - switch to using sparse keymap library Input: wistron_btns - switch to using sparse keymap library Input: add generic support for sparse keymaps Input: fix memory leak in force feedback core Input: wistron - remove identification strings from DMI table Input: psmouse - remove identification strings from DMI tables Input: atkbd - remove identification strings from DMI table Input: i8042 - remove identification strings from DMI tables DMI: allow omitting ident strings in DMI tables Input: psmouse - do not carry DMI data around Input: matrix-keypad - switch to using dev_pm_ops Input: keyboard - fix lack of locking when traversing handler->h_list Input: gpio_keys - scan gpio state at probe and resume time Input: keyboard - add locking around event handling Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller Input: xpad - add two new Xbox 360 devices Input: polled device - do not start polling if interval is zero Input: polled device - schedule first poll immediately Input: add S3C24XX touchscreen driver ... commit 3e7468313758913c5e4d372f35b271b96bad1298 Merge: 6825fbc e97f467 Author: Linus Torvalds Date: Wed Dec 9 19:50:49 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (345 commits) V4L/DVB (13542): ir-keytable: Allow dynamic table change V4L/DVB (13541): atbm8830: replace 64-bit division and floating point usage V4L/DVB (13540): ir-common: Cleanup get key evdev code V4L/DVB (13539): ir-common: add __func__ for debug messages V4L/DVB (13538): ir-common: Use a dynamic keycode table V4L/DVB (13537): ir: Prepare the code for dynamic keycode table allocation V4L/DVB (13536): em28xx: Use the full RC5 code on HVR-950 Remote Controller V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code V4L/DVB (13534): ir-common: Remove some unused fields/structs V4L/DVB (13533): ir: use dynamic tables, instead of static ones V4L/DVB (13532): ir-common: Add infrastructure to use a dynamic keycode table V4L/DVB (13531): ir-common: rename the debug routine to allow exporting it V4L/DVB (13458): go7007: subdev conversion V4L/DVB (13457): s2250: subdev conversion V4L/DVB (13456): s2250: Change module structure V4L/DVB (13528): em28xx: add support for em2800 VC211A card em28xx: don't reduce scale to half size for em2800 em28xx: don't load audio modules when AC97 is mis-detected em28xx: em2800 chips support max width of 640 V4L/DVB (13523): dvb-bt8xx: fix compile warning ... Fix up trivial conflicts due to spelling fixes from the trivial tree in Documentation/video4linux/gspca.txt drivers/media/video/cx18/cx18-mailbox.h commit 6825fbc4cb219f2c98bb7d157915d797cf5cb823 Merge: 6bb951a 155a493 Author: Linus Torvalds Date: Wed Dec 9 19:46:12 2009 -0800 Merge branch 'next-i2c' of git://git.fluff.org/bjdooks/linux * 'next-i2c' of git://git.fluff.org/bjdooks/linux: (25 commits) i2c-pnx: Map I2C adapter number to platform ID number i2c-omap: OMAP3: PM: (re)init for every transfer to support off-mode i2c-designware: i2c_dw_handle_tx_abort: Use dev_dbg() for NOACK cases i2c-designware: Cosmetic cleanups i2c-designware: Tx abort cleanups i2c-designware: Skip RX_FULL and TX_EMPTY bits on tx abort errors i2c-designware: i2c_dw_xfer_msg: Fix error handling procedures i2c-designware: Disable TX_EMPTY when all i2c_msg msgs has been processed i2c-designware: Process all i2c_msg messages in the interrupt handler i2c-designware: i2c_dw_read: Remove redundant target address checker i2c-designware: i2c_dw_func: Set I2C_FUNC_SMBUS_foo bits i2c-designware: Initialize byte count variables just prior to being used i2c-designware: i2c_dw_xfer_msg: Introduce a local "buf" pointer i2c-designware: Divide i2c_dw_xfer_msg into two functions i2c-designware: Enable RX_FULL interrupt i2c-designware: Set Tx/Rx FIFO threshold levels i2c-designware: Process i2c_msg messages in the interrupt handler i2c-designware: i2c_dw_xfer_msg: Fix i2c_msg search bug i2c-designware: Improved _HCNT/_LCNT calculation i2c-designware: Remove an useless local variable "num" ... commit 6bb951a0a6212486a3bab3d765c32295f46f24c2 Merge: e49aedb 947a246 Author: Linus Torvalds Date: Wed Dec 9 19:45:58 2009 -0800 Merge branch 's3c24xx-updates' of git://git.fluff.org/bjdooks/linux * 's3c24xx-updates' of git://git.fluff.org/bjdooks/linux: ARM: S3C24XX: DMA: Use valid index when accessing array ARM: S3C: move s3c_pwm_remove to .devexit.text ARM: S3C24XX: Export s3c24xx_set_fiq for modules. ARM: S3C: move s3c_adc_remove to .devexit.text commit e49aedb594dc9cd4add2f0fd7360952c11017532 Merge: 4ef58d4 4e5b932 Author: Linus Torvalds Date: Wed Dec 9 19:45:38 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: sl82c105: remove no longer needed debugging code sis5513: remove stale TODO pdc202xx_old: remove no longer needed debugging code cy82c693: remove no longer needed debugging code cmd64x: remove no longer needed debugging code alim15x3: remove obsolete and dangerous wdc_udma parameter ide: Increase WAIT_DRQ to accomodate some CF cards and SSD drives. cs5535: add pci id for AMD based CS5535 controllers slc90e66: fix UDMA handling drivers/ide/tx4938ide.c: use resource_size() drivers/ide/ide_platform.c: use resource_size() drivers/ide/au1xxx-ide.c: use resource_size() hpt366: remove dead old timing tables ide: update Kconfig text to mark as deprecated ide-tape: remove the BKL hpt366: kill unused #define's commit 4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8 Merge: f6c4c81 d014d04 Author: Linus Torvalds Date: Wed Dec 9 19:43:33 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits) tree-wide: fix misspelling of "definition" in comments reiserfs: fix misspelling of "journaled" doc: Fix a typo in slub.txt. inotify: remove superfluous return code check hdlc: spelling fix in find_pvc() comment doc: fix regulator docs cut-and-pasteism mtd: Fix comment in Kconfig doc: Fix IRQ chip docs tree-wide: fix assorted typos all over the place drivers/ata/libata-sff.c: comment spelling fixes fix typos/grammos in Documentation/edac.txt sysctl: add missing comments fs/debugfs/inode.c: fix comment typos sgivwfb: Make use of ARRAY_SIZE. sky2: fix sky2_link_down copy/paste comment error tree-wide: fix typos "couter" -> "counter" tree-wide: fix typos "offest" -> "offset" fix kerneldoc for set_irq_msi() spidev: fix double "of of" in comment comment typo fix: sybsystem -> subsystem ... commit f6c4c8195b5e7878823caa1181be404d9e86d369 Merge: 382f51f 447753d Author: Linus Torvalds Date: Wed Dec 9 19:43:19 2009 -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: HID: add multi-input quirk for NextWindow Touchscreen. HID: add support for Acan FG-8100 barcode reader HID: make Media key on Logitech DiNovo Mini work HID: support Logitech/3DConnexion SpaceTraveler and SpaceNavigator HID: remove BKL from hiddev_ioctl_usage() HID: fixup quirk for NCR devices HID: pidff - fix unnecessary loop iterations on reset HID: add NOGET quirk for another device from CH Products HID: remove useless DRIVER_VERSION macro HID: fix MODULE_AUTHOR usage in HID modules HID: blacklist Acer Ferrari 4005 optical mouse commit 382f51fe2f2276344d8a21447656778cdf6583b6 Merge: 701791c 5498738 Author: Linus Torvalds Date: Wed Dec 9 19:42:25 2009 -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: (222 commits) [SCSI] zfcp: Remove flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP [SCSI] zfcp: Activate fc4s attributes for zfcp in FC transport class [SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED [SCSI] zfcp: Update FSF error reporting [SCSI] zfcp: Improve ELS ADISC handling [SCSI] zfcp: Simplify handling of ct and els requests [SCSI] zfcp: Remove ZFCP_DID_MASK [SCSI] zfcp: Move WKA port to zfcp FC code [SCSI] zfcp: Use common code definitions for FC CT structs [SCSI] zfcp: Use common code definitions for FC ELS structs [SCSI] zfcp: Update FCP protocol related code [SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport [SCSI] zfcp: Assign scheduled work to driver queue [SCSI] zfcp: Remove STATUS_COMMON_REMOVE flag as it is not required anymore [SCSI] zfcp: Implement module unloading [SCSI] zfcp: Merge trace code for fsf requests in one function [SCSI] zfcp: Access ports and units with container_of in sysfs code [SCSI] zfcp: Remove suspend callback [SCSI] zfcp: Remove global config_mutex [SCSI] zfcp: Replace local reference counting with common kref ... commit 701791cc3c8fc6dd83f6ec8af7e2541b4a316606 Merge: 4ba1525 96c6124 Author: Linus Torvalds Date: Wed Dec 9 19:09:42 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: export clk_* symbols in clk.c m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION. m68knommu: Move __init_end out of the .init section. m68knommu: Move __init_begin out of the .init section. m68knommu: Use more macros inside the .init section. m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA. m68knommu: Make THREAD_SIZE available to assembly files. m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script. m68knommu: rename BSS define in linker script m68knommu: add a task_pt_regs() macro m68knommu: define arch_has_single_step() and friends m68knommu: add uboot commandline argument passing support m68knommu: Coldfire GPIO corrections m68knommu: move mcf_remove to .devexit.text Fixed up (?) conflict in arch/m68k/include/asm/ptrace.h commit 4ba152596de23038e5bca413d23c3fe6fa92ff45 Merge: 3a43aaa 27a338a Author: Linus Torvalds Date: Wed Dec 9 19:03:49 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix cut/paste detritus from unistd.h commit 3a43aaa31790c36b69ebf8a6396f37fade86b531 Merge: aed886c 6a5a0b9 Author: Linus Torvalds Date: Wed Dec 9 19:03:16 2009 -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: (137 commits) sh: include empty zero page in romImage sh: Make associative cache writes fatal on all SH-4A parts. sh: Drop associative writes for SH-4 cache flushes. sh: Partial revert of copy/clear_user_highpage() optimizations. sh: Add default uImage rule for se7724, ap325rxa, and migor. sh: allow runtime pm without suspend/resume callbacks sh: mach-ecovec24: Remove un-defined settings for VPU sh: mach-ecovec24: LCDC drive ability become high sh: fix sh7724 VEU3F resource size serial: sh-sci: Fix too early port disabling. sh: pfc: pr_info() -> pr_debug() cleanups. sh: pfc: Convert from ctrl_xxx() to __raw_xxx() I/O routines. sh: Improve kfr2r09 serial port setup code sh: Break out SuperH PFC code sh: Move KEYSC header file sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_file sh: Add CPG save/restore code for sh7724 R-standby sh: Add SDHI power control support to Ecovec mfd: Add power control platform data to SDHI driver sh: mach-ecovec24: modify address map ... commit aed886ce777590eac87f7ce2897d9f8357754331 Merge: 67dd2f5 c16fe26 Author: Linus Torvalds Date: Wed Dec 9 19:02:46 2009 -0800 Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (69 commits) davinci: Initial support for Neuros OSD2 platform. davinci: remove unused variable in arch/arm/mach-davinci/board-sffsdr.c davinci: fix section mismatch warning in arch/arm/mach-davinci/board-dm646x-evm.c DaVinci: DM365: Enable DaVinci RTC support for DM365 EVM DA8xx/OMAP-L1xx: Add high speed SD/MMC capabilities davinci: DA8XX/OMAP-L1XX: enable cpuidle and regulator in defconfig davinci: DA850/OMAP-L138: avoid using separate initcall for initializing regulator davinci: DA850/OMAP-L138 EVM: register for cpuidle support davinci: DA8XX/OMAP-L1XX: add support for cpuidle driver register davinci: add CPU idle driver davinci: DA8XX/OMAP-L1XX: fix compiler warning davinci: DA850/OMAP-L138: eliminate static function declaration davinci: DA850/OMAP-L138 EVM: simplify configuration of emac in MII/RMII mode davinci: DA850/OMAP-L138 EVM: get rid of DA850_UI_EXP config option davinci: DA850/OMAP-L138 EVM: implement autodetect of RMII PHY davinci: DA830/OMAP-L137 EVM: do not configure NAND on UI card when MMC/SD is selected davinci: DA830/OMAP-L137 EVM: use runtime detection for UI card davinci: DA830/OMAP-L137 EVM: remove ifdefs inside da830_evm_init() davinci: DA830/OMAP-L137 EVM: fix warning with default config davinci: Add NAND support for DA830/OMAP-L137 EVM platform ... commit 67dd2f5a669f48e48ea1013fb80522adca8287f4 Merge: 5327b9b 42d61b9 Author: Linus Torvalds Date: Wed Dec 9 19:01:47 2009 -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: (72 commits) [S390] 3215/3270 console: remove wrong comment [S390] dasd: remove BKL from extended error reporting code [S390] vmlogrdr: remove BKL [S390] vmur: remove BKL [S390] zcrypt: remove BKL [S390] 3270: remove BKL [S390] vmwatchdog: remove lock_kernel() from open() function [S390] monwriter: remove lock_kernel() from open() function [S390] monreader: remove lock_kernel() from open() function [S390] s390: remove unused nfsd #includes [S390] ftrace: build ftrace.o when CONFIG_FTRACE_SYSCALLS is set for s390 [S390] etr/stp: put correct per cpu variable [S390] tty3270: move keyboard compat ioctls [S390] sclp: improve servicability setting [S390] s390: use change recording override for kernel mapping [S390] MAINTAINERS: Add s390 drivers block [S390] use generic sockios.h header file [S390] use generic termbits.h header file [S390] smp: remove unused typedef and defines [S390] cmm: free pages on hibernate. ... commit 5327b9b83a9c45a3fcbcda224a2b02d9eea9f6bb Author: Jean Delvare Date: Sun Dec 6 18:30:44 2009 -0800 Doc: use misc-devices/ dir for drivers We have a directory for misc drivers documentation, let's use it. Signed-off-by: Jean Delvare Signed-off-by: Randy Dunlap Cc: "Darrick J. Wong" Cc: Rodolfo Giometti Signed-off-by: Linus Torvalds commit e3cc2226e99cfadbf300dde892c4a16d742a0856 Author: Luis Garces-Erice Date: Sun Dec 6 18:30:44 2009 -0800 Doc: better explanation of procs_running the description in Documentation/filesystems/proc.txt of the procs_running entry in /proc/stat is confusing (according to that description, it looks as if procs_running could only be a number between 0 and the number of CPUs). Changed it to a more accurate description in the patch attached. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit bfc9dcabd513334c1d888ab66f7b7d84a3159571 Author: Dominik D. Geyer Date: Sun Dec 6 18:30:44 2009 -0800 correct gpio.txt typos Corrected sysfs gpio chip node name and fixed punctuation. Signed-off-by: Dominik D. Geyer Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Linus Torvalds commit 2770f189b7a5582869c137e5617fb88cc0ad0fd3 Author: Shawn Bohrer Date: Sun Dec 6 18:30:44 2009 -0800 docbook: fix signal_pending() argument Since signal_pending() takes a task_struct pointer as an argument, update the example to pass in 'current'. Signed-off-by: Shawn Bohrer Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 038f7d0027d208df8fd59f5ff2bcf5c2d2fbba3f Author: Marin Mitov Date: Sun Dec 6 18:30:44 2009 -0800 use DMA_BIT_MASK instead of inline constant Use DMA_BIT_MASK(24) instead of 0x00ffffff in DMA-mapping.txt Signed-off-by: Marin Mitov Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 472c06441a62e02c2ea5ea73d3d7fc51e146636a Author: Randy Dunlap Date: Sun Dec 6 18:30:44 2009 -0800 Use KERN_WARNING instead of KERN_WARN, which does not exist Reported-by: Andrew Lyon Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 79a56ed0e11c7d924762062a0e2a46b87014498d Author: Frederic Weisbecker Date: Wed Dec 9 18:31:53 2009 +0100 nvram: Fix missing smp_lock.h in nvram The bkl has been removed from nvram_llseek() and smp_lock.h was removed because another patch in the same tree zapped the remaining usage of bkl in the same file. But this patch must have been excluded later, then we still need the smp_lock.h headers for the bkl use in nvram_open(). This fixes the following build error: drivers/char/nvram.c: In function ‘nvram_open’: drivers/char/nvram.c:332: erreur: implicit declaration of function ‘lock_kernel’ drivers/char/nvram.c:339: erreur: implicit declaration of function ‘unlock_kernel’ make[2]: *** [drivers/char/nvram.o] Erreur 1 make[1]: *** [drivers/char] Erreur 2 make: *** [drivers] Erreur 2 Signed-off-by: Frederic Weisbecker Signed-off-by: Linus Torvalds commit fab3a549e204172236779f502eccb4f9bf0dc87d Author: Theodore Ts'o Date: Wed Dec 9 21:30:02 2009 -0500 ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem) Fix the following potential circular locking dependency between mm->mmap_sem and ei->i_data_sem: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.32-04115-gec044c5 #37 ------------------------------------------------------- ureadahead/1855 is trying to acquire lock: (&mm->mmap_sem){++++++}, at: [] might_fault+0x5c/0xac but task is already holding lock: (&ei->i_data_sem){++++..}, at: [] ext4_fiemap+0x11b/0x159 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&ei->i_data_sem){++++..}: [] __lock_acquire+0xb67/0xd0f [] lock_acquire+0xdc/0x102 [] down_read+0x51/0x84 [] ext4_get_blocks+0x50/0x2a5 [] ext4_get_block+0xab/0xef [] do_mpage_readpage+0x198/0x48d [] mpage_readpages+0xd0/0x114 [] ext4_readpages+0x1d/0x1f [] __do_page_cache_readahead+0x12f/0x1bc [] ra_submit+0x21/0x25 [] filemap_fault+0x19f/0x32c [] __do_fault+0x55/0x3a2 [] handle_mm_fault+0x327/0x734 [] do_page_fault+0x292/0x2aa [] page_fault+0x25/0x30 [] clear_user+0x38/0x3c [] padzero+0x20/0x31 [] load_elf_binary+0x8bc/0x17ed [] search_binary_handler+0xc2/0x259 [] load_script+0x1b8/0x1cc [] search_binary_handler+0xc2/0x259 [] do_execve+0x1ce/0x2cf [] sys_execve+0x43/0x5a [] stub_execve+0x6a/0xc0 -> #0 (&mm->mmap_sem){++++++}: [] __lock_acquire+0xa11/0xd0f [] lock_acquire+0xdc/0x102 [] might_fault+0x89/0xac [] fiemap_fill_next_extent+0x95/0xda [] ext4_ext_fiemap_cb+0x138/0x157 [] ext4_ext_walk_space+0x178/0x1f1 [] ext4_fiemap+0x13c/0x159 [] do_vfs_ioctl+0x348/0x4d6 [] sys_ioctl+0x56/0x79 [] system_call_fastpath+0x16/0x1b other info that might help us debug this: 1 lock held by ureadahead/1855: #0: (&ei->i_data_sem){++++..}, at: [] ext4_fiemap+0x11b/0x159 stack backtrace: Pid: 1855, comm: ureadahead Not tainted 2.6.32-04115-gec044c5 #37 Call Trace: [] print_circular_bug+0xa8/0xb7 [] __lock_acquire+0xa11/0xd0f [] ? sched_clock+0x9/0xd [] lock_acquire+0xdc/0x102 [] ? might_fault+0x5c/0xac [] might_fault+0x89/0xac [] ? might_fault+0x5c/0xac [] ? __kmalloc+0x13b/0x18c [] fiemap_fill_next_extent+0x95/0xda [] ext4_ext_fiemap_cb+0x138/0x157 [] ? ext4_ext_fiemap_cb+0x0/0x157 [] ext4_ext_walk_space+0x178/0x1f1 [] ext4_fiemap+0x13c/0x159 [] ? might_fault+0x5c/0xac [] do_vfs_ioctl+0x348/0x4d6 [] ? __up_read+0x8d/0x95 [] ? retint_swapgs+0x13/0x1b [] sys_ioctl+0x56/0x79 [] system_call_fastpath+0x16/0x1b Signed-off-by: "Theodore Ts'o" commit a214238d3bb03723f820b0a398928d8e1637c987 Author: Theodore Ts'o Date: Wed Dec 9 21:09:58 2009 -0500 ext4: Do not override ext2 or ext3 if built they are built as modules The CONFIG_EXT4_USE_FOR_EXT23 option must not try to take over the ext2 or ext3 file systems if the those file system drivers are configured to be built as mdoules. Signed-off-by: "Theodore Ts'o" commit 3b799d15f2622c44bae93961892d90ab012ea2be Author: Theodore Ts'o Date: Wed Dec 9 20:42:53 2009 -0500 jbd2: Export jbd2_log_start_commit to fix ext4 build This fixes: ERROR: "jbd2_log_start_commit" [fs/ext4/ext4.ko] undefined! Signed-off-by: "Theodore Ts'o" commit 19deffbeba930030cfaf000b920333c6ba99ad52 Author: John W. Linville Date: Tue Dec 8 17:10:13 2009 -0500 wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC This part was missed in "cfg80211: implement get_wireless_stats", probably because sta_set_sinfo already existed and was only handling dBm signals. Cc: stable@kernel.org Signed-off-by: John W. Linville commit d55fb891f9da8ee17374349ff482b2715623b7e5 Author: Vivek Natarajan Date: Tue Nov 24 11:54:10 2009 -0500 cfg80211: Clear encryption privacy when key off is done. When the current_bss is not set, 'iwconfig key off' does not clear the private flag. Hence after we connect with WEP to an AP and then try to connect with another non-WEP AP, it does not work. This issue will not be seen if supplicant is used. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 54fe4671aa5853ca88da72d67e969a3d8de6dcf6 Author: Jean Delvare Date: Wed Dec 9 20:36:08 2009 +0100 hwmon: (adt7475) Add VID support for the ADT7476 The ADT7476 has 5 dedicated pins for VID input, and the +12V input can optionally be used as a 6th VID pin. Add support for VID input. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit b058b8596136d97b9469366f1f97fb35accf3d66 Author: Jean Delvare Date: Wed Dec 9 20:36:08 2009 +0100 hwmon: (adt7475) Add an entry in MAINTAINERS As I've just done a lot of changes to the adt7475 driver, I volunteer to maintain it for the year to come. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit d8d2ee073274ab666282d1942d08f1bb454d715b Author: Jean Delvare Date: Wed Dec 9 20:36:08 2009 +0100 hwmon: (adt7475) Add support for the ADT7476 Add support for the Analog Devices ADT7476 chip. This chip is largely compatible with the ADT7473 and ADT7475, with additional features. In particular, it has 5 voltage inputs instead of 2, and VID input pins. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit ebfaf1fbb6010204e973e329034d0004d6521503 Author: Jean Delvare Date: Wed Dec 9 20:36:07 2009 +0100 hwmon: (adt7475) Voltage attenuators can be bypassed It is possible to bypass the voltage attenuators on the +2.5V, Vccp, +5V and +12V voltage monitoring inputs. This is useful to connect other voltage channels than the ones the monitoring chip was originally designed for. When this feature is enabled, we must not include the scaling factors in our computations. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit d07ca4ad2f67ebb1bf48a2308a7a0cd81ef8f70a Author: Jean Delvare Date: Wed Dec 9 20:36:07 2009 +0100 hwmon: (adt7475) Print device information on probe Print the device name and revision at probe time, as well as a list of all optional features which are available. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit 378933c99402f26587ad80e97bff405265116f9e Author: Jean Delvare Date: Wed Dec 9 20:36:06 2009 +0100 hwmon: (adt7475) Handle alternative pin functions The TACH4 pin can be used for other functions, so fan4 may not always be available. Likewise, the PWM2 pin can be used for ALERT output, in which case pwm2 is not available For the ADT7490, the +2.5 Vin pin may also be used for other functions, in which case in0 is not available. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit 0f14480b62235ef4fce1cd4755e1cde4c9be5f78 Author: Jean Delvare Date: Wed Dec 9 20:36:06 2009 +0100 hwmon: (adt7475) Move sysfs files removal to a separate function Move sysfs files removal to a separate function. The code is common to the device probing error path and the standard device removal path. As it will grow with future driver development, this avoids code duplication. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit 3d849981711741e76e501e4b9e3e7b792f2b0fd5 Author: Jean Delvare Date: Wed Dec 9 20:36:05 2009 +0100 hwmon: (adt7475) Add support for the ADT7490 Add support for the Analog Devices ADT7490 chip. This chip is largely compatible with the ADT7473 and ADT7475, with additional features. In particular, it has 6 voltage inputs instead of 2. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit d656b6fde2531a13c4e68a3ce6b9f12bc19d96bb Author: Jean Delvare Date: Wed Dec 9 20:36:04 2009 +0100 hwmon: (adt7475) Improve device detection Check the value of register 0x3f as part of the device detection, to make it more robust. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit 54ecb9e3c194687eebabe7ca45bae889ac1cd4de Author: Jean Delvare Date: Wed Dec 9 20:36:03 2009 +0100 hwmon: (adt7475) Add missing static marker adt7475_attr_group is used internally only and can thus be marked static. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit cffb9dd07fea8865093f6ccfb51d686487b89415 Author: Jean Delvare Date: Wed Dec 9 20:36:03 2009 +0100 hwmon: (adt7475) Rework voltage inputs handling Rework the handling of voltage inputs to make it possible and easy to support more inputs. This will be needed for the upcoming ADT7490 support. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit f99318b2540da75e663603e1a0faef30a3bb0c92 Author: Jean Delvare Date: Wed Dec 9 20:36:03 2009 +0100 hwmon: (adt7475) Implement pwm_use_point2_pwm_at_crit Implement the non-standard pwm_use_point2_pwm_at_crit sysfs attribute as the adt7473 driver did. Signed-off-by: Jean Delvare Cc: "Mark M. Hoffman" Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit f890c6a3b6c3ed06719e696fed9267cc6b40aabd Author: Jean Delvare Date: Wed Dec 9 20:36:02 2009 +0100 hwmon: (adt7475) New documentation New documentation for the adt7475 driver, based on the adt7473 driver documentation. It is IMHO much more useful that the previous documentation which was essentially redundant with sysfs-interface. Signed-off-by: Jean Delvare Cc: "Mark M. Hoffman" Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit b180d0508475c5c55085839d22f454c69379eacc Author: Jean Delvare Date: Wed Dec 9 20:36:02 2009 +0100 hwmon: (adt7475) Add support for the ADT7473 Add support for the ADT7473 to the adt7475 driver, and mark the adt7473 driver for removal. The ADT7473 and ADT7475 chips are almost the same chip and essentially compatible, so there's no point in having separate drivers for them. Signed-off-by: Jean Delvare Cc: "Mark M. Hoffman" Cc: Hans de Goede Cc: Jordan Crouse Cc: "Darrick J. Wong" commit 7669896f499e1bce5cfb38f2685ff583ecdb24dd Author: Hans de Goede Date: Wed Dec 9 20:36:01 2009 +0100 hwmon: (f71882fg) Add support for the f71889fg (version 2) This adds support for the Fintek f71889fg to the f71882fg driver, many thanks to Gerd v. Egidy for providing (remote) access to a machine which such an ic. Note that this bit of the patch: - val = SENSORS_LIMIT(val, 0, 255); + + if (data->type == f71889fg) + val = SENSORS_LIMIT(val, -128, 127); + else + val = SENSORS_LIMIT(val, 0, 127); Changes behaviour for already supported models, the new behaviour is correct as the already supported models have bit 7 of the involved registers fixed at 0, so the previous behaviour which allowed setting temp zone limits > 127 was not correct. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit fc16c56e694d361388bae701894fd719dbc0f7eb Author: Hans de Goede Date: Wed Dec 9 20:36:01 2009 +0100 hwmon: (f71882fg) Fix sysfs file removal There is a bug in the old sysfs file removal, as it uses fxxxx_in_temp_attr to remove the in and temp sysfs attributes, but fxxxx_in_temp_attr has temp#_alarm, where as f71858fg_in_temp_attr has temp#_max_alarm, so the temp#_max_alarm attributes for the f71858fg never get removed. This patch fixes this by doing the sysfs removal exactly the same way as the creation instead of being (too) clever, this will also avoid similar bugs in the future. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit b69b039922673dfabe0b5774f2e313f2a2297d01 Author: Hans de Goede Date: Wed Dec 9 20:36:00 2009 +0100 hwmon: (f71882fg) Cleanup sysfs attr creation 2/2 This patch merges the f71882fg_auto_pwm_attr array into the fxxxx_fan_attr resp. fxxxx_auto_pwm_attr array, as the f71882fg_auto_pwm_attr array was merely extending these 2 with entries for a 4th fan, it also makes these 2 arrays 2 dimensional so that the rest of the code can choose to add attr for 3 or 4 fans without needing to know the nr of attr per fan. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 66344aa6adc4397f79f134ad122072dbe5abcb48 Author: Hans de Goede Date: Wed Dec 9 20:35:59 2009 +0100 hwmon: (f71882fg) Cleanup sysfs attr creation 1/2 This patch makes a number of cleanups to the sysfs attr creation in the f71882fg driver, this is a preparation patch for adding f71889fg support: * Add some comments to explain why some models need separate sysfs attr arrays for in / temp / fan / pwm * Rename a number of sysfs attr arrays to make their function clearer * Move the pwm#_auto_channels_temp attribute from the common to all models fan attr array to the per model auto mode pwm attr arrays, so that all the auto mode pwm attr are grouped together, and thus can be left out on models where we don't support auto pwm mode * Put fan_beep attr in their own array, so that only auto mode pwm attr remain in the per model pwm sysfs attr arrays. * Put the 4th special fan input for the f8000 in its own array, so that only auto mode pwm attr remain in the per model pwm sysfs attr arrays. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit f95f0b4ce8cae533c3731e54a51892921db10ffe Author: Jean Delvare Date: Wed Dec 9 20:35:59 2009 +0100 hwmon: (thmc50) Stop using I2C_CLIENT_MODULE_PARM The thmc50 driver is the last user of I2C_CLIENT_MODULE_PARM, and I would like to get rid of that macro. Signed-off-by: Jean Delvare Tested-by: Krzysztof Helt commit 93ee0a75f6e4b2c7ec20fd8f4ace87f88ba785b9 Author: Luotao Fu Date: Wed Dec 9 20:35:58 2009 +0100 hwmon: Add Freescale MC13783 ADC driver This driver provides support for the ADC integrated into the Freescale MC13783 PMIC. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Uwe Kleine-König Reviewed-by: Mark Brown Acked-by: Hans de Goede Cc: Eric Piel Signed-off-by: Jean Delvare commit d1ebd59a74d764ab74cda8d09589b7ab5f5529fd Author: Marc Hulsman Date: Wed Dec 9 20:35:58 2009 +0100 hwmon: (w83791d) Remove experimental dependency The w83791d driver has been in the kernel for a while now, time to remove the EXPERIMENTAL dependency. Signed-off-by: Marc Hulsman Signed-off-by: Jean Delvare commit 52df6440a29123eed912183fe785bbe174ef14b9 Author: Jean Delvare Date: Wed Dec 9 20:35:57 2009 +0100 hwmon: Clean up detect functions As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare Acked-by: Corentin Labbe Cc: "Mark M. Hoffman" Cc: Juerg Haefliger Cc: Riku Voipio Acked-by: "Hans J. Koch" Cc: Rudolf Marek commit a1fa4cdcc4abd4c02a81ab7052c16a342d29f060 Author: Jean Delvare Date: Wed Dec 9 20:35:56 2009 +0100 hwmon: (w83l785ts) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 2de1875a5894794b42fce3833cddf4eac55831de Author: Jean Delvare Date: Wed Dec 9 20:35:56 2009 +0100 hwmon: (w83792d) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 3f8b845940c8344e88123bead66b5a871e6366df Author: Jean Delvare Date: Wed Dec 9 20:35:55 2009 +0100 hwmon: (w83791d) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare Acked-by: Marc Hulsman commit bab2bf44f80a5749fdf69f854247e912353142b2 Author: Jean Delvare Date: Wed Dec 9 20:35:54 2009 +0100 hwmon: (w83781d) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit dbe73c8f454a40de06039ec97bc0272f41f1d3c7 Author: Jean Delvare Date: Wed Dec 9 20:35:54 2009 +0100 hwmon: (tmp401/tmp421) Clean up detect functions As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare Acked-by: Andre Prendel commit 8f2fa77c53ba8c10696143c21b4111d449c85fb2 Author: Jean Delvare Date: Wed Dec 9 20:35:53 2009 +0100 hwmon: (lm90) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit d42a2eb5ad9766fac96f27af93b1634e4ffde220 Author: Jean Delvare Date: Wed Dec 9 20:35:53 2009 +0100 hwmon: (lm85) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit b57dc3940a70a2c2460b628567a3cc76efe725f2 Author: Jean Delvare Date: Wed Dec 9 20:35:52 2009 +0100 hwmon: (lm83) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 747d9bedc3d1e42900bf2bb1669f46e4fd0c8957 Author: Jean Delvare Date: Wed Dec 9 20:35:52 2009 +0100 hwmon: (lm77) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 9560672369098b021688421f45476ce0c8bc451b Author: Jean Delvare Date: Wed Dec 9 20:35:51 2009 +0100 hwmon: (adm1025) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 8007ea35ef88d0d621c6d192ce48ce7289109f39 Author: Jean Delvare Date: Wed Dec 9 20:35:51 2009 +0100 hwmon: (adm1021) Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare commit 4e233cbed249ea94d989b8be08eac0414dbdc44b Author: Adrien Demarez Date: Wed Dec 9 20:35:50 2009 +0100 hwmon: New driver for the National Semiconductor LM73 The National Semiconductor LM73 is a single temperature sensor, much like the famous LM75. Signed-off-by: Adrien Demarez Signed-off-by: Jean Delvare commit b72656dbc491484765776a16eeb55ef2e90efea6 Author: Jean Delvare Date: Wed Dec 9 20:35:49 2009 +0100 hwmon: (w83627hf) Stop using globals for I/O port numbers Stop using global variables REG and VAL for I/O port numbers. This is ugly and unsafe. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit 8918023d40ebb2c086e77368810763975761cb1b Author: Jean Delvare Date: Wed Dec 9 20:35:48 2009 +0100 hwmon: (w83627hf) Drop the force_addr module parameter This module parameter is there to workaround broken BIOS. I'm not even sure if it was used in the past 5 years, and it gets in the way of converting the driver to the MFD infrastructure. So tell the users how they can do the same from user-space. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit 591ec6509ed888723caf6ac8ced3f6f718625a1f Author: Jean Delvare Date: Wed Dec 9 20:35:48 2009 +0100 hwmon: (it87) Check for fan2 and fan3 availability The fan2 and fan3 input and output pins can be used as GPIOs. Check their function before exposing their sysfs attributes and accessing their registers. Signed-off-by: Jean Delvare commit 895ff267686663afa894314b749d23ac2867434a Author: Jean Delvare Date: Wed Dec 9 20:35:47 2009 +0100 hwmon: (it87) Verify the VID pin usage The VID input pins can alternatively be used as GPIOs. Make sure we have at least 4 pins used for VID, otherwise don't bother reading and exposing VID. Signed-off-by: Jean Delvare Tested-by: Adam Nielsen commit f7290e24e3ce8a0b4b39a74800fd341b6b7a6f47 Author: Jean Delvare Date: Wed Dec 9 20:35:47 2009 +0100 hwmon: Clarify autopwm trip points documentation Document the case of hybrid automatic fan speed control implementations, where trip points are associated to both PWM output channels and temperature input channels. Signed-off-by: Jean Delvare commit 047f4ec29453ad8a785ccab7d8098f28149828e2 Author: Jean Delvare Date: Wed Dec 9 20:35:46 2009 +0100 MAINTAINERS: Add missing hwmon files Add missing documentation and header files to the hardware monitoring subsystem section. Signed-off-by: Jean Delvare commit 6d905e67cfd84b42c2171e252a3a0aca269da9f8 Author: Ben Dooks Date: Wed Dec 9 20:35:45 2009 +0100 hwmon: (s3c-hwmon) Fix build error The previous patch, commit be4c23c93c4828d36ac9e1a88410618a61676426 was from the wrong tree and thus broke the current build which had the channel configuration name changed. Fix the following build errors: drivers/hwmon/s3c-hwmon.c: In function 's3c_hwmon_probe': drivers/hwmon/s3c-hwmon.c:326: warning: initialization from incompatible pointer type drivers/hwmon/s3c-hwmon.c:331: error: dereferencing pointer to incomplete type drivers/hwmon/s3c-hwmon.c:336: error: dereferencing pointer to incomplete type Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit f2942487ffb0c0a80b2312f667ea30dd55a24bb0 Author: Carsten Emde Date: Sun Dec 6 14:02:44 2009 +0100 tracing: Remove comparing of NULL to va_list in trace_array_vprintk() Olof Johansson stated the following: Comparing a va_list with NULL is bogus. It's supposed to be treated like an opaque type and only be manipulated with va_* accessors. Olof noticed that this code broke the ARM builds: kernel/trace/trace.c: In function 'trace_array_vprintk': kernel/trace/trace.c:1364: error: invalid operands to binary == (have 'va_list' and 'void *') kernel/trace/trace.c: In function 'tracing_mark_write': kernel/trace/trace.c:3349: error: incompatible type for argument 3 of 'trace_vprintk' This patch partly reverts c13d2f7c3231e873f30db92b96c8caa48f100f33 and re-installs the original mark_printk() mechanism. Reported-by: Olof Johansson Signed-off-by: Carsten Emde LKML-Reference: <4B1BAB74.104@osadl.org> Signed-off-by: Steven Rostedt commit be1eca39319689aed7d3aedb9c3bece9469fe10f Author: Jiri Olsa Date: Tue Nov 24 13:57:38 2009 +0100 tracing: Fix function graph trace_pipe to properly display failed entries There is a case where the graph tracer might get confused and omits displaying of a single record. This applies mostly with the trace_pipe since it is unlikely that the trace_seq buffer will overflow with the trace file. As the function_graph tracer goes through the trace entries keeping a pointer to the current record: current -> func1 ENTRY func2 ENTRY func2 RETURN func1 RETURN When an function ENTRY is encountered, it moves the pointer to the next entry to check if the function is a nested or leaf function. func1 ENTRY current -> func2 ENTRY func2 RETURN func1 RETURN If the rest of the writing of the function fills the trace_seq buffer, then the trace_pipe read will ignore this entry. The next read will Now start at the current location, but the first entry (func1) will be discarded. This patch keeps a copy of the current entry in the iterator private storage and will keep track of when the trace_seq buffer fills. When the trace_seq buffer fills, it will reuse the copy of the entry in the next iteration. [ This patch has been largely modified by Steven Rostedt in order to clean it up and simplify it. The original idea and concept was from Jirka and for that, this patch will go under his name to give him the credit he deserves. But because this was modify by Steven Rostedt anything wrong with the patch should be blamed on Steven. ] Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker LKML-Reference: <1259067458-27143-1-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit d184b31c0e403580aafb3f8955ecc185a3d04801 Author: Johannes Berg Date: Wed Nov 25 16:10:14 2009 +0100 tracing: Add full state to trace_seq The trace_seq buffer might fill up, and right now one needs to check the return value of each printf into the buffer to check for that. Instead, have the buffer keep track of whether it is full or not, and reject more input if it is full or would have overflowed with an input that wasn't added. Cc: Lai Jiangshan Signed-off-by: Johannes Berg Signed-off-by: Steven Rostedt commit a63ce5b306855bccdacba95c03bfc293316c8ae3 Author: Steven Rostedt Date: Mon Dec 7 09:11:39 2009 -0500 tracing: Buffer the output of seq_file in case of filled buffer If the seq_read fills the buffer it will call s_start again on the next itertation with the same position. This causes a problem with the function_graph tracer because it consumes the iteration in order to determine leaf functions. What happens is that the iterator stores the entry, and the function graph plugin will look at the next entry. If that next entry is a return of the same function and task, then the function is a leaf and the function_graph plugin calls ring_buffer_read which moves the ring buffer iterator forward (the trace iterator still points to the function start entry). The copying of the trace_seq to the seq_file buffer will fail if the seq_file buffer is full. The seq_read will not show this entry. The next read by userspace will cause seq_read to again call s_start which will reuse the trace iterator entry (the function start entry). But the function return entry was already consumed. The function graph plugin will think that this entry is a nested function and not a leaf. To solve this, the trace code now checks the return status of the seq_printf (trace_print_seq). If the writing to the seq_file buffer fails, we set a flag in the iterator (leftover) and we do not reset the trace_seq buffer. On the next call to s_start, we check the leftover flag, and if it is set, we just reuse the trace_seq buffer and do not call into the plugin print functions. Before this patch: 2) | fput() { 2) | __fput() { 2) 0.550 us | inotify_inode_queue_event(); 2) | __fsnotify_parent() { 2) 0.540 us | inotify_dentry_parent_queue_event(); After the patch: 2) | fput() { 2) | __fput() { 2) 0.550 us | inotify_inode_queue_event(); 2) 0.548 us | __fsnotify_parent(); 2) 0.540 us | inotify_dentry_parent_queue_event(); [ Updated the patch to fix a missing return 0 from the trace_print_seq() stub when CONFIG_TRACING is disabled. Reported-by: Ingo Molnar ] Reported-by: Jiri Olsa Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 29bf4a5e3fed3dde3eb629a0cb1762c1e9217458 Author: Steven Rostedt Date: Wed Dec 9 12:37:43 2009 -0500 tracing: Only call pipe_close if pipe_close is defined This fixes a cut and paste error that had pipe_close get called if pipe_open was defined (not pipe_close). Reported-by: Kosaki Motohiro LKML-Reference: <20091209153204.F4CD.A69D9226@jp.fujitsu.com> Signed-off-by: Steven Rostedt commit 84194883bcf89383ea4230116bb0195af5ec5829 Merge: 8a74690 370066e Author: Takashi Iwai Date: Wed Dec 9 18:16:15 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 8a7469064b7f601a661059e9fcd2f2deb2a8fd23 Merge: 482e46d 7aee674 Author: Takashi Iwai Date: Wed Dec 9 18:16:11 2009 +0100 Merge branch 'topic/hda' into for-linus commit 178ff4c9175db447f93b7343954b1d44707c881b Author: Tomi Valkeinen Date: Tue Sep 22 13:30:24 2009 +0300 MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer Signed-off-by: Tomi Valkeinen commit d9056ce2af7ed1329b39cebd2a1c52e68d60115a Author: Tomi Valkeinen Date: Wed Dec 9 18:25:18 2009 +0200 OMAP: SDP: Enable DSS2 for OMAP3 SDP board Signed-off-by: Tomi Valkeinen Acked-by: Tony Lindgren commit f133a9d7f27ebde5c11bb5d7d89ff66576682e65 Author: Tomi Valkeinen Date: Wed Oct 28 11:31:05 2009 +0200 OMAP: DSS2: Taal DSI command mode panel driver Signed-off-by: Tomi Valkeinen commit 3b8f29b4152899e91c210186a38bffb37ea1a226 Author: Tomi Valkeinen Date: Wed Dec 9 18:19:42 2009 +0200 OMAP: DSS2: Add generic and Sharp panel drivers Add Generic panel (user for DVI output) and Sharp LS037V7DW01 LCD panel. Signed-off-by: Tomi Valkeinen commit 2588465badb648a50cd19623f0dd0063c90d4e31 Merge: 18821b0 8c0daee Author: Linus Torvalds Date: Wed Dec 9 08:07:51 2009 -0800 Merge branch 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mn10300: Remove the BKL from sys_execve m68knommu: Remove the BKL from sys_execve m68k: Remove the BKL from sys_execve h83000: Remove BKL from sys_execve frv: Remove the BKL from sys_execve blackfin: Remove the BKL from sys_execve um: Remove BKL from mmapper um: Remove BKL from random s390: Remove BKL from prng commit 18821b0408efc92ec2804128ba9382a3bcebf132 Merge: 3b8ecd2 55e858c Author: Linus Torvalds Date: Wed Dec 9 08:07:38 2009 -0800 Merge branch 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: agp: Remove the BKL from agp_open inifiband: Remove BKL from ipath_open() mips: Remove BKL from tb0219 drivers: Remove BKL from scx200_gpio drivers: Remove BKL from pc8736x_gpio parisc: Remove BKL from eisa_eeprom rtc: Remove BKL from efirtc input: Remove BKL from hp_sdc_rtc hw_random: Remove BKL from core macintosh: Remove BKL from ans-lcd nvram: Drop the bkl from non-generic nvram_llseek() nvram: Drop the bkl from nvram_llseek() mem_class: Drop the bkl from memory_open() spi: Remove BKL from spidev_open drivers: Remove BKL from cs5535_gpio drivers: Remove BKL from misc_open commit 3b8ecd22447c4266500c0bcf97f035310543e494 Merge: a9280fe 6f15fa5 Author: Linus Torvalds Date: Wed Dec 9 08:07:17 2009 -0800 Merge branch 'bkl-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sys: Remove BKL from sys_reboot pm_qos: clean up racy global "name" variable pm_qos: remove BKL commit a9280fed383082da08a40af3f38daccaed6d8d62 Merge: 2b876f9 1d2c6cf Author: Linus Torvalds Date: Wed Dec 9 07:58:15 2009 -0800 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: (31 commits) kill-the-bkl/reiserfs: turn GFP_ATOMIC flag to GFP_NOFS in reiserfs_get_block() kill-the-bkl/reiserfs: drop the fs race watchdog from _get_block_create_0() kill-the-bkl/reiserfs: definitely drop the bkl from reiserfs_ioctl() kill-the-bkl/reiserfs: always lock the ioctl path kill-the-bkl/reiserfs: fix reiserfs lock to cpu_add_remove_lock dependency kill-the-bkl/reiserfs: Fix induced mm->mmap_sem to sysfs_mutex dependency kill-the-bkl/reiserfs: panic in case of lock imbalance kill-the-bkl/reiserfs: fix recursive reiserfs write lock in reiserfs_commit_write() kill-the-bkl/reiserfs: fix recursive reiserfs lock in reiserfs_mkdir() kill-the-bkl/reiserfs: fix "reiserfs lock" / "inode mutex" lock inversion dependency kill-the-bkl/reiserfs: move the concurrent tree accesses checks per superblock kill-the-bkl/reiserfs: acquire the inode mutex safely kill-the-bkl/reiserfs: unlock only when needed in search_by_key kill-the-bkl/reiserfs: use mutex_lock in reiserfs_mutex_lock_safe kill-the-bkl/reiserfs: factorize the locking in reiserfs_write_end() kill-the-bkl/reiserfs: reduce number of contentions in search_by_key() kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup() kill-the-bkl/reiserfs: lock only once on reiserfs_get_block() kill-the-bkl/reiserfs: conditionaly release the write lock on fs_changed() kill-the-BKL/reiserfs: add reiserfs_cond_resched() ... commit 482e46d4b7c9bfbb2edc047fafa85cee1b0fc1e1 Author: Jaroslav Kysela Date: Wed Dec 9 12:43:44 2009 +0100 ALSA: ice1724 - aureon - modify WM8770 Master & DAC volume The volume levels in original implementation are incorrect and does not match the dB scale. The real range is linear (in the sense of the dB scale) from 0dB to -100dB. Remove logaritmic table and make all volumes from range 0dB..100dB. The tests are in RedHat's bugzilla #540817. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 7aee67466536bbf8bb44a95712c848a61c5a0acd Author: David Santinoli Date: Wed Dec 9 12:34:26 2009 +0100 ALSA: hda/realtek: quirk for D945GCLF2 mainboard Quirk for the ALC662 found on the Intel D945GCLF2 (and possibly other) mainboards. Signed-off-by: David Santinoli Signed-off-by: Takashi Iwai commit 396087eaead95fcb29eb36f1e59517aeb58c545e Author: Jaroslav Kysela Date: Wed Dec 9 10:44:47 2009 +0100 ALSA: hda - Terradici HDA controllers does not support 64-bit mode Confirmed from vendor and tests in RedHat bugzilla #536782 . Signed-off-by: Jaroslav Kysela Cc: Signed-off-by: Takashi Iwai commit 11caa3bfdf565455ad3079855729ea7112b0d28f Author: Alexey Fisher Date: Wed Dec 9 09:42:07 2009 +0100 ALSA: document: Add direct git link to grub hda-analyzer Just to save some time, add direct git link to grub hda-analyzer Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit 43de004b6c197b0ea408bdebf4f14afdead74b63 Author: Anton Vorontsov Date: Wed Dec 9 02:52:19 2009 -0800 gianfar: Fix build with CONFIG_NET_POLL_CONTROLLER=y commit 46ceb60ca80fa07703bc6eb8f4651f900dff5a82 ("gianfar: Add Multiple group Support") introduced the following build error with CONFIG_NET_POLL_CONTROLLER=y: CC ggianfar.o ggianfar.c: In function 'gfar_netpoll': ggianfar.c:2653: error: invalid storage class for function 'gfar_interrupt' ggianfar.c:2652: warning: ISO C90 forbids mixed declarations and code ggianfar.c:2681: error: invalid storage class for function 'adjust_link' ggianfar.c:2764: error: invalid storage class for function 'gfar_set_multi' ggianfar.c:2855: error: invalid storage class for function 'gfar_clear_exact_match' ggianfar.c:2877: error: invalid storage class for function 'gfar_set_hash_for_addr' ggianfar.c:2898: error: invalid storage class for function 'gfar_set_mac_for_addr' ggianfar.c:2922: error: invalid storage class for function 'gfar_error' ggianfar.c:3020: warning: ISO C90 forbids mixed declarations and code ggianfar.c:3032: error: invalid storage class for function 'gfar_init' ggianfar.c:3037: error: invalid storage class for function 'gfar_exit' ggianfar.c:3041: error: initializer element is not constant ggianfar.c:3042: error: initializer element is not constant ggianfar.c:3042: warning: ISO C90 forbids mixed declarations and code ggianfar.c:3042: error: expected declaration or statement at end of input make[1]: *** [ggianfar.o] Error 1 This patch fixes the issue. Reported-by: Benjamin Herrenschmidt Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b39a982ddecf1d95ed96f8457c39d3ea11df93f6 Author: Tomi Valkeinen Date: Tue Aug 4 16:12:50 2009 +0300 OMAP: DSS2: omapfb driver Signed-off-by: Tomi Valkeinen commit 3de7a1dc0c9d29b138713ecb85df4b6ca3af2ef3 Author: Tomi Valkeinen Date: Wed Oct 28 11:59:56 2009 +0200 OMAP: DSS2: DSI driver DSI (Display Serial Interface) driver implements MIPI DSI interface. Signed-off-by: Tomi Valkeinen commit 23c0a7a6e810289998a713e943e42d64eb421516 Author: Tomi Valkeinen Date: Wed Aug 5 16:18:44 2009 +0300 OMAP: DSS2: SDI driver SDI (Serial Display Interface) implements TI Flatlink 3G display interface. Signed-off-by: Tomi Valkeinen commit 5c18adb3736afe266d74bdb820d076da0e39ebeb Author: Tomi Valkeinen Date: Wed Aug 5 16:18:31 2009 +0300 OMAP: DSS2: RFBI driver RFBI (Remote FrameBuffer Interface) implements MIPI DBI interface. Signed-off-by: Tomi Valkeinen commit b288627350c456fe4006c3c4419584969a7ae6a1 Author: Tomi Valkeinen Date: Wed Aug 5 16:18:06 2009 +0300 OMAP: DSS2: Video encoder driver VENC (video encoder) driver implements OMAP's analog S-Video/Composite TV-out. Signed-off-by: Tomi Valkeinen Acked-by: Tony Lindgren commit 553c48cf5b1841127b019c53dd1aeef3d3f338b0 Author: Tomi Valkeinen Date: Fri Aug 7 13:15:50 2009 +0300 OMAP: DSS2: DPI driver This implements MIPI DPI interface. Signed-off-by: Tomi Valkeinen commit 80c397120fd2436c79f6e0552882feb5ed4549c3 Author: Tomi Valkeinen Date: Thu Nov 12 11:41:42 2009 +0200 OMAP: DSS2: DISPC This file implements DISPC (display controller) block of the OMAP DSS. Signed-off-by: Tomi Valkeinen commit eed07e0ed5367aede8d32758524f2dc2d252a291 Author: Tomi Valkeinen Date: Fri Aug 7 13:43:20 2009 +0300 OMAP: DSS2: Add more core files Add more core files to DSS2. Signed-off-by: Tomi Valkeinen commit 559d67018950ced65c73358cd69c4bdd2b0c5dd6 Author: Tomi Valkeinen Date: Tue Nov 3 11:23:50 2009 +0200 OMAP: DSS2: Display Subsystem Driver core The core files of DSS2. DSS2 commits are split a bit artificially to make the individual commits smaller, and DSS2 doesn't compile properly without the rest of the core commits. This shouldn't be a problem, as no configuration uses DSS2 yet. Signed-off-by: Tomi Valkeinen commit 4d1a7c122aeae6ae9732be0a32f5e199fff63fb7 Author: Tomi Valkeinen Date: Tue Aug 4 15:47:11 2009 +0300 OMAP: DSS2: Documentation for DSS2 Signed-off-by: Tomi Valkeinen commit 640f9ca5fd783393c832f6bb5c56368f4d18b820 Author: Tomi Valkeinen Date: Fri Aug 7 12:04:26 2009 +0300 OMAP: Add support for VRFB rotation engine VRFB rotation engine is a block in OMAP2/3 that offers 12 independent contexts that can be used for framebuffer rotation. Each context has a backend area of real memory, where it stores the pixels in undisclosed format. This memory is offered to users via 4 virtual memory areas, which see the same memory area in different rotation angles (0, 90, 180 and 270 degrees). Signed-off-by: Tomi Valkeinen commit afedec183e95bd5e126a7846a644acfdddb86a66 Author: Tomi Valkeinen Date: Fri Aug 7 12:01:55 2009 +0300 OMAP: Add VRAM manager Add a Video RAM manager for OMAP 2 and 3 platforms. VRAM manager is used to allocate large continuous blocks of SDRAM or SRAM. The features VRAM manager has that are missing from dma_alloc_* functions are: - Support for OMAP2's SRAM - Allocate without ioremapping - Allocate at defined physical addresses - Allows larger VRAM area and larger allocations The upcoming DSS2 uses VRAM manager. VRAM area size can be defined in kernel config, board file or with kernel boot parameters. Board file definition overrides kernel config, and boot parameter overrides kernel config and board file. Signed-off-by: Tomi Valkeinen commit dadd2bb931a08a4b6b17f9e82d9bbe7bedebbc98 Author: Tomi Valkeinen Date: Thu Jun 18 13:02:39 2009 +0300 OMAP: OMAPFB: add omapdss device The upcoming new display subsystem driver is divided to two devices, omapdss and omapfb, of which omapdss handles the actual hardware. This patch adds a dummy omapdss platform device for the current omapfb driver, which is then used to get the clocks. This will make it possible for the current and the new display drivers to co-exist. Signed-off-by: Tomi Valkeinen Acked-by: Tony Lindgren commit 91773a00f8235e4b697217867529f73e298298df Author: Tomi Valkeinen Date: Mon Aug 3 15:06:36 2009 +0300 OMAP: OMAPFB: split omapfb.h Split arch/arm/plat-omap/include/mach/omapfb.h into two files: include/linux/omapfb.h - ioctls etc for userspace and some kernel stuff for board files drivers/video/omap/omapfb.h - for omapfb internal use This cleans up omapfb.h and also makes it easier for the upcoming new DSS driver to co-exist with the old driver. Signed-off-by: Tomi Valkeinen Acked-by: Tony Lindgren commit c0c9e72150c07b4a6766cd24a6f685ec2dc9c343 Author: Xiao Guangrong Date: Wed Dec 9 17:51:30 2009 +0800 perf sched: Fix for getting task's execution time In current code, task's execute time is got by reading '/proc//sched' file, it's wrong if the task is created by pthread_create(), because every thread task has same pid. This way also has two demerits: 1: 'perf sched replay' can't work if the kernel is not compiled with the 'CONFIG_SCHED_DEBUG' option 2: perf tool should depend on proc file system So, this patch uses PERF_COUNT_SW_TASK_CLOCK to get task's execution time instead of reading /proc file. Changelog v2 -> v3: use PERF_COUNT_SW_TASK_CLOCK instead of rusage() as Ingo's suggestion Reported-by: Torok Edwin Signed-off-by: Xiao Guangrong Cc: Xiao Guangrong Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: <4B1F7322.80103@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b90f8e7296c39a13225fb0c0dfde1922fcf47ba7 Author: Tomi Valkeinen Date: Fri Aug 7 11:26:12 2009 +0300 OMAP2: Add funcs for writing SMS_ROT_* registers SMS_ROT_* registers are used by VRFB rotation engine. Signed-off-by: Tomi Valkeinen Acked-by: Tony Lindgren Acked-by: Paul Walmsley commit 822a6961112f0c9101d3359d8524604c3309ee6c Author: Frederic Weisbecker Date: Tue Dec 8 10:00:04 2009 +0100 tracing/kprobes: Fix field creation's bad error handling When we define the common event fields in kprobe, we invert the error handling and return immediately in case of success. Then we omit to define specific kprobes fields (ip and nargs), and specific kretprobes fields (func, ret_ip, nargs). And we only define them when we fail to create common fields. The most visible consequence is that we can't create filter for k(ret)probes specific fields. This patch re-invert the success/error handling to fix it. Reported-by: Lai Jiangshan Signed-off-by: Frederic Weisbecker Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <1260263815-5167-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a1884b8e558ef6395f6033f9e1b69b332dd040e0 Author: Andy Isaacson Date: Tue Dec 8 00:30:21 2009 -0800 x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs() Robert Hancock observes that DMI_BOARD_NAME is often more useful than DMI_PRODUCT_NAME, especially on standalone motherboards. So, print both. Signed-off-by: Andy Isaacson Cc: Arjan van de Ven Cc: Robert Hancock Cc: Richard Zidlicky Cc: Andrew Morton LKML-Reference: <20091208083021.GB27174@hexapodia.org> Signed-off-by: Ingo Molnar commit 814e2c84a722c45650a9b8f52285d7ba6874f63b Author: Andy Isaacson Date: Tue Dec 8 00:29:42 2009 -0800 x86: Factor duplicated code out of __show_regs() into show_regs_common() Unify x86_32 and x86_64 implementations of __show_regs() header, standardizing on the x86_64 format string in the process. Also, 32-bit will now call print_modules. Signed-off-by: Andy Isaacson Cc: Arjan van de Ven Cc: Robert Hancock Cc: Richard Zidlicky Cc: Andrew Morton LKML-Reference: <20091208082942.GA27174@hexapodia.org> [ v2: resolved conflict ] Signed-off-by: Ingo Molnar commit acb4a848da821a095ae9e4d8b22ae2d9633ba5cd Author: Christian Ehrhardt Date: Mon Nov 30 12:16:48 2009 +0100 sched: Update normalized values on user updates via proc The normalized values are also recalculated in case the scaling factor changes. This patch updates the internally used scheduler tuning values that are normalized to one cpu in case a user sets new values via sysfs. Together with patch 2 of this series this allows to let user configured values scale (or not) to cpu add/remove events taking place later. Signed-off-by: Christian Ehrhardt Signed-off-by: Peter Zijlstra LKML-Reference: <1259579808-11357-4-git-send-email-ehrhardt@linux.vnet.ibm.com> [ v2: fix warning ] Signed-off-by: Ingo Molnar commit 1983a922a1bc843806b9a36cf3a370b242783140 Author: Christian Ehrhardt Date: Mon Nov 30 12:16:47 2009 +0100 sched: Make tunable scaling style configurable As scaling now takes place on all kind of cpu add/remove events a user that configures values via proc should be able to configure if his set values are still rescaled or kept whatever happens. As the comments state that log2 was just a second guess that worked the interface is not just designed for on/off, but to choose a scaling type. Currently this allows none, log and linear, but more important it allwos us to keep the interface even if someone has an even better idea how to scale the values. Signed-off-by: Christian Ehrhardt Signed-off-by: Peter Zijlstra LKML-Reference: <1259579808-11357-3-git-send-email-ehrhardt@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 0bcdcf28c979869f44e05121b96ff2cfb05bd8e6 Author: Christian Ehrhardt Date: Mon Nov 30 12:16:46 2009 +0100 sched: Fix missing sched tunable recalculation on cpu add/remove Based on Peter Zijlstras patch suggestion this enables recalculation of the scheduler tunables in response of a change in the number of cpus. It also adds a max of eight cpus that are considered in that scaling. Signed-off-by: Christian Ehrhardt Signed-off-by: Peter Zijlstra LKML-Reference: <1259579808-11357-2-git-send-email-ehrhardt@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 57785df5ac53c70da9fb53696130f3c551bfe1f9 Author: Peter Zijlstra Date: Fri Dec 4 09:59:02 2009 +0100 sched: Fix task priority bug 83f9ac removed a call to effective_prio() in wake_up_new_task(), which leads to tasks running at MAX_PRIO. This is caused by the idle thread being set to MAX_PRIO before forking off init. O(1) used that to make sure idle was always preempted, CFS uses check_preempt_curr_idle() for that so we can savely remove this bit of legacy code. Reported-by: Mike Galbraith Tested-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1259754383.4003.610.camel@laptop> Signed-off-by: Ingo Molnar commit cd8ad40de36c2fe75f3b731bd70198b385895246 Author: Peter Zijlstra Date: Thu Dec 3 18:00:07 2009 +0100 sched: cgroup: Implement different treatment for idle shares When setting the weight for a per-cpu task-group, we have to put in a phantom weight when there is no work on that cpu, otherwise we'll not service that cpu when new work gets placed there until we again update the per-cpu weights. We used to add these phantom weights to the total, so that the idle per-cpu shares don't get inflated, this however causes the non-idle parts to get deflated, causing unexpected weight distibutions. Reverse this, so that the non-idle shares are correct but the idle shares are inflated. Reported-by: Yasunori Goto Tested-by: Yasunori Goto Signed-off-by: Peter Zijlstra LKML-Reference: <1257934048.23203.76.camel@twins> Signed-off-by: Ingo Molnar commit fb58bac5c75bfff8bbf7d02071a10a62f32fe28b Author: Peter Zijlstra Date: Tue Dec 1 12:21:47 2009 +0100 sched: Remove unnecessary RCU exclusion As Nick pointed out, and realized by myself when doing: sched: Fix balance vs hotplug race the patch: sched: for_each_domain() vs RCU is wrong, sched_domains are freed after synchronize_sched(), which means disabling preemption is enough. Reported-by: Nick Piggin Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 6cecd084d0fd27bb1e498e2829fd45846d806856 Author: Peter Zijlstra Date: Mon Nov 30 13:00:37 2009 +0100 sched: Discard some old bits WAKEUP_RUNNING was an experiment, not sure why that ever ended up being merged... Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3a7e73a2e26fffdbc46ba95fc0425418984f5140 Author: Peter Zijlstra Date: Sat Nov 28 18:51:02 2009 +0100 sched: Clean up check_preempt_wakeup() Streamline the wakeup preemption code a bit, unifying the preempt path so that they all do the same. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit a65ac745e47e91f9d98dbf07f22ed0492e34d998 Author: Jupyung Lee Date: Tue Nov 17 18:51:40 2009 +0900 sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call If a RT task is woken up while a non-RT task is running, check_preempt_wakeup() is called to check whether the new task can preempt the old task. The function returns quickly without going deeper because it is apparent that a RT task can always preempt a non-RT task. In this situation, check_preempt_wakeup() always calls update_curr() to update vruntime value of the currently running task. However, the function call is unnecessary and redundant at that moment because (1) a non-RT task can always be preempted by a RT task regardless of its vruntime value, and (2) update_curr() will be called shortly when the context switch between two occurs. By moving update_curr() in check_preempt_wakeup(), we can avoid redundant call to update_curr(), slightly reducing the time taken to wake up RT tasks. Signed-off-by: Jupyung Lee [ Place update_curr() right before the wake_preempt_entity() call, which is the only thing that relies on the updated vruntime ] Signed-off-by: Peter Zijlstra LKML-Reference: <1258451500-6714-1-git-send-email-jupyung@gmail.com> Signed-off-by: Ingo Molnar commit cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6 Author: Peter Zijlstra Date: Fri Nov 27 17:32:46 2009 +0100 sched: Sanitize fork() handling Currently we try to do task placement in wake_up_new_task() after we do the load-balance pass in sched_fork(). This yields complicated semantics in that we have to deal with tasks on different RQs and the set_task_cpu() calls in copy_process() and sched_fork() Rename ->task_new() to ->task_fork() and call it from sched_fork() before the balancing, this gives the policy a clear point to place the task. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit ab19cb23313733c55e0517607844b86720b35f5f Author: Peter Zijlstra Date: Fri Nov 27 15:44:43 2009 +0100 sched: Clean up ttwu() rq locking Since set_task_clock() doesn't rely on rq->clock anymore we can simplyfy the mess in ttwu(). Optimize things a bit by not fiddling with the IRQ state there. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5afcdab706d6002cb02b567ba46e650215e694e8 Author: Peter Zijlstra Date: Fri Nov 27 14:12:25 2009 +0100 sched: Remove rq->clock coupling from set_task_cpu() set_task_cpu() should be rq invariant and only touch task state, it currently fails to do so, which opens up a few races, since not all callers hold both rq->locks. Remove the relyance on rq->clock, as any site calling set_task_cpu() should also do a remote clock update, which should ensure the observed time between these two cpus is monotonic, as per kernel/sched_clock.c:sched_clock_remote(). Therefore we can simply remove the clock_offset bits and be happy. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 970b13bacba14a8cef6f642861947df1d175b0b3 Author: Peter Zijlstra Date: Wed Nov 25 13:31:39 2009 +0100 sched: Consolidate select_task_rq() callers Small cleanup. Signed-off-by: Peter Zijlstra LKML-Reference: [ v2: build fix ] Signed-off-by: Ingo Molnar commit 6b314d0e11924c803bf8cd944e87fd58cdb5088c Author: Peter Zijlstra Date: Wed Dec 2 18:58:05 2009 +0100 sched: Remove sysctl.sched_features Since we've had a much saner debugfs interface to this, remove the sysctl one. Signed-off-by: Peter Zijlstra LKML-Reference: [ v2: build fix ] Signed-off-by: Ingo Molnar commit dba091b9e3522b9d32fc9975e48d3b69633b45f0 Author: Thomas Gleixner Date: Wed Dec 9 09:32:03 2009 +0100 sched: Protect sched_rr_get_param() access to task->sched_class sched_rr_get_param calls task->sched_class->get_rr_interval(task) without protection against a concurrent sched_setscheduler() call which modifies task->sched_class. Serialize the access with task_rq_lock(task) and hand the rq pointer into get_rr_interval() as it's needed at least in the sched_fair implementation. Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3160568371da441b7f2fb57f2f1225404207e8f2 Author: Thomas Gleixner Date: Tue Dec 8 20:24:16 2009 +0000 sched: Protect task->cpus_allowed access in sched_getaffinity() sched_getaffinity() is not protected against a concurrent modification of the tasks affinity. Serialize the access with task_rq_lock(task). Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra LKML-Reference: <20091208202026.769251187@linutronix.de> Signed-off-by: Ingo Molnar commit ec89a06fd4e12301f11ab039ee07d2353a18addc Author: Xiao Guangrong Date: Wed Dec 9 11:30:36 2009 +0800 perf_event: Cleanup for cpu_clock_perf_event_update() Using atomic64_xchg() instead of atomic64_read() and atomic64_set(). Signed-off-by: Xiao Guangrong Reviewed-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B1F19DC.90204@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b93f7978ad6b46133e9453b90ccc057dc2429e75 Author: Xiao Guangrong Date: Wed Dec 9 11:29:44 2009 +0800 perf_event: Allocate children's perf_event_ctxp at the right time In current code, children task will allocate memory for 'child->perf_event_ctxp' if the parent is counted, we can do it only if the parent allowed children inherit it. It can save memory and reduce overhead. Signed-off-by: Xiao Guangrong Reviewed-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B1F19A8.5040805@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit aa5452d70c0d559310598b243b8b1033c10056e7 Author: Xiao Guangrong Date: Wed Dec 9 11:28:13 2009 +0800 perf_event: Clean up __perf_event_init_context() Clean up the code a bit: - define 'perf_cpu_context' variable with 'static' - use kzalloc() instead of kmalloc() and memset() Signed-off-by: Xiao Guangrong Reviewed-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B1F194D.7080306@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 44234adcdce38f83c56e05f808ce656175b4beeb Author: Frederic Weisbecker Date: Wed Dec 9 09:25:48 2009 +0100 hw-breakpoints: Modify breakpoints without unregistering them Currently, when ptrace needs to modify a breakpoint, like disabling it, changing its address, type or len, it calls modify_user_hw_breakpoint(). This latter will perform the heavy and racy task of unregistering the old breakpoint and registering a new one. This is racy as someone else might steal the reserved breakpoint slot under us, which is undesired as the breakpoint is only supposed to be modified, sometimes in the middle of a debugging workflow. We don't want our slot to be stolen in the middle. So instead of unregistering/registering the breakpoint, just disable it while we modify its breakpoint fields and re-enable it after if necessary. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Prasad LKML-Reference: <1260347148-5519-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4f8d619cc3ab805aa1726c1dfe196a0705b955bd Author: Chris Wilson Date: Tue Dec 8 22:12:06 2009 +0000 drm/i915: Remove a debugging printk from hangcheck A residual bare printk survived the merger of the hang detector, remove this debugging left-over. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit f58e1f53de52a70391b6478617311207c7203363 Author: Joe Perches Date: Tue Dec 8 22:30:50 2009 -0800 arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix - Use #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Remove "microcode: " prefix from each pr_ - Fix duplicated KERN_ERR prefix - Coalesce pr_ format strings - Add a space after an exclamation point No other change in output. Signed-off-by: Joe Perches Cc: Andy Whitcroft Cc: Andreas Herrmann LKML-Reference: <1260340250.27677.191.camel@Joe-Laptop.home> Signed-off-by: Ingo Molnar commit 4c68db38c85188824b21698842b42a62b4f78657 Merge: 5c0e9f2 2b876f9 Author: Ingo Molnar Date: Wed Dec 9 08:24:25 2009 +0100 Merge branch 'linus' into x86/urgent Merge reason: We want to queue up a dependent patch. Signed-off-by: Ingo Molnar commit e090aa80321b64c3b793f3b047e31ecf1af9538d Author: Benjamin Herrenschmidt Date: Tue Dec 8 18:45:45 2009 +0000 powerpc: Fix usage of 64-bit instruction in 32-bit altivec code e821ea70f3b4873b50056a1e0f74befed1014c09 introduced a bug by copying some 64-bit originated code as-is to be used by both 32 and 64-bit but this code contains a 64-bit ony "cmpdi" instruction. This changes it to cmpwi, which is fine since VRSAVE can only contains a 32-bit value anyway. Signed-off-by: Benjamin Herrenschmidt CC: commit c937fe20cb6d9e24c6ad5f9f0c64d64c78411057 Author: Masami Hiramatsu Date: Tue Dec 8 17:03:30 2009 -0500 perf probe: Update perf-probe document Add --list and --del option descriptions to perf-probe.txt. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker LKML-Reference: <20091208220330.10142.73296.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit fa28244d12337eebcc620b23852ec3cf29582ff9 Author: Masami Hiramatsu Date: Tue Dec 8 17:03:23 2009 -0500 perf probe: Support --del option Support perf probe --del option. Currently, perf probe can have only one event for each --del option. If you'd like to delete several probe events, you need to specify --del for each events. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220323.10142.62079.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit a7c312bed772c11138409c3a98531e85d690302e Author: Masami Hiramatsu Date: Tue Dec 8 17:03:16 2009 -0500 trace-kprobe: Support delete probe syntax Support delete probe syntax. The syntax is "-:[group/]event". Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220316.10142.39192.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo commit f984f03da35357b23d53e9cad29e909810857451 Author: Masami Hiramatsu Date: Tue Dec 8 17:03:09 2009 -0500 perf probe: Support vmlinux on cwd by default Support vmlinux on current working direcotry by default and also update file-open messages. Now perf probe searches ./vmlinux too. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220309.10142.33040.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 17f88fcd667a914b6f4dca146c9a09492fcd57b8 Author: Masami Hiramatsu Date: Tue Dec 8 17:03:02 2009 -0500 perf probe: Remove event suffix number _0 Remove event suffix number _0 if it is the first. The first event has no suffix, and from the second, each event has suffix number counted from _1. This reduces typing cost :-). Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220301.10142.50031.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d1bde3f755e8652faad59e264c466c4baab68fa8 Author: Masami Hiramatsu Date: Tue Dec 8 17:02:54 2009 -0500 perf probe: Fix add-probe command syntax without --add option Fix add-probe command syntax without --add option. perf-probe supports add-probe command without --add option. But it treats each argument as an event definition. e.g. perf probe func arg1 arg2 is interpreted as perf probe --add func --add arg1 --add arg2 But it may be useless in many cases. This patch fixes this syntax to fold those arguments into one event definition if there is no --add option. With this change, above command is interpreted as below; perf probe --add "func arg1 arg2" Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220254.10142.73767.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit a9b495b0d35859971d6896293f6d0a0d880c7dfb Author: Masami Hiramatsu Date: Tue Dec 8 17:02:47 2009 -0500 perf probe: Change probe-added message more user-friendly Change probe-added message more user-friendly expression and show usage of new events. Before: Added new event: p:probe/schedule_0 schedule+10 prev=%ax cpu=%bx After: Added new event: probe:schedule_1 (on schedule+1 with prev cpu) You can now use it on all perf tools, such as: perf record -e probe:schedule_1 -a sleep 1 Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220247.10142.91642.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 278498d438781426d8f315b65f7bca023a26fcc0 Author: Masami Hiramatsu Date: Tue Dec 8 17:02:40 2009 -0500 perf probe: Change event list format Change event list format for user readability. perf probe --list shows event list in "[GROUP:EVENT] EVENT-DEFINITION" format, but this format is different from the output of perf-list, and EVENT-DEFINITION is a bit blunt. This patch changes the format to more user friendly one. Before: [probe:schedule_0] schedule+10 prev cpu After: probe:schedule_0 (on schedule+10 with prev cpu) Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE LKML-Reference: <20091208220240.10142.42916.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit bcd6acd51f3d4d1ada201e9bc5c40a31d6d80c71 Merge: 11c34c7 3ff6a46 Author: Benjamin Herrenschmidt Date: Wed Dec 9 17:14:38 2009 +1100 Merge commit 'origin/master' into next Conflicts: include/linux/kvm.h commit 11c34c7deaeeebcee342cbc35e1bb2a6711b2431 Author: Joe Perches Date: Fri Dec 4 07:16:59 2009 +0000 MAINTAINERS: Add PowerPC patterns On Fri, 2009-12-04 at 20:59 +1100, Benjamin Herrenschmidt wrote: > On Fri, 2009-12-04 at 10:34 +0100, Jean Delvare wrote: > > I've sent it to linuxppc-dev@ozlabs.org on October 14th. This is the > > address which is listed 22 times in MAINTAINERS. If it isn't correct, > > then please update MAINTAINERS. > No it's fine both shoul work. Your patches are there, just waiting for > me to pick them up, I was just firing a reminder to the rest of the CC > list :-) (and I do remember fwd'ing a couple of your patches to the > list, for some reason they didn't make it to patchwork back then, that > was a few month ago). > Anyways, I've been stretched thin with all sort of stuff lately, so bear > with me if I'm a bit slow at taking or testing stuff, I'm doing my best. Adding patterns to the PowerPC sections of MAINTAINERS is useful. Signed-off-by: Joe Perches Acked-by: Josh Boyer Acked-by: Grant Likely Acked-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 49bd3647134ea47420067aea8d1401e722bf2aac Author: Mark Nelson Date: Mon Dec 7 20:32:17 2009 +0000 powerpc/pseries: Track previous CPPR values to correctly EOI interrupts At the moment when we EOI an interrupt we set the CPPR back to 0xFF regardless of its previous value. This could lead to problems if we take an interrupt with a priority of 5, but before EOIing it we get an IPI which has a priority of 4. The problem is that at the moment when we EOI the IPI we will set the CPPR to 0xFF, but it should really be set back to 5 (the previous priority). To keep track of the previous CPPR values we create the xics_cppr structure that has an array for CPPR values and an index pointing to the current priority. This can easily grow if new priorities get added in the future. This will also be useful because the partition adjunct option of upcoming machines will update the H_XIRR hcall to accept the CPPR as a parameter. Signed-off-by: Mark Nelson Signed-off-by: Benjamin Herrenschmidt commit 275a64f6040073254fa15eaf6e4e720f77d531d6 Author: Nathan Fontenot Date: Tue Dec 8 09:48:44 2009 +0000 powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP The recent patch to add cpu offline/online as part of the DLPAR process for pseries causes a build break if CONFIG_SMP is not defined. Original patch here; http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-November/078299.html This corrects the build break by moving the online_node_cpus and offline_node_cpus under the #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE portions of dlpar.c. This patch also slightly modifies the online_node_cpus and offline_node_cpus routines to prepend dlpar_ to the them and make them static. These two routine are only used in the dlpar add/remove of cpus and these changes should help clarify that. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 40d50cf7ca956183f3a573bc21082e1c7d04fa7b Author: Roman Fietze Date: Tue Dec 8 02:39:50 2009 +0000 powerpc: Make "intspec" pointers in irq_host->xlate() const Writing a driver using SCLPC on the MPC5200B I detected, that the intspec arrays to map irqs to Linux virq cannot be const, because the mapping and xlate functions only take non const pointers. All those functions do not modify the intspec, so a const pointer could be used. Signed-off-by: Roman Fietze Signed-off-by: Benjamin Herrenschmidt commit 990d89c6636c1be300a4f2f914b95200b237d017 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:11 2009 +0000 powerpc/8xx: DTLB Miss cleanup Use symbolic constant for PRESENT and avoid branching. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 2321f33790a6c5b80322d907a92d5739e7521a13 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:10 2009 +0000 powerpc/8xx: Remove DIRTY pte handling in DTLB Error. There is no need to do set the DIRTY bit directly in DTLB Error. Trap to do_page_fault() and let the generic MM code do the work. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 15d914d72a3f4f1531c41c084cb556be22aa1d2e Author: Joakim Tjernlund Date: Fri Nov 20 00:21:09 2009 +0000 powerpc/8xx: Start using dcbX instructions in various copy routines Now that 8xx can fixup dcbX instructions, start using them where possible like every other PowerPc arch do. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 0c4661698c58db2a9efc44f403b893bd4d98f348 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:08 2009 +0000 powerpc/8xx: Restore _PAGE_WRITETHRU 8xx has not had WRITETHRU due to lack of bits in the pte. After the recent rewrite of the 8xx TLB code, there are two bits left. Use one of them to WRITETHRU. Perhaps use the last SW bit to PAGE_SPECIAL or PAGE_FILE? Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 4a280a413c0c0da03936483384c9e5142966635e Author: Joakim Tjernlund Date: Fri Nov 20 00:21:07 2009 +0000 powerpc/8xx: Add missing Guarded setting in DTLB Error. only DTLB Miss did set this bit, DTLB Error needs too otherwise the setting is lost when the page becomes dirty. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 0a2ab51ffb8dfdf51402dcfb446629648c96bc78 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:06 2009 +0000 powerpc/8xx: Fixup DAR from buggy dcbX instructions. This is an assembler version to fixup DAR not being set by dcbX, icbi instructions. There are two versions, one uses selfmodifing code, the other uses a jump table but is much bigger(default). Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 60e071fee994ff98c37d03a4a7c5a3f8b1e3b8e5 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:04 2009 +0000 powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions. dcbz, dcbf, dcbi, dcbst and icbi do not set DAR when they cause a DTLB Error. Dectect this by tagging DAR with 0x00f0 at every exception exit that modifies DAR. Test for DAR=0x00f0 in DataTLBError and bail to handle_page_fault(). Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit fe11dc3f9628e5393e932567b7e29d35cbbad136 Author: Joakim Tjernlund Date: Fri Nov 20 00:21:03 2009 +0000 powerpc/8xx: Update TLB asm so it behaves as linux mm expects. Update the TLB asm to make proper use of _PAGE_DIRY and _PAGE_ACCESSED. Get rid of _PAGE_HWWRITE too. Pros: - I/D TLB Miss never needs to write to the linux pte. - _PAGE_ACCESSED is only set on TLB Error fixing accounting - _PAGE_DIRTY is mapped to 0x100, the changed bit, and is set directly when a page has been made dirty. - Proper RO/RW mapping of user space. - Free up 2 SW TLB bits in the linux pte(add back _PAGE_WRITETHRU ?) - kernel RO/user NA support. Cons: - A few more instructions in the TLB Miss routines. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 5efab4a02c89c252fb4cce097aafde5f8208dbfe Author: Joakim Tjernlund Date: Fri Nov 20 00:21:02 2009 +0000 powerpc/8xx: Invalidate non present TLBs 8xx sometimes need to load a invalid/non-present TLBs in it DTLB asm handler. These must be invalidated separaly as linux mm don't. Signed-off-by: Joakim Tjernlund Signed-off-by: Benjamin Herrenschmidt commit 0285ae37d4366b2d614df0c83cb413cf59ad8944 Merge: 8c82da5 06a5bad Author: Benjamin Herrenschmidt Date: Wed Dec 9 17:10:29 2009 +1100 Merge commit 'jwb/next' into next commit 8c82da5e2495589b7b70a43789e7cbd61a486ed0 Merge: 51badeb 6d53559 Author: Benjamin Herrenschmidt Date: Wed Dec 9 17:10:22 2009 +1100 Merge commit 'gcl/next' into next commit 51badebdcf394cc5fd574a524b55b3f6085e5e9c Author: Gautham R Shenoy Date: Thu Nov 26 09:59:05 2009 +0000 powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate Currently the cpu-allocation/deallocation process comprises of two steps: - Set the indicators and to update the device tree with DLPAR node information. - Online/offline the allocated/deallocated CPU. This is achieved by writing to the sysfs tunables "probe" during allocation and "release" during deallocation. At the sametime, the userspace can independently online/offline the CPUs of the system using the sysfs tunable "online". It is quite possible that when a userspace tool offlines a CPU for the purpose of deallocation and is in the process of updating the device tree, some other userspace tool could bring the CPU back online by writing to the "online" sysfs tunable thereby causing the deallocate process to fail. The solution to this is to serialize writes to the "probe/release" sysfs tunable with the writes to the "online" sysfs tunable. This patch employs a mutex to provide this serialization, which is a no-op on all architectures except PPC_PSERIES Signed-off-by: Gautham R Shenoy Acked-by: Vaidyanathan Srinivasan Signed-off-by: Benjamin Herrenschmidt commit b6db63d1a7f0138f348ba7a648df35ac6365988e Author: Gautham R Shenoy Date: Thu Nov 26 09:58:55 2009 +0000 pseries/pseries: Add code to online/offline CPUs of a DLPAR node Currently the cpu-allocation/deallocation on pSeries is a two step process from the Userspace. - Set the indicators and update the device tree by writing to the sysfs tunable "probe" during allocation and "release" during deallocation. - Online / Offline the CPUs of the allocated/would_be_deallocated node by writing to the sysfs tunable "online". This patch adds kernel code to online/offline the CPUs soon_after/just_before they have been allocated/would_be_deallocated. This way, the userspace tool that performs DLPAR operations would only have to deal with one set of sysfs tunables namely "probe" and release". Signed-off-by: Gautham R Shenoy Signed-off-by: Nathan Fontenot Acked-by: Vaidyanathan Srinivasan Signed-off-by: Benjamin Herrenschmidt commit 8389b37dffdc695b4fb363ebe0ed9748bb3b48d0 Author: Valentine Barshak Date: Wed Nov 25 11:48:52 2009 +0000 powerpc: stop_this_cpu: remove the cpu from the online map. Remove the CPU from the online map to prevent smp_call_function from sending messages to a stopped CPU. Signed-off-by: Valentine Barshak Signed-off-by: Benjamin Herrenschmidt commit 1a8061c46c46c960f715c597b9d279ea2ba42bd9 Author: Nathan Fontenot Date: Tue Nov 24 21:13:32 2009 +0000 powerpc/pseries: Add kernel based CPU DLPAR handling This patch adds the specific routines to probe and release (add and remove) cpu resource for the powerpc pseries platform and registers these handlers with the ppc_md callout structure. Signed-off-by: Nathan Fontenot Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 12633e803a2a556f6469e0933d08233d0844a2d9 Author: Nathan Fontenot Date: Wed Nov 25 17:23:25 2009 +0000 sysfs/cpu: Add probe/release files Version 3 of this patch is updated with documentation added to Documentation/ABI. There are no changes to any of the C code from v2 of the patch. In order to support kernel DLPAR of CPU resources we need to provide an interface to add (probe) and remove (release) the resource from the system. This patch Creates new generic probe and release sysfs files to facilitate cpu probe/release. The probe/release interface provides for allowing each arch to supply their own routines for implementing the backend of adding and removing cpus to/from the system. This also creates the powerpc specific stubs to handle the arch callouts from writes to the sysfs files. The creation and use of these files is regulated by the CONFIG_ARCH_CPU_PROBE_RELEASE option so that only architectures that need the capability will have the files created. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit ab519a011caa5ec47d992cb8a4fc8e7af9b9e3f8 Author: Nathan Fontenot Date: Tue Nov 24 21:10:49 2009 +0000 powerpc/pseries: Kernel DLPAR Infrastructure The Dynamic Logical Partitioning capabilities of the powerpc pseries platform allows for the addition and removal of resources (i.e. CPU's, memory, and PCI devices) from a partition. The removal of a resource involves removing the resource's node from the device tree and then returning the resource to firmware via the rtas set-indicator call. To add a resource, it is first obtained from firmware via the rtas set-indicator call and then a new device tree node is created using the ibm,configure-coinnector rtas call and added to the device tree. This patch provides the kernel DLPAR infrastructure in a new filed named dlpar.c. The functionality provided is for acquiring and releasing a resource from firmware and the parsing of information returned from the ibm,configure-connector rtas call. Additionally this exports the pSeries reconfiguration notifier chain so that it can be invoked when device tree updates are made. Signed-off-by: Nathan Fontenot Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 1496e89ae2a0962748e55165a590fa3209c6f158 Author: Darrick J. Wong Date: Thu Dec 3 16:19:59 2009 +0000 powerpc/therm_adt746x: Record pwm invert bit at module load time] In commit 0512a9a8e277a9de2820211eef964473b714ae65, we unilaterally zero the "pwm invert" bit in the fan behavior configuration register. On my PowerBook G4, this results in the fans going to full speed at low temperature and shutting off at high temperature because the pwm invert bit is supposed to be set. Therefore, record the pwm invert bit at driver load time, and write the bit into the fan behavior control register. This restores correct behavior on my PBG4 and should work around the bit being set to the wrong value after suspend/resume (which is what the original patch was trying to fix). It also fixes a minor omission where the pwm invert bit correction is NOT performed when switching into automatic mode. Signed-off-by: Darrick J. Wong CC: Signed-off-by: Benjamin Herrenschmidt commit 37580f3f229fa72f2ef73ea7df0a1d28a9dab36d Author: Michel Dänzer Date: Sun Dec 6 02:15:56 2009 +0000 agp/uninorth: Unify U3 and pre-U3 insert_memory and remove_memory hooks. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit 3fc3a6b476581d9b47b33fc1349817ce7b66433e Author: Michel Dänzer Date: Sun Dec 6 02:15:55 2009 +0000 agp/uninorth: Also handle user memory types in u3_remove_memory(). Also short-circuit empty updates. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit ceae8cbe94f3127253110e2d01b9334069e93177 Author: Dave Airlie Date: Sun Dec 6 20:01:26 2009 +0000 offb: Add support for framebuffer handoff to offb. This allows offb to be used for initial framebuffer, and a kms driver to take over later in the boot sequence. Signed-off-by: Dave Airlie Signed-off-by: Benjamin Herrenschmidt commit 88358ab08944da726e948d216977ad499dfc15c6 Author: Benjamin Herrenschmidt Date: Tue Dec 1 14:36:29 2009 +0000 libata/drivers: Add driver for Apple "MacIO" IDE controller This is a libata driver for the "macio" IDE controller used on most Apple PowerMac and PowerBooks. It's a libata equivalent of drivers/ide/ppc/pmac.c It supports all the features of its predecessor, including mediabay hotplug and suspend/resume. It should also support module load/unload. The timing calculations have been simplified to use pre-calculated tables compared to drivers/ide/pmac.c and it uses the new mediabay interface provided by a previous patch. Signed-off-by: Benjamin Herrenschmidt Acked-by: Tejun Heo commit f0353813afe784330622596ff141e7525ccd99de Author: Benjamin Herrenschmidt Date: Tue Dec 1 14:36:28 2009 +0000 libata/sff: Use ops->bmdma_stop instead of ata_bmdma_stop() In libata-sff, ata_sff_post_internal_cmd() directly calls ata_bmdma_stop() instead of ap->ops->bmdma_stop(). This can be a problem for controllers that use their own bmdma_stop for which the generic sff one isn't suitable Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik commit d58b0c39e32f1b410af4d070f9d1a1416057c166 Author: Benjamin Herrenschmidt Date: Tue Dec 1 14:36:28 2009 +0000 powerpc/macio: Rework hotplug media bay support The hotplug mediabay has tendrils deep into drivers/ide code which makes a libata port reather difficult. In addition it's ugly and could be done better. This reworks the interface between the mediabay and the rest of the world so that: - Any macio_driver can now have a mediabay_event callback which will be called when that driver sits on a mediabay and it's been either plugged or unplugged. The device type is passed as an argument. We can now move all the IDE cruft into the IDE driver itself - A check_media_bay() function can be used to take a peek at the type of device currently in the bay if any, a cleaner variant of the previous function with the same name. - A pair of lock/unlock functions are exposed to allow the IDE driver to block the hotplug callbacks during the initial setup and probing of the bay in order to avoid nasty race conditions. - The mediabay code no longer needs to spin on the status register of the IDE interface when it detects an IDE device, this is done just fine by the IDE code itself Overall, less code, simpler, and allows for another driver than our old drivers/ide based one. Signed-off-by: Benjamin Herrenschmidt commit e0188829cb724e7d12a2d4e343b368ff1d6e1471 Author: Stanislav Brabec Date: Tue Dec 8 21:00:22 2009 -0800 b44 WOL setup: one-bit-off stack corruption kernel panic fix About 50% of shutdowns of b44 Ethernet adapter ends by kernel panic with kernels compiled with stack-protector. Checking b44_magic_pattern() return values, one call of b44_magic_pattern() returns 127. It means, that set_bit(128, pmask) was called on line 1509. It means that bit 0 of 17th byte of pmask was overwritten. But pmask has only 16 bytes. Stack corruption happens. It seems that set_bit() on line 1509 always writes one bit off. The fix does not only solve the stack corruption, but also makes Wake On LAN working on my onboard B44 on Asus A7V-333X mainboard. It seems that this problem affects all kernel versions since commit 725ad800 ([PATCH] b44: add wol for old nic) on 2006-06-20. Signed-off-by: Stanislav Brabec Signed-off-by: David S. Miller commit 77722b177a1606669c0b95dde03347e37d13b8fe Author: Ilpo Järvinen Date: Tue Dec 8 20:54:11 2009 -0800 tcp: fix retrans_stamp advancing in error cases It can happen, that tcp_retransmit_skb fails due to some error. In such cases we might end up into a state where tp->retrans_out is zero but that's only because we removed the TCPCB_SACKED_RETRANS bit from a segment but couldn't retransmit it because of the error that happened. Therefore some assumptions that retrans_out checks are based do not necessarily hold, as there still can be an old retransmission but that is only visible in TCPCB_EVER_RETRANS bit. As retransmission happen in sequential order (except for some very rare corner cases), it's enough to check the head skb for that bit. Main reason for all this complexity is the fact that connection dying time now depends on the validity of the retrans_stamp, in particular, that successive retransmissions of a segment must not advance retrans_stamp under any conditions. It seems after quick thinking that this has relatively low impact as eventually TCP will go into CA_Loss and either use the existing check for !retrans_stamp case or send a retransmission successfully, setting a new base time for the dying timer (can happen only once). At worst, the dying time will be approximately the double of the intented time. In addition, tcp_packet_delayed() will return wrong result (has some cc aspects but due to rarity of these errors, it's hardly an issue). One of retrans_stamp clearing happens indirectly through first going into CA_Open state and then a later ACK lets the clearing to happen. Thus tcp_try_keep_open has to be modified too. Thanks to Damian Lukowski for hinting that this possibility exists (though the particular case discussed didn't after all have it happening but was just a debug patch artifact). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2f7de5710a4d394920405febc2a9937c69e16dda Author: Damian Lukowski Date: Mon Dec 7 06:06:16 2009 +0000 tcp: Stalling connections: Move timeout calculation routine This patch moves retransmits_timed_out() from include/net/tcp.h to tcp_timer.c, where it is used. Reported-by: Frederic Leroy Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 07f29bc5bbae4e53e982ab956fed7207990a7786 Author: Damian Lukowski Date: Mon Dec 7 06:06:15 2009 +0000 tcp: Stalling connections: Fix timeout calculation routine This patch fixes a problem in the TCP connection timeout calculation. Currently, timeout decisions are made on the basis of the current tcp_time_stamp and retrans_stamp, which is usually set at the first retransmission. However, if the retransmission fails in tcp_retransmit_skb(), retrans_stamp is not updated and remains zero. This leads to wrong decisions in retransmits_timed_out() if tcp_time_stamp is larger than the specified timeout, which is very likely. In this case, the TCP connection dies after the first attempted (and unsuccessful) retransmission. With this patch, tcp_skb_cb->when is used instead, when retrans_stamp is not available. This bug has been introduced together with retransmits_timed_out() in 2.6.32, as the number of retransmissions has been used for timeout decisions before. The corresponding commit was 6fa12c85031485dff38ce550c24f10da23b0adaa (Revert Backoff [v3]: Calculate TCP's connection close threshold as a time value.). Thanks to Ilpo Järvinen for code suggestions and Frederic Leroy for testing. Reported-by: Frederic Leroy Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cb19054697e92a793f336380fd72c588521178ff Author: Jie Yang Date: Sun Dec 6 23:16:58 2009 +0000 atl1c:use common_task instead of reset_task and link_chg_task use common_task instead of reset_task and link_chg_task, so it fix "call cancel_work_sync from the work itself". Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 4b45e3424e7210688f95039b8cdffb11d2e48934 Author: Jie Yang Date: Sun Dec 6 22:56:59 2009 +0000 atl1c:add pci map direction in atl1c_buffer flags add pci map direction in atl1c_buffer flags, it is used when call pci_unmap apis. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit b38310e99ed09163062902285edd6d7b3fc136d6 Author: Joe Perches Date: Sun Dec 6 10:35:30 2009 +0000 include/linux/if_ether.h: Remove unused defines MAC_BUF_SIZE and DECLARE_MAC_BUF Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 634d7df89a93a52561f598bf9512f4cf72946954 Author: Dhananjay Phadke Date: Sat Dec 5 12:23:56 2009 +0000 netxen: fix firmware type check Unified firmware image may not contain MN type of firmware. Driver should fall back to NOMN firmware type instead of going to flash. Signed-off-by: Dhananjay Phadke Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f2251f668e9527b87c9ba7256e7497cb49abbc20 Author: Amit Kumar Salecha Date: Sat Dec 5 12:23:55 2009 +0000 netxen:fix napi intr enable check o netif_running() check for enabling interrupt at end of napi poll is not enough to cover firmwar recovery. Instead test __NX_DEV_UP bit. o Avoid re-entry into to netxen_nic_down() with __NX_DEV_UP bit check. Acked-by: Dhananjay Phadke Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 6f7714196b4e01d7462df31d705c3ca53ecbdfc1 Author: Amit Kumar Salecha Date: Sat Dec 5 12:23:54 2009 +0000 netxen: protect device reset by rtnl_lock o To prevent race conditions with other reset events. During suspend/resume and firmware recovery, acquire rtnl_lock, while changing interface state. Acked-by: Dhananjay Phadke Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit a29ec08a1b649436248c140a3bc389bc11434c94 Author: Denis Kirjanov Date: Tue Dec 8 20:36:00 2009 -0800 mv643xx_eth: check for valid hw address (resubmit) Check for valid hw address. Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit 64f16603eae17e869d5fc8a60ae987394190e639 Author: Tilman Schmidt Date: Sat Dec 5 08:54:20 2009 +0000 gigaset: documentation amendments Various additions and improvements to the Gigaset driver's README file, and added comments to its userspace visible include file. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 073886ff23bfbe7b88c9133d7a556d6ec51f0b50 Author: Tilman Schmidt Date: Sat Dec 5 08:04:16 2009 +0000 gigaset: don't enable any debugging output by default When built with debugging support, the Gigaset driver enabled some debugging messages by default. Change the default to "all off". Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 1e4e0767ecb1cf53a43343518c0e09ad7ee5e23a Author: Asier Llano Date: Tue Dec 8 20:29:10 2009 -0800 net/mpc5200: Fix locking on fec_mpc52xx driver Fix the locking scheme on the fec_mpc52xx driver. This device can receive IRQs from three sources; the FEC itself, the tx DMA, and the rx DMA. Mutual exclusion was handled by taking a spin_lock() in the critical regions, but because the handlers are run with IRQs enabled, spin_lock() is insufficient and the driver can end up interrupting a critical region anyway from another IRQ. Asier Llano discovered that this occurs when an error IRQ is raised in the middle of handling rx irqs which resulted in an sk_buff memory leak. In addition, locking is spotty at best in the driver and inspection revealed quite a few places with insufficient locking. This patch is based on Asier's initial work, but reworks a number of things so that locks are held for as short a time as possible, so that spin_lock_irqsave() is used everywhere, and so the locks are dropped when calling into the network stack (because the lock only protects the hardware interface; not the network stack). Boot tested on a lite5200 with an NFS root. Has not been performance tested. Signed-off-by: Asier Llano Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 4b860abf636fdd963731ae4ccafdd39ebcd5f962 Author: Brice Goglin Date: Tue Dec 8 20:24:35 2009 -0800 myri10ge: use src+dst for rss hashing Use a more effective rss hash by default (src + dst, rather than just src). Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a Author: chas williams - CONTRACTOR Date: Fri Dec 4 11:06:32 2009 +0000 atm: [br2684] allow routed mode operation again in routed mode, we don't have a hardware address so netdev_ops doesnt need to validate our hardware address via .ndo_validate_addr Reported-by: Manuel Fuentes Signed-off-by: Chas Williams - CONTRACTOR Signed-off-by: David S. Miller commit 504bb3b58e7314e0fe026da280e8168c1314be3d Author: chas williams - CONTRACTOR Date: Fri Dec 4 05:22:17 2009 +0000 atm: [he] adjust tests to account for sk_wmem_alloc changes due to reference counting sk_wmem_alloc now has a value of 1 when all the outstanding data has been sent. Signed-off-by: Chas Williams - CONTRACTOR Signed-off-by: David S. Miller commit eb0445887a45a3705522aac6c2d8367e90358792 Author: chas williams - CONTRACTOR Date: Fri Dec 4 05:19:30 2009 +0000 atm: [lec] initialize .netdev_ops before calling register_netdev() fix oops when initializing lane interfaces. lec should probably be changed to use alloc_netdev() instead. Signed-off-by: Chas Williams - CONTRACTOR Signed-off-by: David S. Miller commit 2a8875e73ffb18165ceb245f99c2ccad77378051 Author: Eric Dumazet Date: Tue Dec 8 20:19:53 2009 -0800 [PATCH] tcp: documents timewait refcnt tricks Adds kerneldoc for inet_twsk_unhash() & inet_twsk_bind_unhash(). With help from Randy Dunlap. Suggested-by: Evgeniy Polyakov Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3cdaedae635b17ce23c738ce7d364b442310cdec Author: Eric Dumazet Date: Fri Dec 4 03:47:42 2009 +0000 tcp: Fix a connect() race with timewait sockets When we find a timewait connection in __inet_hash_connect() and reuse it for a new connection request, we have a race window, releasing bind list lock and reacquiring it in __inet_twsk_kill() to remove timewait socket from list. Another thread might find the timewait socket we already chose, leading to list corruption and crashes. Fix is to remove timewait socket from bind list before releasing the bind lock. Note: This problem happens if sysctl_tcp_tw_reuse is set. Reported-by: kapil dakhane Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9327f7053e3993c125944fdb137a0618319ef2a0 Author: Eric Dumazet Date: Fri Dec 4 03:46:54 2009 +0000 tcp: Fix a connect() race with timewait sockets First patch changes __inet_hash_nolisten() and __inet6_hash() to get a timewait parameter to be able to unhash it from ehash at same time the new socket is inserted in hash. This makes sure timewait socket wont be found by a concurrent writer in __inet_check_established() Reported-by: kapil dakhane Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 74757d49016a8b06ca028196886641d7aeb78de5 Author: Don Skidmore Date: Tue Dec 8 07:22:23 2009 +0000 ixgbe: add support for 82599 KR device 0x1517 Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 60d51134281fbeb352013d782a440fb338d31f01 Author: Eric Dumazet Date: Tue Dec 8 07:22:03 2009 +0000 ixgbe: Fix TX stats accounting Here is an updated version, because ixgbe_get_ethtool_stats() needs to call dev_get_stats() or "ethtool -S" wont give correct tx_bytes/tx_packets values. Several cpus can update netdev->stats.tx_bytes & netdev->stats.tx_packets in parallel. In this case, TX stats are under estimated and false sharing takes place. After a pktgen session sending exactly 200000000 packets : # ifconfig fiber0 | grep TX TX packets:198501982 errors:0 dropped:0 overruns:0 carrier:0 Multi queue devices should instead use txq->tx_bytes & txq->tx_packets in their xmit() method (appropriate txq lock already held by caller, no cache line miss), or use appropriate locking. After patch, same pktgen session gives : # ifconfig fiber0 | grep TX TX packets:200000000 errors:0 dropped:0 overruns:0 carrier:0 Signed-off-by: Eric Dumazet Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3421eecdee750bafc78b12ac25b3e980195265eb Author: Bruce Allan Date: Tue Dec 8 07:28:20 2009 +0000 e1000e: only perform ESB2 MDIC workaround on certain configurations A workaround added for all ESB2 devices (adds a delay for all MDIC accesses which resolves an issue with the MDIC ready bit being set prematurely) is applicable only to devices in which the MAC-PHY interconnect is not operating in a certain mode with in-band MDIO. Check the control register for the operating mode and enable the workaround accordingly. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0781895067444db98050a1537bafbc7a0235ec9f Author: Bruce Allan Date: Tue Dec 8 07:28:01 2009 +0000 e1000e: replace incorrect use of GG82563_REG macro The GG82563_REG() macro should not be used to determine the offset provided to the e1000e_[read|write]_kmrn_reg() functions since the first argument to the macro is already implied and gets masked off anyway in the functions. The resultant register reads/writes with this patch are functionally the same as before. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 93a23f48df9c0111283302acd2a4ed2ef1d86453 Author: Bruce Allan Date: Tue Dec 8 07:27:41 2009 +0000 e1000e: minor correction to name of bit in CTRL_EXT register Bit 7 in the CTRL_REG register is actually the Software Definable Pin 3, not the Software Definable Pin 7. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3dc789320e1b310cb505dcd94512c279abcd5e1c Author: David S. Miller Date: Tue Dec 8 20:07:54 2009 -0800 tcp: Remove runtime check that can never be true. GCC even warns about it, as reported by Andrew Morton: net/ipv4/tcp.c: In function 'do_tcp_getsockopt': net/ipv4/tcp.c:2544: warning: comparison is always false due to limited range of data type Signed-off-by: David S. Miller commit d3f420d1089169fb48366e1aa750bdd92db0a04b Author: Alex Deucher Date: Tue Dec 8 14:30:49 2009 -0500 drm/radeon/kms: make sure i2c id matches Entries in the i2c table aren't always ordered by id. This allows us to remove some quirks that are no longer needed. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 279b215ecb8acc735c01ac89b1aa28c4a27dcafa Author: Alex Deucher Date: Tue Dec 8 14:07:03 2009 -0500 drm/radeon/kms: make sure ss id matches entries in the ss table aren't always ordered by id. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 390d0bbe88b3ef00c28086076d791533407f298e Author: Alex Deucher Date: Tue Dec 8 12:48:20 2009 -0500 drm/radeon/kms: connector fixes - Don't add dac load detection property to DVI-D - Make sure i2c info is valid before adding DP aux chan bus - Don't create scaling_mode_property twice - fix typo that prevented coherent and load detection from working - add coherent prop to DP (for dp->dvi adapters) Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 2b876f95d03e226394b5d360c86127cbefaf614b Merge: fbf07ea c95b450 6ce51c4 Author: Linus Torvalds Date: Tue Dec 8 19:30:19 2009 -0800 Merge branches 'timers-for-linus-ntp' and 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ntp: Provide compability defines (You say MOD_NANO, I say ADJ_NANO) * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: do not execute DEBUG_SHIRQ when irq setup failed commit ec42a6e7dcfc2e9a92fad1c132bc9e110fafeb3f Author: Dave Airlie Date: Tue Dec 8 15:58:08 2009 +1000 drm/ttm: fix memory leak noticed by kmemleak. If we don't need the zone we need to free it. Acked-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit fbf07eac7bf21c262143194181bd97c5d18b8ceb Merge: 60d8ce2 8629ea2 Author: Linus Torvalds Date: Tue Dec 8 19:28:09 2009 -0800 Merge branch 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Fix /proc/timer_list regression itimers: Fix racy writes to cpu_itimer fields timekeeping: Fix clock_gettime vsyscall time warp commit b16d9acbdb97452d1418420e069acf7381ef10bb Author: Zhao Yakui Date: Wed Dec 9 11:23:42 2009 +0800 drm: disable all the possible outputs/crtcs before entering KMS mode Sometimes we will use a crtc for integerated LVDS, which is different with that assigned by BIOS. If we want to get flicker-free transitions, then we could read out the current state for it and set our current state accordingly. But it is true that if we aren't reading current state out, we do need to turn everything off before modesetting. Otherwise the clocks can get very angry and we get things worse than a flicker at boot. In fact we also do the similar thing in UMS mode. We will disable all the possible outputs/crtcs for the first modesetting. So we disable all the possible outputs/crtcs before entering the KMS mode. Before we configure connector/encoder/crtc, the function of drm_helper_disable_unused_function can disable all the possible outputs/crtcs. Signed-off-by: Zhao Yakui Reviewed-by: Eric Anholt Reviewed-by: Rafal Milecki Signed-off-by: Dave Airlie commit 60d8ce2cd6c283132928c11f3fd57ff4187287e0 Merge: 849e8de feae320 Author: Linus Torvalds Date: Tue Dec 8 19:27:08 2009 -0800 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers, init: Limit the number of per cpu calibration bootup messages posix-cpu-timers: optimize and document timer_create callback clockevents: Add missing include to pacify sparse x86: vmiclock: Fix printk format x86: Fix printk format due to variable type change sparc: fix printk for change of variable type clocksource/events: Fix fallout of generic code changes nohz: Allow 32-bit machines to sleep for more than 2.15 seconds nohz: Track last do_timer() cpu nohz: Prevent clocksource wrapping during idle nohz: Type cast printk argument mips: Use generic mult/shift factor calculation for clocks clocksource: Provide a generic mult/shift factor calculation clockevents: Use u32 for mult and shift factors nohz: Introduce arch_needs_cpu nohz: Reuse ktime in sub-functions of tick_check_idle. time: Remove xtime_cache time: Implement logarithmic time accumulation commit 849e8dea099aafa56db9e74b580b0d858b956533 Merge: e069efb 18ed61d Author: Linus Torvalds Date: Tue Dec 8 19:26:55 2009 -0800 Merge branch 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: hpet: Make WARN_ON understandable x86: arch specific support for remapping HPET MSIs intr-remap: generic support for remapping HPET MSIs x86, hpet: Simplify the HPET code x86, hpet: Disable per-cpu hpet timer if ARAT is supported commit 155a49319fabae97c14c7eb474562f2bdfe5af1f Author: Kevin Wells Date: Thu Nov 12 00:34:17 2009 +0100 i2c-pnx: Map I2C adapter number to platform ID number Map I2C adapter number to platform ID number Signed-off-by: Kevin Wells Signed-off-by: Ben Dooks commit ef871432e1334dea4c79f9875f4db87cee7b9b50 Author: Rajendra Nayak Date: Mon Nov 23 08:59:18 2009 -0800 i2c-omap: OMAP3: PM: (re)init for every transfer to support off-mode Because of OMAP off-mode, powerdomain can go off when I2C is idle. Save enough state, and do a re-init for each transfer. Additional save/restore state added by Jagadeesh Bhaskar Pakaravoor (SYSC_REG) and Aaro Koskinen (wakeup sources.) Also, The OMAP3430 TRM states: "During active mode (I2Ci.I2C_CON[15] I2C_EN bit is set to 1), make no changes to the I2Ci.I2C_SCLL and I2Ci.I2C_SCLH registers. Changes may result in unpredictable behavior." Hence, the I2C_EN bit should be clearer when modifying these registers. Please note that clearing the entire I2C_CON register to disable the I2C module is safe, because the I2C_CON register is re-configured for each transfer. Signed-off-by: Jouni Hogander Signed-off-by: Rajendra Nayak Cc: Jagadeesh Bhaskar Pakaravoor Cc: Aaro Koskinen Cc: Jon Hunter Cc: Hu Tao Cc: Xiaolong Chen Signed-off-by: Kevin Hilman Signed-off-by: Ben Dooks commit 6d1ea0f6afde6887d6dea2ace1714a23d9b5820d Author: Shinya Kuribayashi Date: Mon Nov 16 20:40:14 2009 +0900 i2c-designware: i2c_dw_handle_tx_abort: Use dev_dbg() for NOACK cases In the case of no-ACKs, we don't want to see dev_err() messages in the console, because some utilities like i2c-tools are capable of printing decorated console output. This patch will ease such situations. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit a0e06ea64cd2b4b7eee9c196bf623d6c9e44df7c Author: Shinya Kuribayashi Date: Fri Nov 6 21:52:22 2009 +0900 i2c-designware: Cosmetic cleanups Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit ce6eb574a1d9bbde72998ed9c95e9bf35c8f4131 Author: Shinya Kuribayashi Date: Fri Nov 6 21:51:57 2009 +0900 i2c-designware: Tx abort cleanups * ABRT_MASTER_DIS: Fix a typo. * i2c_dw_handle_tx_abort: Return an appropriate error number depending on abort_source. * i2c_dw_xfer: Add a missing abort_source initialization. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 597fe310f16d8246eec856326aa497bfa1b5bfa3 Author: Shinya Kuribayashi Date: Fri Nov 6 21:51:36 2009 +0900 i2c-designware: Skip RX_FULL and TX_EMPTY bits on tx abort errors Suppose TX_ABRT occurs in the middle of processing i2c_msg msgs[], and a STOP condition has already been generated on the bus. In this case, subsequent i2c_dw_xfer_msg() might initiate a new and unnecessary I2C transaction, which we'd have to avoid. Furthermore, anytime TX_ABRT is set, the contents of tx/rx buffers are flushed, so we don't have to process RX_FULL and TX_EMPTY. Disable interrupts, and skip them. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 8f588e40c788e63756ca1028c253f9f663d7d1c5 Author: Shinya Kuribayashi Date: Fri Nov 6 21:51:18 2009 +0900 i2c-designware: i2c_dw_xfer_msg: Fix error handling procedures Current error handling procedures are not good in two respects: * Forgot to mark dev->cmd_complete as "completed" on errors Once an I2C transaction is initiated, wait_for_completion_ interruptible_timeout() waits for dev->cmd_complete to be completed. We have to take care of it whenever an error is detected, otherwise we will have a needless HZ timeout. * Forgot to disable interrupts In the previous patch, interrupt mask operations have been changed. We don't disable interrupts at the end of the interrupt handler any more, and try to keep RX_FULL (and TX_EMPTY if required) enabled during the transaction so that we can send longer data than the size of Tx/Rx FIFO. If an error is detected, we need to disable interrupts before quitting current transaction. We can work around above points using dev->msg_err effectively. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 69151e532c97f983b498ea03e20b1598a5487318 Author: Shinya Kuribayashi Date: Fri Nov 6 21:51:00 2009 +0900 i2c-designware: Disable TX_EMPTY when all i2c_msg msgs has been processed Currently we disable TX_EMPTY interrupt when buf_len is zero, but this is wrong. (buf_len == 0) means that all transmit data in the current i2c_msg message has been sent out, but that doesn't necessarily mean all i2c_msg messages have been processed. TX_EMPTY interrupt is used as the driving force of DW I2C transactions, so we need to keep it enabled as long as i2c_msg messages are available. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 201d6a70b72d1e6ca5a8e03f5f41a7741241401a Author: Shinya Kuribayashi Date: Fri Nov 6 21:50:40 2009 +0900 i2c-designware: Process all i2c_msg messages in the interrupt handler Currently we process the first i2c_dw_xfer_msg() in i2c_dw_xfer(), but in this case there is a possibility to be interrupted by certain interrupts. As described before in this patchset, we need to keep providing new transmit data within a given time period, otherwise Tx FIFO underrun takes place and STOP condition will be generated on the bus, even if we have more bytes to be written. In order to exclude all such possibilities, change TX_EMPTY interrupt usage as below: * DW_IC_INTR_DEFAULT_MASK: Define a default interrupt mask set, and put TX_EMPTY there. * i2c_dw_xfer_init: Enable DW_IC_INTR_DEFAULT_MASK prior to initiating a new I2C transaction. The first TX_EMPTY will be triggered shortly. With the help of it, we can make the first call to i2c_dw_xfer_msg() in the interrupt handler. * i2c_dw_xfer_msg: Fixup intr_mask operation accordingly. Make sure that TX_EMPTY operations need to be reversed. * request_irq: Set IRQF_DISABLED so that we could load transmit data into Tx FIFO without being distracted by other interrupts. * Remove i2c_dw_xfer_msg() in i2c_dw_xfer(). Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 41c4e35037337cfcd297322f3f60770955156683 Author: Shinya Kuribayashi Date: Fri Nov 6 21:50:22 2009 +0900 i2c-designware: i2c_dw_read: Remove redundant target address checker I2c_dw_xfer_msg() also has the same target address inconsistency check, and furthermore it checks across all i2c_msg messages, while i2c_dw_read() walks through i2c_msg messages only with_ I2C_M_RD flag. That is, target address check in i2c_dw_read() is redundant and useless. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit 52d7e430cff3f076d5ae5587e94f2e9b832b85d2 Author: Shinya Kuribayashi Date: Fri Nov 6 21:50:02 2009 +0900 i2c-designware: i2c_dw_func: Set I2C_FUNC_SMBUS_foo bits Set proper I2C_FUNC_SMBUS_* bits so that the driver could be used with some utilities requiring SMBus functionalities, such as i2c-tools. Note that DW I2C core doesn't support I2C_FUNC_SMBUS_QUICK, as it's not capable of zero-length data transactions. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit ae72222d03fea3ff561e2a3aee483ef7bd1a2bbb Author: Shinya Kuribayashi Date: Fri Nov 6 21:49:39 2009 +0900 i2c-designware: Initialize byte count variables just prior to being used As the driver and hardware always process the given data in parallel, then it would be better to initialize tx_limit, rx_limit and rx_valid variables just prior to being used. This will help us to send / receive as much data as possible. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 26ea15b1f584de02bc85e9c3968d523386332f65 Author: Shinya Kuribayashi Date: Fri Nov 6 21:49:14 2009 +0900 i2c-designware: i2c_dw_xfer_msg: Introduce a local "buf" pointer While we have a local variable "buf_len" for dev->tx_buf_len, we don't have such local variable for dev->tx_buf pointer. While "buf_len" is restored at first then updated when we start processing a new i2c_msg (determined by STATUS_WRITE_IN_PROGRESS flag), ->tx_buf is different. Such inconsistency makes the code slightly hard to follow. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 81e798b73aec2d7ce06d18bd191b088c233e554f Author: Shinya Kuribayashi Date: Fri Nov 6 21:48:55 2009 +0900 i2c-designware: Divide i2c_dw_xfer_msg into two functions We have some steps at the top of i2c_dw_xfer_msg() to set up a slave address and enable DW I2C core. And it's executed only when we don't have STATUS_WRITE_IN_PROGRESS. But we need to make sure that STATUS_WRITE_IN_PROGRESS only indicates that we have a pending i2c_msg to process. In other words, even if STATUS_WRITE_IN_PROGRESS is not set, that doesn't mean we're at initial state in the I2C transaction. Since i2c_dw_xfer_msg() will be invoked again and again during a transaction, those init steps have a possibility to be re-processed needlessly. For example, this issue easily takes place when processing a combined transaction with a certain condition (the number of tx bytes in the first i2c_msg, equals to the Tx FIFO depth). Consequently we should not use STATUS_WRITE_IN_PROGRESS to determine where we're at in an I2C transaction. It would be better to separate those initialization steps from i2c_dw_xfer_msg(). Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 21a89d4101ce338c2872401c82b66a7c155e24ab Author: Shinya Kuribayashi Date: Fri Nov 6 21:48:33 2009 +0900 i2c-designware: Enable RX_FULL interrupt Enable RX_FULL interrupt mask by default, and hook it in the interrupt handler. If requested amount of rx data (defined by IC_RX_TL) is not available, we don't have to process i2c_dw_read(). Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 4cb6d1d6da471d795320cc4a933ce60f415dd1f6 Author: Shinya Kuribayashi Date: Fri Nov 6 21:48:12 2009 +0900 i2c-designware: Set Tx/Rx FIFO threshold levels As a hardware feature, DW I2C core generates a STOP condition whenever the Tx FIFO becomes empty (strictly speaking, whenever the last byte in the Tx FIFO is sent out), even if we have more bytes to be written. In other words, we must never make "Tx FIFO underrun" happen during a transaction, except for the last byte. For the safety's sake, we'd make TX_EMPTY interrupt get triggered every time one byte is processed. The Rx FIFO threshold needs to be set as well. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 0774539948b23984f1c866135ba307fa2c441d0e Author: Shinya Kuribayashi Date: Fri Nov 6 21:47:51 2009 +0900 i2c-designware: Process i2c_msg messages in the interrupt handler Symptom: -------- When we're going to send/receive the longer size of data than the Tx FIFO length, the I2C transaction will be divided into several separated transactions, limited by the Tx FIFO length. Details: -------- As a hardware feature, DW I2C core generates a STOP condition whenever the Tx FIFO becomes empty (strictly speaking, whenever the last byte in the Tx FIFO is sent out), even if we have more bytes to be written. Then, once a new transmit data is written to the Tx FIFO, DW I2C core will initiate a new transaction, which leads to another START condition. This explains how the transaction in question goes, and implies that current tasklet-based dw_i2c_pump_msg() strategy couldn't meet the timing constraint required for avoiding Tx FIFO underrun. To avoid this scenario, we must keep providing new transmit data within a given time period. In case of Fast-mode + 32-byte Tx FIFO, for instance, it takes about 22.5[us] to process single byte, and 720[us] in total. This patch removes the existing tasklet-based "pump" system, and move its jobs into the interrupt handler. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit c70c5cd37413c3fa3503212d26ffdf6df535c9de Author: Shinya Kuribayashi Date: Fri Nov 6 21:47:30 2009 +0900 i2c-designware: i2c_dw_xfer_msg: Fix i2c_msg search bug In case a work-in-progress i2c_msg has more bytes to be written, we need to set STATUS_WRITE_IN_PROGRESS and exit from the msg_write_idx- searching loop. Otherwise, we will overtake the current msg_write_idx without waiting for its transmission to be processed. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit d60c7e81dda2041302791c6a5261bd0c74d60fba Author: Shinya Kuribayashi Date: Fri Nov 6 21:47:01 2009 +0900 i2c-designware: Improved _HCNT/_LCNT calculation * Calculate with accurate conditional expressions from DW manuals. * Round ic_clk by adding 0.5 as it's important at high ic_clk rate. * Take into account "tHD;STA" issue for _HCNT calculation. * Take into account "tf" for _LCNT calculation. * Add "cond" and "offset" fot further correction requirements. For _HCNT calculation, there's one issue needs to be carefully considered; DesignWare I2C core doesn't seem to have solid strategy to meet the tHD;STA timing spec. If you configure _HCNT based on the tHIGH timing spec, it easily results in violation of the tHD;STA spec. After many trials, we came to the conclusion that the tHD;STA period is proportional to (_HCNT + 3). For the safety's sake, this should be selected by default. As for _LCNT calculation, DW I2C core has one characteristic behavior; he starts counting the SCL CNTs for the LOW period of the SCL clock (tLOW) as soon as it pulls the SCL line. At that time, he doesn't take into account the fall time of SCL signal (tf), IOW, he starts counting CNTs without confirming the SCL input voltage has dropped to below VIL. This characteristics becomes a problem on some platforms where tf is considerably long, and results in violation of the tLOW timing spec. To make the driver configurable as much as possible for various cases, we'd have separated arguments "tf" and "offset", and for safety default values should be 0.3 us and 0, respectively. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 6d2ea4875f7e5e495526bdfd32bce093cb130276 Author: Shinya Kuribayashi Date: Fri Nov 6 21:46:29 2009 +0900 i2c-designware: Remove an useless local variable "num" We couldn't know the original intent for this variable, but at this point it's useless. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit e77cf23251e7f55335d986ee0a6d2c0084889dee Author: Shinya Kuribayashi Date: Fri Nov 6 21:46:04 2009 +0900 i2c-designware: i2c_dw_xfer_msg: Use "struct dw_i2c_dev" pointer We don't have to use "struct i2c_adapter" pointer here. Let's use a local "struct dw_i2c_dev" pointer, instead. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 78839bd0f22c3b6e7273568e042bf4d637cfedb3 Author: Shinya Kuribayashi Date: Fri Nov 6 21:45:39 2009 +0900 i2c-designware: i2c_dw_read: Use "struct dw_i2c_dev" pointer We don't have to use "struct i2c_adapter" pointer here. Let's use a local "struct dw_i2c_dev" pointer, instead. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit 91b52caec040064b4df540b72ad7f18a22fd0508 Author: Shinya Kuribayashi Date: Fri Nov 6 21:45:07 2009 +0900 i2c-designware: Use platform_get_irq helper Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit e28000a38da803de8d90727bec45f3d7c831a59a Author: Shinya Kuribayashi Date: Fri Nov 6 21:44:37 2009 +0900 i2c-designware: Don't use the IC_CLR_INTR register to clear interrupts We're strongly discouraged from using the IC_CLR_INTR register because it clears all software-clearable interrupts asserted at the moment. stat = readl(IC_INTR_STAT); : : <=== Interrupts asserted during this period will be lost : readl(IC_CLR_INTR); Instead, use the separately-prepared IC_CLR_* registers. At the same time, this patch adds all remaining interrupt definitions available in the DesignWare I2C hardware. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ben Dooks commit ed5e1dd5f2daa8a59bc8116888417a6ff96d2ae9 Author: Shinya Kuribayashi Date: Fri Nov 6 21:43:52 2009 +0900 i2c-designware: Consolidate to use 32-bit word accesses This driver looks originally meant for armel machines where readw()/ writew() works perfectly fine with this hardware. But that doens't work for big-endian systems. This patch converts all 8/16-bit-aware usages to 32-bit variants. Signed-off-by: Shinya Kuribayashi Acked-by: Baruch Siach Signed-off-by: Ben Dooks commit e069efb6bbf8f739a2e084183709b5eb76abf90d Merge: 324889b eed89d0 Author: Linus Torvalds Date: Tue Dec 8 15:55:13 2009 -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: hwrng: core - Prevent too-small buffer sizes hwrng: virtio-rng - Convert to new API hwrng: core - Replace u32 in driver API with byte array crypto: ansi_cprng - Move FIPS functions under CONFIG_CRYPTO_FIPS crypto: testmgr - Add ghash algorithm test before provide to users crypto: ghash-clmulni-intel - Put proper .data section in place crypto: ghash-clmulni-intel - Use gas macro for PCLMULQDQ-NI and PSHUFB crypto: aesni-intel - Use gas macro for AES-NI instructions x86: Generate .byte code for some new instructions via gas macro crypto: ghash-intel - Fix irq_fpu_usable usage crypto: ghash-intel - Add PSHUFB macros crypto: ghash-intel - Hard-code pshufb crypto: ghash-intel - Fix building failure on x86_32 crypto: testmgr - Fix warning crypto: ansi_cprng - Fix test in get_prng_bytes crypto: hash - Remove cra_u.{digest,hash} crypto: api - Remove digest case from procfs show handler crypto: hash - Remove legacy hash/digest code crypto: ansi_cprng - Add FIPS wrapper crypto: ghash - Add PCLMULQDQ accelerated implementation commit 324889b6bd2a89e0d69a2f9d133d6cf24579ab6c Merge: 3ff6a46 cb711a1 Author: Linus Torvalds Date: Tue Dec 8 15:55:00 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] iTCO_wdt.c - cleanup chipset documentation [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak [WATCHDOG] CPUFREQ: S3C24XX Watchdog frequency scaling support. commit 27a338a69ed9a8a672cd620f5fd7fa450209313c Author: Tony Luck Date: Tue Dec 8 15:29:05 2009 -0800 [IA64] Fix cut/paste detritus from unistd.h Build warning: :1523:2: warning: #warning syscall recvmmsg not implemented Because when recvmmesg was added, the previous syscall define was cut&pasted, and a spurious "rt_" left in the name of the define. Signed-off-by: Tony Luck commit 947a2462792a89b8aa168a1108288e0d0ae36d12 Author: Ramax Lo Date: Tue Dec 8 23:42:41 2009 +0800 ARM: S3C24XX: DMA: Use valid index when accessing array The DMA_CH_VALID bit used in the channel index should be masked out before using it to access the channel array. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit e61444d9209821469ed0d5a9128dcf2e494533ea Merge: a252e74 6a213af Author: David S. Miller Date: Tue Dec 8 13:44:44 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6d5355998a757a16815d58da4a739b15a6efbfba Author: Albrecht Dreß Date: Fri Nov 13 18:09:31 2009 -0700 mpc52xx/wdt: remove obsolete old WDT implementation Remove the old WDT implementation. Signed-off-by: Albrecht Dreß Acked-by: Wim Van Sebroeck Signed-off-by: Grant Likely commit 3ff6a468b45b5dfeb0e903e56f4eb27d34b2437c Merge: 4646575 d7d3756 Author: Linus Torvalds Date: Tue Dec 8 13:38:33 2009 -0800 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: cpumask: Use modern cpumask style in Xen commit 4646575daf21f544fc2f7e8d90d8c488948fcc7c Merge: 86ed4aa 581f202 Author: Linus Torvalds Date: Tue Dec 8 13:38:21 2009 -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 RTC: Always enable RTC clocksource x86: UV RTC: Rename generic_interrupt to x86_platform_ipi x86: UV RTC: Clean up error handling x86: UV RTC: Add clocksource only boot option x86: UV RTC: Fix early expiry handling commit 86ed4aa457f9c832856156a2ee6477d108825855 Merge: 830cd2a fe5ed91 Author: Linus Torvalds Date: Tue Dec 8 13:38:11 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: don't restart timer if disabled x86: Use -maccumulate-outgoing-args for sane mcount prologues x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage x86: AMD Northbridge: Verify NB's node is online x86 VSDO: Fix Kconfig help x86: Fix typo in Intel CPU cache size descriptor x86: Add new Intel CPU cache size descriptors commit 830cd2ac6ecce6b027d947fcdc724dd27a33813a Merge: 64227cd b434a68 Author: Linus Torvalds Date: Tue Dec 8 13:35:29 2009 -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: vgacon: Add support for setting the default cursor state vc: Add support for hiding the cursor when creating VTs x86, setup: Store the boot cursor state commit 64227cd83d5f9d7b7ce5514a693252c2952366f6 Merge: e7522ed 57fea8f Author: Linus Torvalds Date: Tue Dec 8 13:35:18 2009 -0800 Merge branch 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency commit e7522ed5c0140486f68bf3351b4e667f570b8c76 Merge: b391738 e634d8f Author: Linus Torvalds Date: Tue Dec 8 13:34:53 2009 -0800 Merge branch 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: merge the standard and compat start_thread() functions x86-64: make compat_start_thread() match start_thread() commit b391738bd1c708fe85592410c6a7c9752689481d Merge: e33c019 2fb8f4e Author: Linus Torvalds Date: Tue Dec 8 13:34:17 2009 -0800 Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: pat: Remove ioremap_default() x86: pat: Clean up req_type special case for reserve_memtype() x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED commit e33c01972239fee4696679ae5f7d1f340f424999 Merge: 343036c ccef086 Author: Linus Torvalds Date: Tue Dec 8 13:27:33 2009 -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: (36 commits) x86, mm: Correct the implementation of is_untracked_pat_range() x86/pat: Trivial: don't create debugfs for memtype if pat is disabled x86, mtrr: Fix sorting of mtrr after subtracting x86: Move find_smp_config() earlier and avoid bootmem usage x86, platform: Change is_untracked_pat_range() to bool; cleanup init x86: Change is_ISA_range() into an inline function x86, mm: is_untracked_pat_range() takes a normal semiclosed range x86, mm: Call is_untracked_pat_range() rather than is_ISA_range() x86: UV SGI: Don't track GRU space in PAT x86: SGI UV: Fix BAU initialization x86, numa: Use near(er) online node instead of roundrobin for NUMA x86, numa, bootmem: Only free bootmem on NUMA failure path x86: Change crash kernel to reserve via reserve_early() x86: Eliminate redundant/contradicting cache line size config options x86: When cleaning MTRRs, do not fold WP into UC x86: remove "extern" from function prototypes in x86, mm: Report state of NX protections during boot x86, mm: Clean up and simplify NX enablement x86, pageattr: Make set_memory_(x|nx) aware of NX support x86, sleep: Always save the value of EFER ... Fix up conflicts (added both iommu_shutdown and is_untracked_pat_range) to 'struct x86_platform_ops') in arch/x86/include/asm/x86_init.h arch/x86/kernel/x86_init.c commit 343036cea2854acf8d4b4c930c0063223bc6b8a2 Merge: 4d2a914 8cc2361 Author: Linus Torvalds Date: Tue Dec 8 13:25:10 2009 -0800 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: ucode-amd: Move family check to microcde_amd.c's init function x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...) x86: ucode-amd: Don't warn when no ucode is available for a CPU revision x86: ucode-amd: Load ucode-patches once and not separately of each CPU x86, amd-ucode: Remove needless log messages commit 4d2a914239eee6fcddd12a7c9c32e135dde8f3f1 Merge: 9e9868a 1786bf0 Author: Linus Torvalds Date: Tue Dec 8 13:24:20 2009 -0800 Merge branch 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: core: Clean up user return notifers use of per_cpu commit 9e9868a7372afc60615e8e11db246a91a121654d Author: Uwe Kleine-König Date: Thu Dec 3 19:58:00 2009 +0100 sysfs: deprecated features are to help old tools not to confuse them Signed-off-by: Uwe Kleine-König Acked-by: Randy Dunlap Cc: Greg KH Cc: Andrew Morton Cc: Kay Sievers Signed-off-by: Linus Torvalds commit a252e749f1ae17e43ccc5824f7b1b5854417c98b Author: Linus Torvalds Date: Tue Dec 8 12:51:22 2009 -0800 sctp: fix compile error due to sysctl mismerge I messed up the merge in d7fc02c7bae7b1cf69269992cf880a43a350cdaa, where the conflict in question wasn't just about CTL_UNNUMBERED being removed, but the 'strategy' field is too (sysctl handling is now done through the /proc interface, with no duplicate protocols for reading the data). Reported-by: Larry Finger Reported-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 5c0e9f28da84c68ce0ae68b7a75faaf862e156e2 Author: Hidetoshi Seto Date: Tue Dec 8 16:52:44 2009 +0900 x86, mce: fix confusion between bank attributes and mce attributes Commit cebe182033f156b430952370fb0f9dbe6e89b081 had an unnecessary, wrong change: &mce_banks[i].attr is equivalent to the former bank_attrs[i], not to mce_attrs[i]. Signed-off-by: Hidetoshi Seto Acked-by: Andi Kleen LKML-Reference: <4B1E05CC.4040703@jp.fujitsu.com> Signed-off-by: H. Peter Anvin commit dd7cdb883b1000cb2be537c44612ade3c9c39a7b Author: Randy Dunlap Date: Tue Dec 8 09:13:07 2009 -0800 ALSA: radio/sound/miro: fix build, cleanup depends/selects miropcm20 uses ALSA (snd_) interfaces from the SND_MIRO driver, so it should depend on SND. (selecting SND_MIRO when CONFIG_SND is not enabled is a problem.) drivers/built-in.o: In function `vidioc_s_ctrl': radio-miropcm20.c:(.text+0x227499): undefined reference to `snd_aci_cmd' drivers/built-in.o: In function `vidioc_s_frequency': radio-miropcm20.c:(.text+0x227574): undefined reference to `snd_aci_cmd' radio-miropcm20.c:(.text+0x227588): undefined reference to `snd_aci_cmd' drivers/built-in.o: In function `pcm20_init': radio-miropcm20.c:(.init.text+0x2a784): undefined reference to `snd_aci_get_aci' miropcm20 selects SND_MIRO but SND_ISA may be not enabled, so also select SND_ISA so that the snd-miro driver will be built. Otherwise there are missing symbols: ERROR: "snd_opl4_create" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_pcm" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_timer" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_create" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_mixer" [sound/isa/opti9xx/snd-miro.ko] undefined! Signed-off-by: Randy Dunlap Acked-by: Mauro Carvalho Chehab Cc: Krzysztof Helt Signed-off-by: Takashi Iwai commit ee6e365e30f7ee89bd214ff1215aaf90e93d4c40 Author: Takashi Iwai Date: Tue Dec 8 17:23:33 2009 +0100 ALSA: hda - Generalize EAPD inversion check in patch_analog.c Add a flag to spec field so that the EAPD inversion can be checked outside the relevant control callbacks. Signed-off-by: Takashi Iwai commit 6035ccd8e9e40bb654fbfdef325902ab531679a5 Merge: 23eb3b6 878eadd Author: Linus Torvalds Date: Tue Dec 8 08:19:16 2009 -0800 Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block: (113 commits) cfq-iosched: Do not access cfqq after freeing it block: include linux/err.h to use ERR_PTR cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit blkio: Allow CFQ group IO scheduling even when CFQ is a module blkio: Implement dynamic io controlling policy registration blkio: Export some symbols from blkio as its user CFQ can be a module block: Fix io_context leak after failure of clone with CLONE_IO block: Fix io_context leak after clone with CLONE_IO cfq-iosched: make nonrot check logic consistent io controller: quick fix for blk-cgroup and modular CFQ cfq-iosched: move IO controller declerations to a header file cfq-iosched: fix compile problem with !CONFIG_CGROUP blkio: Documentation blkio: Wait on sync-noidle queue even if rq_noidle = 1 blkio: Implement group_isolation tunable blkio: Determine async workload length based on total number of queues blkio: Wait for cfq queue to get backlogged if group is empty blkio: Propagate cgroup weight updation to cfq groups blkio: Drop the reference to queue once the task changes cgroup blkio: Provide some isolation between groups ... commit 23eb3b64b5e44680c867e165fe1cd18e57fba255 Merge: 1c49678 1b52f2a Author: Linus Torvalds Date: Tue Dec 8 08:18:01 2009 -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: (54 commits) Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips" libata: Clarify ata_set_lba_range_entries function libata: Report zeroed read after TRIM and max discard size pata_hpt3x2n: fix overclocked MWDMA0 timing pata_it8213: MWDMA0 is unsupported [libata] MWDMA0 is unsupported on PIIX-like PATA controllers pata_via: clear UDMA transfer mode bit for PIO and MWDMA pata_sis: Power Management fix pata_rz1000: Power Management fix pata_radisys: fix UDMA handling pata_ns87415: Power Management fix pata_marvell: fix marvell_pre_reset() documentation pata_legacy: add pointers to QDI65x0 documentation pata_legacy: fix access to control register for QDI6580 pata_legacy: fix QDI6580DP support pata_it8213: fix it8213_pre_reset() documentation pata_it8213: fix wrong MWDMA timings being programmed pata_it8213: fix PIO2 underclocking pata_it8213: fix wrong PIO timings being programmed pata_it8213: fix UDMA handling ... commit 1c496784a0d317535f846ddb2c93a08ba936266b Merge: adf9904 9a01609 Author: Linus Torvalds Date: Tue Dec 8 08:15:29 2009 -0800 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits) arm: omap: Add omap3_defconfig AM35xx: Defconfig for AM3517 EVM board AM35xx: Add support for AM3517 EVM board omap: 3630sdp: defconfig creation omap: 3630sdp: introduce 3630 sdp board support omap3: Add defconfig for IGEP v2 board omap3: Add minimal IGEP v2 support omap3: Add CompuLab CM-T35 defconfig omap3: Add CompuLab CM-T35 board support omap3: rx51: Add wl1251 wlan driver support omap3: rx51: Add SDRAM init omap1: Add default kernel configuration for Herald omap1: Add board support and LCD for HTC Herald omap: zoom2: update defconfig for LL_DEBUG_NONE omap: zoom3: defconfig creation omap3: zoom: Introduce zoom3 board support omap3: zoom: Drop i2c-1 speed to 2400 omap3: zoom: rename zoom2 name to generic zoom omap3: zoom: split board file for software reuse omap3evm: MIgrate to smsc911x ethernet driver ... Fix trivial conflict (two unrelated config options added next to each other) in arch/arm/mach-omap2/Makefile commit adf9904dc774f23f04a5425f0198483ea61f878b Merge: bb592cf 49966ba Author: Linus Torvalds Date: Tue Dec 8 08:13:35 2009 -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: m68k: parport_mfc3 - Not makes it a bool before the comparison. m68k: don't export static inline functions fbdev: atafb - add palette register check m68k: Remove the BKL from sys_execve m68k: Cleanup linker scripts using new linker script macros. m68k: Make thread_info.h usable from assembly. m68knommu: define arch_has_single_step() and friends m68k: ptrace fixes m68k: use generic code for ptrace requests rtc: Add an RTC driver for the Ricoh RP5C01 rtc: Add an RTC driver for the Oki MSM6242 commit bb592cf474404e51cbf3c419fb72fda83c4b7d72 Merge: 79c9601 af0940d Author: Linus Torvalds Date: Tue Dec 8 08:13:10 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: Use hweight32 firewire: cdev: reduce stack usage by ioctl_dispatch firewire: ohci: 0 may be a valid DMA address firewire: core: WARN on wrong usage of core transaction functions firewire: core: optimize Topology Map creation firewire: core: clarify generate_config_rom usage firewire: optimize config ROM creation firewire: cdev: normalize variable names firewire: normalize style of queue_work wrappers firewire: cdev: fix memory leak in an error path commit 79c9601c2e0dbbe69895d302de4d19f3a31fbd30 Merge: 41440ff 3d14b5b Author: Linus Torvalds Date: Tue Dec 8 08:12:43 2009 -0800 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits) Fix soc_common PCMCIA configuration ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver ARM: 5825/1: SA1100: h3600: update defconfig ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100 ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys ARM: 5822/1: SA1100: h3100/h3600: clean up #includes ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates ARM: 5820/1: SA1100: h3100/h3600: split h3600.c ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h ... commit 41440ffe21f29bdb985cab76b2d0b06d83e63b19 Merge: dad3de7 6471b68 Author: Linus Torvalds Date: Tue Dec 8 08:12:16 2009 -0800 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-stub: Documentation update i2c-stub: Allow user to disable some commands i2c-stub: Implement I2C block support i2c: Refactor for_each callbacks i2c-i801: Retry on lost arbitration i2c: Remove big kernel lock from i2cdev_open ics932s401: Clean up detect function i2c: Simplify i2c_detect_address i2c: Drop probe, ignore and force module parameters i2c: Add missing __devinit markers to old i2c adapter drivers i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR i2c: Prevent priority inversion on top of bus lock i2c-voodoo3: Delete i2c-powermac: Drop temporary name buffer i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus i2c-powermac: Log errors i2c-powermac: Refactor i2c_powermac_smbus_xfer i2c-powermac: Reject unsupported I2C transactions i2c/chips: Move ds1682 to drivers/misc commit dad3de7d0090280f44ff27131ed2878f1ab6ddad Merge: ed9216c 7a1a8eb Author: Linus Torvalds Date: Tue Dec 8 08:07:16 2009 -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: Add flag for devices capable of generating run-time wake-up events PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status() PM / Runtime: Make documentation of runtime_idle() agree with the code PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend() PM / Runtime: Use deferred_resume flag in pm_request_resume PM / Runtime: Export the PM runtime workqueue PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() PM / Hibernate: Swap, use KERN_CONT PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c PM / Hibernate: Move swap functions to kernel/power/swap.c. PM / freezer: Don't get over-anxious while waiting commit ed9216c1717a3f3738a77908aff78995ea69e7ff Merge: d7fc02c d569672 Author: Linus Torvalds Date: Tue Dec 8 08:02:38 2009 -0800 Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits) KVM: VMX: Fix comparison of guest efer with stale host value KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c KVM: Drop user return notifier when disabling virtualization on a cpu KVM: VMX: Disable unrestricted guest when EPT disabled KVM: x86 emulator: limit instructions to 15 bytes KVM: s390: Make psw available on all exits, not just a subset KVM: x86: Add KVM_GET/SET_VCPU_EVENTS KVM: VMX: Report unexpected simultaneous exceptions as internal errors KVM: Allow internal errors reported to userspace to carry extra data KVM: Reorder IOCTLs in main kvm.h KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG KVM: only clear irq_source_id if irqchip is present KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic KVM: x86: disallow multiple KVM_CREATE_IRQCHIP KVM: VMX: Remove vmx->msr_offset_efer KVM: MMU: update invlpg handler comment KVM: VMX: move CR3/PDPTR update to vmx_set_cr3 KVM: remove duplicated task_switch check KVM: powerpc: Fix BUILD_BUG_ON condition KVM: VMX: Use shared msr infrastructure ... Trivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile commit d7fc02c7bae7b1cf69269992cf880a43a350cdaa Merge: ee1262d 28b4d5c Author: Linus Torvalds Date: Tue Dec 8 07:55:01 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits) mac80211: fix reorder buffer release iwmc3200wifi: Enable wimax core through module parameter iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter iwmc3200wifi: Coex table command does not expect a response iwmc3200wifi: Update wiwi priority table iwlwifi: driver version track kernel version iwlwifi: indicate uCode type when fail dump error/event log iwl3945: remove duplicated event logging code b43: fix two warnings ipw2100: fix rebooting hang with driver loaded cfg80211: indent regulatory messages with spaces iwmc3200wifi: fix NULL pointer dereference in pmkid update mac80211: Fix TX status reporting for injected data frames ath9k: enable 2GHz band only if the device supports it airo: Fix integer overflow warning rt2x00: Fix padding bug on L2PAD devices. WE: Fix set events not propagated b43legacy: avoid PPC fault during resume b43: avoid PPC fault during resume tcp: fix a timewait refcnt race ... Fix up conflicts due to sysctl cleanups (dead sysctl_check code and CTL_UNNUMBERED removed) in kernel/sysctl_check.c net/ipv4/sysctl_net_ipv4.c net/ipv6/addrconf.c net/sctp/sysctl.c commit ee1262dbc65ce0b6234a915d8432171e8d77f518 Merge: a421018 7f5620a Author: Linus Torvalds Date: Tue Dec 8 07:48:23 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: sparc: Set UTS_MACHINE correctly. sparc,leon: init_leon srmmu cleanup sparc32: Remove early interrupt enable. sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure sparc64: Faster early-boot framebuffer console. Revert "sparc: Make atomic locks raw" sparc: remove unused nfsd #includes sparc: Fixup last users of irq_chip->typename Added sparc_leon3_snooping_enabled() and converted extern inline to static inline No auxio on LEON apbuart: Use of_find_node_by_path to find root node. sparc: Replace old style lock initializer sparc: Make atomic locks raw apbuart: Fix build and missing driver unregister. apbuart: Kill dependency on deprecated Sparc-only PROM interfaces. apbuart: Fix build warning. sparc: Support for GRLIB APBUART serial port watchdog: Remove BKL from rio watchdog driver sparc: Remove BKL from apc sparc,leon: Sparc-Leon SMP support commit a421018e8c10e5593a1fee076af72a66c3fe8ca3 Merge: 3ad1f3b 86e1d57 Author: Linus Torvalds Date: Tue Dec 8 07:47:46 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (294 commits) S3C64XX: Staticise platform data for PCM devices ASoC: Rename controls with a / in wm_hubs snd-fm801: autodetect SF64-PCR (tuner-only) card ALSA: tea575x-tuner: fix mute ASoC: au1x: dbdma2: plug memleak in pcm device creation error path ASoC: au1x: dbdma2: fix oops on soc device removal. ALSA: hda - Fix memory leaks in the previous patch ALSA: hda - Add ALC661/259, ALC892/888VD support ALSA: opti9xx: remove snd_opti9xx fields ALSA: aaci - Clean up duplicate code ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT ALSA: hda - Add position_fix quirk for HP dv3 ALSA: hda - Add a pin-fix for FSC Amilo Pi1505 ALSA: hda - Fix Cxt5047 test mode ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API ASoC: sh: fsi: Add runtime PM support sh: ms7724se: Add runtime PM support for FSI ALSA: hda - Add a position_fix quirk for MSI Wind U115 ALSA: opti-miro: add PnP detection ALSA: opti-miro: separate comon probing code ... commit 3ad1f3b35e8309ec93454dbf89beaafcdb5312da Merge: 1557d33 e91edcf Author: Linus Torvalds Date: Tue Dec 8 07:46:56 2009 -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: of: merge of_find_all_nodes() implementations of: merge other miscellaneous prototypes of: merge of_*_flat_dt*() functions of: merge of_node_get(), of_node_put() and of_find_all_nodes() of: merge of_read_number() an of_read_ulong() of: merge of_node_*_flag() and set_node_proc_entry() of: merge struct boot_param_header from Microblaze and PowerPC of: add common header for flattened device tree representation of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h of: merge struct device_node of: merge phandle, ihandle and struct property of: Rework linux/of.h and asm/prom.h include ordering commit 1557d33007f63dd96e5d15f33af389378e5f2e54 Merge: 6ec22f9 c656ae9 Author: Linus Torvalds Date: Tue Dec 8 07:38:50 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits) security/tomoyo: Remove now unnecessary handling of security_sysctl. security/tomoyo: Add a special case to handle accesses through the internal proc mount. sysctl: Drop & in front of every proc_handler. sysctl: Remove CTL_NONE and CTL_UNNUMBERED sysctl: kill dead ctl_handler definitions. sysctl: Remove the last of the generic binary sysctl support sysctl net: Remove unused binary sysctl code sysctl security/tomoyo: Don't look at ctl_name sysctl arm: Remove binary sysctl support sysctl x86: Remove dead binary sysctl support sysctl sh: Remove dead binary sysctl support sysctl powerpc: Remove dead binary sysctl support sysctl ia64: Remove dead binary sysctl support sysctl s390: Remove dead sysctl binary support sysctl frv: Remove dead binary sysctl support sysctl mips/lasat: Remove dead binary sysctl support sysctl drivers: Remove dead binary sysctl support sysctl crypto: Remove dead binary sysctl support sysctl security/keys: Remove dead binary sysctl support sysctl kernel: Remove binary sysctl logic ... commit 7e8b60faea972604c315634cff62d44803731ea9 Author: Andrew Lutomirski Date: Sun Nov 8 13:49:51 2009 -0500 drm/i915: restore render clock gating on resume Rather than restoring just a few clock gating registers on resume, just reinitialize the whole thing. Signed-off-by: Andy Lutomirski [anholt: Fixed up for RC6 support landed since the patch was written] Signed-off-by: Eric Anholt commit 722d0172377a5697919b9f7e5beb95165b1dec4e Author: Andi Kleen Date: Tue Dec 8 13:19:42 2009 +0100 futex: Take mmap_sem for get_user_pages in fault_in_user_writeable get_user_pages() must be called with mmap_sem held. Signed-off-by: Andi Kleen Cc: stable@kernel.org Cc: Andrew Morton Cc: Nick Piggin Cc: Darren Hart Cc: Peter Zijlstra LKML-Reference: <20091208121942.GA21298@basil.fritz.box> Signed-off-by: Thomas Gleixner commit 370066e2b13bafa8e742673f658e617b6ed143a4 Author: Roel Kluin Date: Tue Dec 8 01:34:22 2009 +0100 ASoC: Wrong variable returned on error The wrong variable was returned in the case of an error Signed-off-by: Roel Kluin Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit df5b1606bd077401831759171c355dc38cfaa59a Author: Borislav Petkov Date: Mon Nov 16 11:42:47 2009 +0100 amd64_edac: bump driver version This was long overdue ... Signed-off-by: Borislav Petkov commit 18ba54ac1286b4fdb0e61d49fa3ad9363e7cd032 Author: Andrew Morton Date: Mon Dec 7 19:04:23 2009 +0100 amd64_edac: fix use-uninitialised bug drivers/edac/amd64_edac.c: In function 'amd64_edac_init': drivers/edac/amd64_edac.c:2840: warning: 'ret' may be used uninitialized in this function Cc: Doug Thompson Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Borislav Petkov commit bdc30a0c8c7427a1c1d2e4d149d372d4d77781ee Author: Borislav Petkov Date: Fri Nov 13 15:10:43 2009 +0100 amd64_edac: correct sys address to chip select mapping The routine does the reverse mapping of the error address of a CECC back to the node id, DRAM controller and chip select of the DIMM which caused the error. We should lookup the channel using the syndromes _only_ when the DCTs are ganged so fix that. Also, add an early exit when there's an error while scanning for the csrow thus decreasing indentation levels for better readability. Finally, fixup comments. Signed-off-by: Borislav Petkov commit bfc04aec7d687282b5e7adb26799d3eb50d05f01 Author: Borislav Petkov Date: Thu Nov 12 19:05:07 2009 +0100 amd64_edac: add a leaner syndrome decoding algorithm Instead of using the whole syndrome tables for channel decoding, use a set of eigenvectors with which the tables can be generated to search for the syndrome in error. The algorithm operates independently of symbol size and can be used for both x4 and x8 syndromes. Signed-off-by: Borislav Petkov commit b38882f5c066dc681679e90f1903eda323e605b1 Author: Roel Kluin Date: Mon Dec 7 14:21:45 2009 +0100 UBIFS: fix return code in check_leaf Return the PTR_ERR of the correct pointer. This fixes the debugging code. Signed-off-by: Roel Kluin Signed-off-by: Artem Bityutskiy commit 2b6f6c0d11fcf6244b98d2b7490164d92d3e409f Author: Tobias Hansen Date: Mon Dec 7 19:08:19 2009 +0100 ALSA: snd-usb-us122l: add product IDs of US-122MKII and US-144MKII I added the product IDs of the new revisions of the devices, so owners can test whether this suffices to make them work. Patched against ALSA snapshot 20091207. Signed-off-by: Tobias Hansen Signed-off-by: Takashi Iwai commit d11f74c62fb4a1fefd39085570fb6dfa7b9ab2bb Author: Takashi Iwai Date: Tue Dec 8 12:52:47 2009 +0100 ALSA: hda - Exclude unusable ADCs for ALC88x On Realtek codecs, a digital mic pin is connected often only to a single ADC. But the parser tries to set up all ADCs no matter whether the digital mic is available, and results in non-selectable input source. This patch adds a check of input-source availability of each ADC, and excludes ones that don't support all input sources. Reference: Novell bnc#561235 http://bugzilla.novell.com/show_bug.cgi?id=561235 Signed-off-by: Takashi Iwai commit 23033b2bce4361f2859ee0331f97c9056dae7091 Author: Takashi Iwai Date: Tue Dec 8 12:36:52 2009 +0100 ALSA: hda - Add missing Line-Out and PCM switches as slave Realtek codecs may have "PCM" and "Line-Out" playback switches, and they can be slaves for vmaster. Signed-off-by: Takashi Iwai commit 4b7e180335d23296170a5fa8c1f074722f94b253 Author: Justin P. Mattock Date: Mon Dec 7 15:07:46 2009 -0800 ALSA: hda - iMac 9,1 sound patch. This is an updated patch for the Apple iMac 9,1 model to add sound. Original patch posted here: http://article.gmane.org/gmane.linux.alsa.devel/61361/match= I have been using this patch for a while now and have to say it works vary well, except for a few minor things: With the iMac 24-inch 3.06GHz Intel Core 2 Duo everything seems to be working as it should, although I have not looked into the microphone (never really use one, nor have any apps to test, my guess is it doesn't work, or I never figured out how to get it to work). With the iMac 24-inch 2.66GHz Intel Core 2 Duo everything is the same as with the above machine except I'm hearing a light scratchy/distortion noise come out of the speakers when using headphones(above machine does not do this). Other than that the sound level is great(especially with good Dj headphones). Signed-off-by: Justin P. Mattock Tested-by: Justin P. Mattock Signed-off-by: Takashi Iwai commit e6960e194a7dfb8197822225e04eca95fbd61a7f Author: Krzysztof Helt Date: Fri Dec 4 18:30:18 2009 +0100 ALSA: opti93x: set MC indirect registers base from PnP data The PnP data on the OPTI931 and OPTI933 contains io port range for the MC indirect registers. Use the PnP range instead of hardwired value 0xE0E. Also, request region of MC indirect registers so it is marked as used to other drivers (this was missing previously). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 6ab8886326a1b9a3a8d164d8174e3c20703a03a2 Author: Stephen Rothwell Date: Tue Dec 8 18:25:15 2009 +1100 perf: hw_breakpoints: Fix percpu namespace clash Today's linux-next build failed with: kernel/hw_breakpoint.c:86: error: 'task_bp_pinned' redeclared as different kind of symbol ... Caused by commit dd17c8f72993f9461e9c19250e3f155d6d99df22 ("percpu: remove per_cpu__ prefix") from the percpu tree interacting with commit 56053170ea2a2c0dc17420e9b94aa3ca51d80408 ("hw-breakpoints: Fix task-bound breakpoint slot allocation") from the tip tree. Signed-off-by: Stephen Rothwell Acked-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Tejun Heo Cc: Rusty Russell Cc: Christoph Lameter Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <20091208182515.bb6dda4a.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit 128b4a0ef74e8d48033513e41a413087ba30e36b Author: Benjamin Herrenschmidt Date: Tue Dec 1 14:36:27 2009 +0000 powerpc/macio: Add dma_parms support to macio This adds dma_parms to macio devices and initializes them with default values. This will allow pata_macio to setup the appropriate max segment size for the block layer. Signed-off-by: Benjamin Herrenschmidt commit 7fb19ea054a0cdf1a4d935e68d51bde4d3725414 Author: Benjamin Herrenschmidt Date: Tue Dec 1 14:36:26 2009 +0000 powerpc/macio: Add devres support to macio_device This adds some basic devres support. When enabled via macio_enable_devres() resources requested by drivers will be automatically released. Signed-off-by: Benjamin Herrenschmidt commit e15a113700324f7fdcee95589875daed2b98a2fe Author: Alexander Graf Date: Mon Nov 30 03:02:02 2009 +0000 powerpc/kvm: Sync guest visible MMU state Currently userspace has no chance to find out which virtual address space we're in and resolve addresses. While that is a big problem for migration, it's also unpleasent when debugging, as gdb and the monitor don't work on virtual addresses. This patch exports enough of the MMU segment state to userspace to make debugging work and thus also includes the groundwork for migration. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit c0cefebc0b6ae1bc4c92672223a54e1ee96ea7f0 Author: Amit Shah Date: Fri Nov 27 20:50:49 2009 +0000 hvc_console: Export (GPL'ed) hvc_remove The virtio console, which uses hvc, will get the ability to hot-unplug ports. Export hvc_remove so that virtio_console can disassociate with hvc. Signed-off-by: Amit Shah Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 529586dc39b0ec47c6290c4e7bed6ea3ffd1d8fb Author: Bolko Maass Date: Fri Nov 27 05:44:33 2009 +0000 powerpc/windfarm: Add detection for second cpu pump Windfarm SMU control is explicitly missing support for a second CPU pump in G5 PowerMacs. Such machines actually exist (specifically Quads with a second pump), so this patch adds detection for it. Signed-off by: Bolko Maass CC: Signed-off-by: Benjamin Herrenschmidt commit 9d2f7342d08896338890904351490739c1035d43 Author: Alexey Dobriyan Date: Thu Nov 26 20:53:06 2009 +0000 powerpc/via-pmu: Convert to proc_fops/seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: Benjamin Herrenschmidt commit d28513bc7f675d28b479db666d572e078ecf182d Author: David Gibson Date: Thu Nov 26 18:56:04 2009 +0000 powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT Commit a0668cdc154e54bf0c85182e0535eea237d53146 cleans up the handling of kmem_caches for allocating various levels of pagetables. Unfortunately, it conflicts badly with CONFIG_PPC_SUBPAGE_PROT, due to the latter's cleverly hidden technique of adding some extra allocation space to the top level page directory to store the extra information it needs. Since that extra allocation really doesn't fit into the cleaned up page directory allocating scheme, this patch alters CONFIG_PPC_SUBPAGE_PROT to instead allocate its struct subpage_prot_table as part of the mm_context_t. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit bc09effabf0c5c6c7021e5ef9af15a23579b32a8 Author: Jan Beulich Date: Tue Dec 8 11:21:37 2009 +0900 x86/mce: Set up timer unconditionally mce_timer must be passed to setup_timer() in all cases, no matter whether it is going to be actually used. Otherwise, when the CPU gets brought down, its call to del_timer_sync() will never return, as the timer won't have a base associated, and hence lock_timer_base() will loop infinitely. Signed-off-by: Jan Beulich Signed-off-by: Hidetoshi Seto Cc: LKML-Reference: <4B1DB831.2030801@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 7b0a9e8302522d5f7bb7fab6b8a3c8ce8181609c Merge: 3f838fc d4877cf Author: Dave Airlie Date: Tue Dec 8 14:29:15 2009 +1000 Merge remote branch 'korg/drm-radeon-dp' into drm-linus This merges the radeon KMS DisplayPort and hotplug detect support. Tested on RV635 DP card with a Dell 2408 monitor. Conflicts: drivers/gpu/drm/drm_fb_helper.c commit 3f838fc50c0dcdc993c24f6f5da0cda1228fc276 Merge: 3ff9916 22dd501 Author: Dave Airlie Date: Tue Dec 8 14:06:07 2009 +1000 Merge remote branch 'korg/drm-radeon-next' into drm-linus This merges all the radeon changes that weren't reliant on core-next. commit 3ff99164f67aae78a2bd2313f65ad55bddb1ffea Merge: 1bd049f f2b115e Author: Dave Airlie Date: Tue Dec 8 14:03:47 2009 +1000 Merge remote branch 'anholt/drm-intel-next' into drm-linus This merges the upstream Intel tree and fixes up numerous conflicts due to patches merged into Linus tree later in -rc cycle. Conflicts: drivers/char/agp/intel-agp.c drivers/gpu/drm/drm_dp_i2c_helper.c drivers/gpu/drm/i915/i915_irq.c drivers/gpu/drm/i915/i915_suspend.c commit 1bd049fa895f9c6743f38b52ce14775f5a31ea63 Merge: 22763c5 b0a007d Author: Dave Airlie Date: Tue Dec 8 13:52:41 2009 +1000 Merge branch 'drm-core-next' into drm-linus Bring all core drm changes into 2.6.32 tree and resolve the conflict that occurs. Conflicts: drivers/gpu/drm/drm_fb_helper.c commit 2ff6cfd70720780234fdfea636218c2a62b31287 Author: Arnd Bergmann Date: Mon Dec 7 17:12:58 2009 +0100 perf events: hw_breakpoints: Don't include asm/hw_breakpoint.h in user space asm/hw_breakpoint.h is evidently a kernel internal file and should not be included globally, not even under an #ifdef. Reported-by: Geert Uytterhoeven Signed-off-by: Arnd Bergmann Cc: Frederic Weisbecker Cc: Alan Stern Cc: K.Prasad LKML-Reference: <200912071712.58650.arnd@arndb.de> Signed-off-by: Ingo Molnar commit b0a007dc27d8d3ff3db07b3ea997323d9330f770 Author: Ben Skeggs Date: Tue Dec 8 11:15:10 2009 +1000 drm/kms: fix fb cmap allocation to use modeset->crtc not crtc crtc may be undefined at this point. Signed-off-by: Dave Airlie commit d4877cf2293f5463f531769fd12300cb3417c778 Author: Alex Deucher Date: Fri Dec 4 16:56:37 2009 -0500 drm/radeon/kms: enable hpd support This enabled interrupt driven hpd support for all radeon chips. Assuming the hpd pin is wired up correctly, the driver will generate uevents on digital monitor connect and disconnect and retrain DP monitors automatically. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 429770b3e39999c4d025fbcb9959502adc3989d8 Author: Alex Deucher Date: Fri Dec 4 15:26:55 2009 -0500 drm/radeon/kms: add asic callbacks for hpd Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit e0df1ac5c2cf346f4cc335025734978a4d747aa0 Author: Alex Deucher Date: Fri Dec 4 15:12:21 2009 -0500 drm/radeon/kms: add hpd support for r6xx/r7xx/rs780/rs880 asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit dcfdd4083509f9c46b1e92c58c062d50da50580e Author: Alex Deucher Date: Fri Dec 4 15:04:19 2009 -0500 drm/radeon/kms: add hpd support for r5xx/rs600/rs690/rs740 asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 05a05c506f52041daa511f4899b63d21c9457474 Author: Alex Deucher Date: Fri Dec 4 14:53:41 2009 -0500 drm/radeon/kms: add hpd support for r1xx-r4xx asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b500f68045058454549f5f8553110ef086d8d06b Author: Alex Deucher Date: Thu Dec 3 13:08:53 2009 -0500 drm/radeon/kms: add regs and irq tracking bits for hpd Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit eed45b30cd1423f8dc10b4312700773cac13c1c8 Author: Alex Deucher Date: Fri Dec 4 14:45:27 2009 -0500 drm/radeon/kms: get HPD info for connectors This populates the connectors with HPD (Hot Plug Detect) information. This will be used in subsequent patches for automatic digital monitor connect/disconnect handling. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 93b0d8c6b67b7d337509a36dbfcdb6d6eac1ef12 Author: Uwe Kleine-König Date: Tue Nov 24 22:07:11 2009 +0100 ARM: S3C: move s3c_pwm_remove to .devexit.text The function s3c_pwm_remove is used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Uwe Kleine-König Acked-by: Sam Ravnborg Cc: Russell King Cc: Ben Dooks Cc: Peter Korsgaard Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ben Dooks commit 0f13c8248040d6901cfcc542e9de165bb0916525 Author: Ben Dooks Date: Mon Dec 7 14:51:38 2009 +0000 ARM: S3C24XX: Export s3c24xx_set_fiq for modules. Allow s3c24xx_set_fiq() to be exported so that it can be used by modules wanting FIQ support. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit ad4e22fa4762516eef0e3f19a13a86e13fba71e8 Author: Uwe Kleine-König Date: Tue Nov 24 22:07:10 2009 +0100 ARM: S3C: move s3c_adc_remove to .devexit.text The function s3c_adc_remove is used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Uwe Kleine-König Acked-by: Sam Ravnborg Cc: Russell King Acked-By: Ben Dooks Cc: Ramax Lo Cc: Nelson Castillo Cc: linux-kernel@vger.kernel.org Cc: Ben Dooks Cc: Alexey Dobriyan Cc: Ryan Mallon Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ben Dooks commit 53c1e09fea4cf3fc0ec1f735a5fcab78c43cb55d Author: Alex Deucher Date: Fri Nov 27 13:14:37 2009 -0500 drm/radeon/kms: clean up DP debugging Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9fa05c98d69eb77c82e59b5e434ca63bba230ba0 Author: Alex Deucher Date: Fri Nov 27 13:01:46 2009 -0500 drm/radeon/kms: fix DP detect only return connected if there is actually a monitor connected. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit e8696330e2a95e1b5872550dcf3ed04aecaf96b3 Author: Dave Airlie Date: Thu Nov 26 08:57:23 2009 +1000 drm/radeon/kms: drop unused array to fix warning. Signed-off-by: Dave Airlie commit 58682f107ad5178e47a45af3af1851442d05d7fc Author: Dave Airlie Date: Thu Nov 26 08:56:35 2009 +1000 drm/radeon/kms: do dp link training at dpms on time not mode set. This moves the radeon DP link training call to happen when we dpms on the encoder not when we set the mode. Signed-off-by: Dave Airlie commit 5fbfce7fc906c4a9e3d5e0872e5d6affaca54761 Author: Dave Airlie Date: Thu Nov 26 08:55:18 2009 +1000 drm/radeon/kms: make displayport work by reorganising vsemph setup. This fix reorganises the initial DP link training slightly, and actually makes DP work under kms here. Signed-off-by: Dave Airlie commit 54d9cb47dd6a754e434e5adeccb3a1e2835594fd Author: Dave Airlie Date: Thu Nov 26 08:49:17 2009 +1000 drm/radeon/kms/dp: fix return in dpcd retrival. Not returning here caused us to get a display port version of 0 for everything this caused power up to not get sent which ends up in a black screen. Signed-off-by: Dave Airlie commit ffd09c648a76a1cf96872c033e98d4730f9b10a4 Author: Alex Deucher Date: Tue Nov 24 16:13:23 2009 -0500 drm/radeon/kms: free aux channel i2c adapter on destroy Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5801ead6bd6bddf5505d6eab55f84d8ee8106cd8 Author: Alex Deucher Date: Tue Nov 24 13:32:59 2009 -0500 drm/radeon/kms: add support for DP modesetting Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f92a8b6758bdc0f277c4f42aa7d736a205ac9ded Author: Alex Deucher Date: Mon Nov 23 18:40:40 2009 -0500 drm/radeon/kms: handle dp sinks in atom encoder/transmitter tables Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 4143e919ea999c9356ae4f71b5a3a80e075290d5 Author: Alex Deucher Date: Mon Nov 23 18:02:35 2009 -0500 drm/radeon/kms: store sink type in atom dig connector This will be used laster when the encoder and transmitters are set up. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6a93cb250a60af1bb7b4070949f8546a2fdc52ef Author: Alex Deucher Date: Mon Nov 23 17:39:28 2009 -0500 drm/radeon/kms: i2c reorg - keep the atom i2c id in the i2c rec - fix gpio regs for GPIO and MDGPIO on pre-avivo chips - track whether the i2c line is hw capable - track whether the i2c line uses the multimedia i2c block Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 1a66c95a64c9ae0bc8382254f544b24b23f498ec Author: Alex Deucher Date: Fri Nov 20 19:40:13 2009 -0500 drm/radeon/kms: DP fixes and cleanup from the ddx - dpcp -> dpcd - fix up dig encoder routing - aux transaction table takes delay in 10 usec units Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 746c1aa4d100f7441423050f34be79f401fbf7d4 Author: Dave Airlie Date: Tue Dec 8 07:07:28 2009 +1000 drm/radeon/kms: initial radeon displayport porting This is enough to retrieve EDID and DPCP. Signed-off-by: Dave Airlie commit 5618ca6abc2d6f475b258badc017a5254cf43d1b Author: Chris Wilson Date: Wed Dec 2 15:15:30 2009 +0000 drm/i915: Set the error code after failing to insert new offset into mm ht. Signed-off-by: Chris Wilson Cc: stable@kernel.org Signed-off-by: Eric Anholt commit fcffb947668073fd9c47da33f8e72add7f62163d Author: Chris Wilson Date: Wed Dec 2 16:48:57 2009 +0000 drm/i915: Report purgeable status in buffer lists. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit fc61901373987ad61851ed001fe971f3ee8d96a3 Author: David Woodhouse Date: Wed Dec 2 11:00:05 2009 +0000 agp/intel-agp: Clear entire GTT on startup Some BIOSes fail to initialise the GTT, which will cause DMA faults when the IOMMU is enabled. We need to clear the whole thing to point at the scratch page, not just the part that Linux is going to use. Signed-off-by: David Woodhouse [anholt: Note that this may also help with stability in the presence of driver bugs, by not drawing to memory we don't own] Signed-off-by: Eric Anholt commit 447aeb907e417e0e837b4a4026d5081c88b6e8ca Author: Dave Airlie Date: Tue Dec 8 09:25:45 2009 +1000 drm/ttm: fix unreachable code. None of the in-tree drivers use user objects yet so this wasn't hitting us. Stanse found unreachable code in ttm_bo_add_ttm: http://decibel.fi.muni.cz/~xslaby/stanse/error.cgi?db=32&id=714#l238 Reported-by: Jiri Slaby Signed-off-by: Dave Airlie commit ab2c0672984f7f7ebec6d5f615fd5a6ebad26f3d Author: Dave Airlie Date: Fri Dec 4 10:55:24 2009 +1000 drm/intel: refactor DP i2c support and DP common header to drm helper Both radeon and nouveau can re-use this code so move it up a level so they can. However the hw interfaces for aux ch are different enough that the code to translate from mode, address, bytes to actual hw interfaces isn't generic, so move that code into the Intel driver. Signed-off-by: Dave Airlie commit 22dd50133ab7548adb23e86c302d6e8b75817e8c Author: Alex Deucher Date: Sun Dec 6 19:45:17 2009 -0500 drm/radeon/kms: fix vram setup on rs600/rs690/rs740 Don't remap vram to 0 on IGP chips. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f2b115e69d46344ae7afcaad5823496d2a0d8650 Author: Adam Jackson Date: Thu Dec 3 17:14:42 2009 -0500 drm/i915: Fix product names and #defines IGD* isn't a useful name. Replace with the codenames, as sourced from pci.ids. Signed-off-by: Adam Jackson [anholt: Fixed up for merge with pineview/ironlake changes] Signed-off-by: Eric Anholt commit 2a008d0ccde4ce59a2714e132d5f86a0771e6422 Author: Alex Deucher Date: Fri Dec 4 16:35:57 2009 -0500 drm/radeon/kms: more r4xx lvds fixes Grab pll ref div from regs at driver init. r4xx seems very picky about the dividers for the pll driving lvds. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 92cde00cbaf3236ef7ea9bd4f0b43c8c4a3f507f Author: Alex Deucher Date: Fri Dec 4 10:55:12 2009 -0500 drm/radeon/kms/legacy: set common regs to sane value The DDX and radeonfb always set these regs to a sane value. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6b02af1c1f35550ce1a9873841fe9c50b1613591 Author: Alex Deucher Date: Fri Dec 4 10:40:41 2009 -0500 drm/radeon/kms/legacy: set overscan regs on modeset These can end up with garbage otherwise. fixes rh bug 537140 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6a213afd058436dbbd01098d7422c6a0073c39b5 Author: Shahar Or Date: Mon Dec 7 12:05:54 2009 +0200 ath5k: add support for Dell Vostro A860 LED Adds support for the WiFi activity LED on the Dell Vostro A860 laptop. Signed-off-by: Shahar Or Signed-off-by: John W. Linville commit a589296a3592c8879cef8fd13518fed18c5fa5a3 Author: David Kilroy Date: Sun Dec 6 19:28:47 2009 +0000 orinoco: remove spare KERN_DEBUG A KERN_DEBUG didn't get removed when transitioning from printk to pr_debug Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 70d57139f932b9ca21026253d02af71cf53d764a Author: Larry Finger Date: Sat Dec 5 19:25:22 2009 -0600 rtl8187: Fix wrong rfkill switch mask for some models There are different bits used to convey the setting of the rfkill switch to the driver. The current driver only supports one of these possibilities. These changes were derived from the latest version of the vendor driver. This patch fixes the regression noted in kernel Bugzilla #14743. Signed-off-by: Larry Finger Reported-and-tested-by: Antti Kaijanmäki Tested-by: Hin-Tak Leung Cc: Stable Signed-off-by: John W. Linville commit 815833e7ecf0b9a017315cae6aef4d7cd9517681 Author: Felix Fietkau Date: Sat Dec 5 18:08:05 2009 +0100 ath9k: fix tx status reporting This patch fixes a bug in ath9k's tx status check, which caused mac80211 to consider regularly transmitted unicast frames as un-acked. When checking the ts_status field for errors, it needs to be masked with ATH9K_TXERR_FILT, because this field also contains other fields like ATH9K_TX_ACKED. Without this patch, AP mode is pretty much unusable, as hostapd checks the ACK status for the frames that it injects. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 1814077fd12a9cdf478c10076e9c42094e9d9250 Author: Vasanthakumar Thiagarajan Date: Fri Dec 4 17:41:34 2009 +0530 mac80211: Fix bug in computing crc over dynamic IEs in beacon On a 32-bit machine, BIT() macro does not give the required bit value if the bit is mroe than 31. In ieee802_11_parse_elems_crc(), BIT() is suppossed to get the bit value more than 31 (42 (id of ERP_INFO_IE), 37 (CHANNEL_SWITCH_IE), (42), 32 (POWER_CONSTRAINT_IE), 45 (HT_CAP_IE), 61 (HT_INFO_IE)). As we do not get the required bit value for the above IEs, crc over these IEs are never calculated, so any dynamic change in these IEs after the association is not really handled on 32-bit platforms. This patch fixes this issue. Cc: stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 02f7f1793023bd8e5e277ad349f6f43f8c284fb0 Author: Andrew Morton Date: Thu Dec 3 20:45:07 2009 -0800 net/rfkill/core.c: work around gcc-4.0.2 silliness net/rfkill/core.c: In function 'rfkill_type_show': net/rfkill/core.c:610: warning: control may reach end of non-void function 'rfkill_get_type_str' being inlined A gcc bug, but simple enough to squish. Cc: John W. Linville Cc: Johannes Berg Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 16cec43da50c4b4702653ca710549fd3457a4e6c Author: Lennert Buytenhek Date: Mon Nov 30 18:14:23 2009 +0100 mwl8k: don't complain about oversized beacons in FINALIZE_JOIN The FINALIZE_JOIN firmware command only looks at the first couple of fields in the beacon, and therefore it's not necessary to complain if the beacon is longer than 128 bytes. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d1844d77692de3158ad458ed4c7b86d78ab4085e Author: Lennert Buytenhek Date: Mon Nov 30 18:13:56 2009 +0100 mwl8k: don't overwrite mwl8k_vif::bssid until after disassociation When disassociating, mac80211 zeroes vif->bss_info.bssid before calling our ->bss_info_changed(), but we need the BSSID to remove the hardware station database entry for our AP, so we can't clear our local copy of the BSSID until after we've done that. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d8a8dd8f07aed82492c089ad13fd3d7476b692fd Author: Lennert Buytenhek Date: Mon Nov 30 18:13:42 2009 +0100 mwl8k: struct ieee80211_rx_status::qual is deprecated Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3db95e50c8813d8ed04a1ec7cd7b77dba7c81c80 Author: Lennert Buytenhek Date: Mon Nov 30 18:13:34 2009 +0100 mwl8k: don't forget to call pci_disable_device() Don't forget to call pci_disable_device() if pci_request_regions() fails during probe. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 89b872e2e476833cde8aaac658c75817f67e8f81 Author: Lennert Buytenhek Date: Mon Nov 30 18:13:20 2009 +0100 mwl8k: increase firmware loading timeouts The time between loading the helper image and starting to upload the main firmware image should be at least 5 ms or so. We were doing an msleep(1) before, and 1 ms appears to not be enough in almost all cases, but building with HZ=100 has always masked this so far. Bumping the msleep argument to 5 fixes firmware loading e.g. when HZ=1000. Some firmware images need more than 200ms to initialize. Bump the ready code timeout to 500ms to accommodate for this. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 7e1112d34aea10fdd689422e6bdc918309043bf3 Author: Lennert Buytenhek Date: Mon Nov 30 18:13:04 2009 +0100 mwl8k: allow more time for transmit rings to drain Before issuing any firmware commands, we wait for the transmit rings to drain, to prevent control versus data path synchronization issues. In some cases, this can end up taking longer than the current hardcoded limit of 5 seconds, for example if the transmit rings are filled with packets for a host that has dropped off the air and we end up retransmitting every pending packet at the lowest rate a couple of times. This patch changes mwl8k_tx_wait_empty() to only bail out on timeout expiry if there was no change in the number of packets pending in the transmit rings during the waiting period. If at least one transmit ring entry was reclaimed while we were waiting, we are apparently still making progress, and we'll allow waiting for another timeout period. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0c9cc640225f4bd7c9aad87b1431bd8d9a29b338 Author: Lennert Buytenhek Date: Mon Nov 30 18:12:49 2009 +0100 mwl8k: allow more time for firmware commands to complete Some firmware commands can under some circumstances take more than 2 seconds to complete. This patch bumps the timeout up to 10 seconds, and prints a message whenever a command takes more than 2 seconds. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 8e9f33f0ced82a797d285b233e1c956cbd5c7de3 Author: Lennert Buytenhek Date: Mon Nov 30 18:12:35 2009 +0100 mwl8k: properly report rate on received 40MHz packets On 8366, bit 6 in the rx descriptor rate field indicates whether the packet was received on a 20MHz or 40MHz channel, and is not part of the MCS index. Handle this properly, which then prevents hitting the WARN_ON and being dropped in ieee80211_rx(). Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ca00930153c14b323c31b97623ac5c4f7855ed6a Author: Lennert Buytenhek Date: Mon Nov 30 18:12:20 2009 +0100 mwl8k: fix addr4 zeroing and payload overwrite on DMA header creation When inserting a DMA header into a packet for transmission, mwl8k_add_dma_header() would blindly zero the addr4 field, which is not a good idea if the packet being transmitted is actually a 4-address packet. Also, if the transmitted packet was a 4-address with QoS packet, the memmove() to do the needed header reshuffling would inadvertently overwrite the first two bytes of the packet payload with the QoS field. This fixes both of these issues. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 20f09c3df7a8a623c290f62596c1a6b0da088030 Author: Lennert Buytenhek Date: Mon Nov 30 18:12:08 2009 +0100 mwl8k: prevent corruption of QoS field on receive Packets exchanged between the mwl8k driver and the firmware always have a 4-address header without QoS field. For QoS packets, the QoS field is passed to/from the firmware via the tx/rx descriptors. We were handling this correctly on transmit, but not on receive -- if a QoS packet was received, we would leave garbage in the QoS field in the packet passed up to the stack, which is Bad(tm). Also, if the packet received on the air was a 4-address without QoS packet, we would forget to skb_pull the 2-byte DMA length prefix off. This patch adds an argument to the ->rxd_process() receive descriptor operation to retrieve the QoS field from the receive descriptor, and extends mwl8k_remove_dma_header() to insert this field back into the packet if the packet received is a QoS packet. It also fixes mwl8k_remove_dma_header() to strip off the length prefix in all cases. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 140eb5e2c1978622d7cd979d59a1c0586fe3bbdb Author: Lennert Buytenhek Date: Mon Nov 30 18:11:44 2009 +0100 mwl8k: fix UPDATE_STADB command struct legacy_rates array length There exist 12 802.11b/g rates, but mwl8k supports two additional (non-standard) rates, and includes those rates in rate bitmasks and in its internal rate table that hardware rate indices index. Commit "mwl8k: report rate and other information for received frames" added one of the nonstandard rates to the mwl8k_rates table to make the OFDM rates in the table line up with the rate indices that are reported in the receive descriptor (so that we can just simply copy the receive descriptor rate index into ieee80211_rx_status::rate_idx) and bumped MWL8K_IEEE_LEGACY_DATA_RATES from 12 to 13, but this screwed up the UPDATE_STADB command struct layout, as it also uses that define, for its legacy_rates array. To avoid having to convert rate indices and legacy rate bitmaps (e.g. ieee80211_bss_conf::basic_rates) between the 12-rate mac80211 format and the 14-rate mwl8k format, we'll report all 14 rates in our wiphy's band, but filter out the nonstandard ones e.g. in the case of the UPDATE_STADB command which only accepts 12 rates. In the commands that accept 14 rates (SET_AID, SET_RATE), replace the use of the MWL8K_RATE_INDEX_MAX_ARRAY define in the command struct by the constant 14, to make it clearer that these commands accept 14 rates. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0b5351a8e86292dfac1ca1451deaadb416a33cb8 Author: Lennert Buytenhek Date: Mon Nov 30 18:11:18 2009 +0100 mwl8k: fix MCS bitmap size in SET_RATE command The MCS bitmaps in the SET_RATE command structure were of the wrong size, due to use of the wrong define for the array length. Just hardcode the lengths as 16, and do the same for the MCS bitmaps in other command structures. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 7c3f4bbedc241ddcd3abe1f419c356e625231da1 Author: Vivek Natarajan Date: Mon Nov 30 16:50:53 2009 +0530 mac80211: Fix dynamic power save for scanning. Not only ps_sdata but also IEEE80211_CONF_PS is to be considered before restoring PS in scan_ps_disable(). For instance, when ps_sdata is set but CONF_PS is not set just because the dynamic timer is still running, a sw scan leads to setting of CONF_PS in scan_ps_disable instead of restarting the dynamic PS timer. Also for the above case, a null data frame is to be sent after returning to operating channel which was not happening with the current implementation. This patch fixes this too. Signed-off-by: Vivek Natarajan Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit bc83b6819289c031c439a5aa18ba0fd539d14f3e Author: Johannes Berg Date: Sun Nov 29 12:19:06 2009 +0100 mac80211: recalculate idle later in MLME hwsim testing has revealed that when the MLME recalculates the idle state of the device, it sometimes does so before sending the final deauthentication or disassociation frame. This patch changes the place where the idle state is recalculated, but of course driver transmit is typically asynchronous while configuration is expected to be synchronous, so it doesn't fix all possible cases yet. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c14589eb3080636a2f71ebaf21ab9fd70ffc20cc Author: Kalle Valo Date: Thu Nov 26 10:56:13 2009 +0200 wl1251: don't build null data template in wl1251_op_config() The bssid can be zero when null data template is set in wl1251_op_config(). It's enough, and especially safe, to set it once after association. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit de8df1ea489d80106ea82d4a6323e83d376913fb Author: Kalle Valo Date: Thu Nov 26 10:56:06 2009 +0200 wl1251: fix bssid handling bssid needs to be copied first in wl1251_op_bss_info_changed(), otherwise templates will have incorrect bssid and power save will not work correctly. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e84217a9fc6264fe4e73fc85cdfff185b71b7443 Author: Kalle Valo Date: Thu Nov 26 10:55:55 2009 +0200 wl1251: remove false warning messages There was a warning from wl1251_op_bss_info_changed(): wl1251: WARNING Set ctsprotect failed 0 It was printed always, it's completely false and can be removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9b1cb21c36b39057ec28a8b551f301449e5c51bb Author: John W. Linville Date: Mon Dec 7 16:37:42 2009 -0500 iwlwifi: fix warning from ieee80211_stop_tx_ba_cb_irqsafe argument change CC [M] drivers/net/wireless/iwlwifi/iwl-tx.o drivers/net/wireless/iwlwifi/iwl-tx.c: In function ‘iwl_tx_agg_stop’: drivers/net/wireless/iwlwifi/iwl-tx.c:1356: warning: passing argument 1 of ‘ieee80211_stop_tx_ba_cb_irqsafe’ from incompatible pointer type include/net/mac80211.h:2128: note: expected ‘struct ieee80211_vif *’ but argument is of type ‘struct ieee80211_hw *’ Signed-off-by: John W. Linville commit d904ef9b00a4473af16766e99f17bdbb5f0fde65 Author: Dave Airlie Date: Tue Nov 17 06:29:46 2009 +1000 drm/radeon/kms: add support to atom parser for FB read/write FB read/write really doesn't need to access the actual VRAM, we can just use a scratch area. This is required for using atom displayport calls later. Signed-off-by: Dave Airlie commit 107f517b8f2a9d5858e640bc046606b1cff14bb5 Author: Adam Jackson Date: Thu Dec 3 17:14:41 2009 -0500 agp/intel: Fix product names and #defines IGD* isn't a useful name. Replace with the codenames, as sourced from pci.ids. Signed-off-by: Adam Jackson Signed-off-by: Eric Anholt commit f84676185368e36c6bc0eeab87ab73ed39042648 Merge: 22dd501 447aeb9 Author: Dave Airlie Date: Tue Dec 8 07:03:55 2009 +1000 Merge remote branch 'origin/drm-core-next' into test Conflicts: drivers/gpu/drm/drm_fb_helper.c commit ffb4728095b030f0885ea8e0907ee4ac57b130ee Author: Chris Wilson Date: Mon Dec 7 11:34:08 2009 +0000 drm/i915: Drop a some common DRM_ERROR() These are handled by the error return being propagated to user-space and do not any add any information to the original error, so are useless. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 85364905f9ae12d19cb34099257d493e5d9a0c4e Author: Jesse Barnes Date: Thu Dec 3 09:52:43 2009 -0800 drm/i915: warn if Pineview CxSR can't be enabled If we don't detect a supported memory configuration, we can't enable CxSR. Warn the user in this case so they can file a bug. commit 22fd0fab3b512b5fcb4fd0b0668deeaa701511f9 Author: Jesse Barnes Date: Wed Dec 2 13:42:53 2009 -0800 drm/i915: pageflip fixes This patch brings the tree up to date with some fixes that were in a more recent version of the page flipping patch you applied. It fixes pre-965 flip support, removes a leftover hack that forced alignment, and initializes the pipe & plane CRTC mappings. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 878eaddd05d251cefa9632c2b8046833c5eead66 Author: Vivek Goyal Date: Mon Dec 7 19:37:15 2009 +0100 cfq-iosched: Do not access cfqq after freeing it Fix a crash during boot reported by Jeff Moyer. Fix the issue of accessing cfqq after freeing it. Reported-by: Jeff Moyer Signed-off-by: Vivek Goyal Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit 986a42a25059143d153e30a0cc36630bd0e623c6 Author: Borislav Petkov Date: Wed Nov 11 20:42:46 2009 +0100 amd64_edac: remove early hw support check The .probe_valid_hardware low_ops member checked whether the DCTs are in DDR3 mode and bailed out if so. Now that all the needed changes for DDR3 support is in place, remove it. Signed-off-by: Borislav Petkov commit 6b4c0bdeb00f35cad2d3e0dc0d97bb4950a8f86e Author: Borislav Petkov Date: Thu Nov 12 15:37:57 2009 +0100 amd64_edac: detect DDR3 memory type Signed-off-by: Borislav Petkov commit 239642fe19adc19ba0a69e96f3b1904dfd6a3b9f Author: Borislav Petkov Date: Thu Nov 12 15:33:16 2009 +0100 edac: add memory types strings for debugging Instead of using deeply-nested conditionals for dumping the DIMM type in debug mode, add a strings array of the supported DIMM types. This is useful in cases where an edac driver supports multiple DRAM types and is only defined in debug builds. Signed-off-by: Borislav Petkov commit cec7924f568eddcccdbfd814b136554b1b8dc624 Author: Borislav Petkov Date: Tue Oct 27 19:12:02 2009 +0100 edac, mce: update AMD F10h revD check F10h revD start with model number 8. Signed-off-by: Borislav Petkov commit 1f6bcee75e83bc5b580bfa5b909b1b5ce106b800 Author: Borislav Petkov Date: Fri Nov 13 14:02:57 2009 +0100 amd64_edac: remove unneeded extract_error_address wrapper Signed-off-by: Borislav Petkov commit 44e9e2ee2196fdec9893371d36c33e703965f804 Author: Borislav Petkov Date: Mon Oct 26 15:00:19 2009 +0100 amd64_edac: rename StinkyIdentifier SystemAddress -> sys_addr Signed-off-by: Borislav Petkov commit ad858bfa14277a22a343bb89e99c9af0a97fc456 Author: Borislav Petkov Date: Mon Oct 26 14:55:56 2009 +0100 amd64_edac: remove superfluous dbg printk Signed-off-by: Borislav Petkov commit 1433eb9903408d1801d19a9c49893120874abc12 Author: Borislav Petkov Date: Wed Oct 21 13:44:36 2009 +0200 amd64_edac: enhance address to DRAM bank mapping Add cs mode to cs size mapping tables for DDR2 and DDR3 and F10 and all K8 flavors and remove klugdy table of pseudo values. Add a low_ops->dbam_to_cs member which is family-specific and replaces low_ops->dbam_map_to_pages since the pages calculation is a one liner now. Further cleanups, while at it: - shorten family name defines - align amd64_family_types struct members Signed-off-by: Borislav Petkov commit d16149e8c378ab7011e600980af51d2477aa5307 Author: Borislav Petkov Date: Fri Oct 16 19:55:49 2009 +0200 amd64_edac: cleanup f10_early_channel_count Do not read DCLR[01] again since this is done in amd64_read_mc_registers() earlier. There can be more than two physical DIMMs present so clamp the channels value to max 2. Also, do not report DCT data width - it is also done earlier. Signed-off-by: Borislav Petkov commit 8566c4df1690f3862ae338a4c533f4bb5a863f9a Author: Borislav Petkov Date: Fri Oct 16 13:48:28 2009 +0200 amd64_edac: dump DIMM sizes on K8 too Extend f10_debug_display_dimm_sizes to dump the logical DIMMs configuration on K8 revF too. Remove the ganged arg since we print the DCT operating mode (ganged vs unganged) earlier. Also, DCT csrow configuration is relevant therefore dump it as KERN_DEBUG instead of only on debug builds. Remove misleading DIMM output since there's no reliable way of mapping of chip selects to actual physical DIMMs. Signed-off-by: Borislav Petkov commit 8de1d91e628c19c1154ca15b1ea1fcc0a098b793 Author: Borislav Petkov Date: Fri Oct 16 13:39:30 2009 +0200 amd64_edac: cleanup rest of amd64_dump_misc_regs Clarify bitfields description, add PCI config function/offset names to registers for easy reference, simplify code layout, remove unneeded info. Signed-off-by: Borislav Petkov commit 68798e176012750fe8487bcfa0aa66fee21eae3c Author: Borislav Petkov Date: Tue Nov 3 16:18:33 2009 +0100 amd64_edac: cleanup DRAM cfg low debug output Carve out the register-specific debug statements into a separate function, clarify meanings of the single bitfields in the register, remove irrelevant output and macros. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov commit 6ba5dcdc44624677bba0bef1dcb93a524f88f8c1 Author: Borislav Petkov Date: Tue Oct 13 19:26:55 2009 +0200 amd64_edac: wrap-up pci config read error handling Add a pci config read wrapper for signaling pci config space access errors instead of them being visible only on a debug build. This is important on amd64_edac since it uses all those pci config register values to access the DRAM/DIMM configuration of the nodes. In addition, the wrapper makes a _lot_ (look at the diffstat!) of error handling code superfluous and improves much of the overall code readability by removing error handling details out of the way. Signed-off-by: Borislav Petkov commit f6d6ae965760906d79ab29bc38507608c5971549 Author: Borislav Petkov Date: Tue Nov 3 15:29:26 2009 +0100 amd64_edac: unify MCGCTL ECC switching Unify almost identical code into one function and remove NUMA-specific usage (specifically cpumask_of_node()) in favor of generic topology methods. Remove unused defines, while at it. Signed-off-by: Borislav Petkov commit ba578cb34a71fb08fff14ac0796b934a8c9991e1 Author: Rusty Russell Date: Tue Nov 3 14:56:35 2009 +1030 cpumask: use modern cpumask style in drivers/edac/amd64_edac.c cpumask_t -> struct cpumask, and don't put one on the stack. (Note: this is actually on the stack unless CONFIG_CPUMASK_OFFSTACK=y). Signed-off-by: Rusty Russell Signed-off-by: Borislav Petkov commit e97f8bb8ce5611a855c5a0dba949706ec37d4155 Author: Borislav Petkov Date: Mon Oct 12 15:27:45 2009 +0200 amd64_edac: make DRAM regions output more human-readable Do not shift the TOP_MEM and TOP_MEM2 values by 23 but rather save the whole 64-bit value read from the MSR. Although the TOP_MEM/TOP_MEM2 bits are only a subset of the 64bit register, the values are correct since the remaining bits are Read-As-Zero and no shifting is needed. Also, cleanup DRAM base/limit debug output. Signed-off-by: Borislav Petkov commit 72381bd55e4ce2aaed8660551e8f56a2c959c11f Author: Borislav Petkov Date: Fri Oct 9 19:14:43 2009 +0200 amd64_edac: clarify DRAM CTL debug reporting Make debug info formulations about the DRAM and DCT configuration of the machine more human readable. Signed-off-by: Borislav Petkov commit d014d043869cdc591f3a33243d3481fa4479c2d0 Merge: 6ec22f9 6070d81 Author: Jiri Kosina Date: Mon Dec 7 18:36:35 2009 +0100 Merge branch 'for-next' into for-linus Conflicts: kernel/irq/chip.c commit d3a2dbf844d81b4b9c9ad6044563c294e7a48cac Author: Masami Hiramatsu Date: Mon Dec 7 12:00:59 2009 -0500 perf probe: Use pr_debug for debug message Use pr_debug() for "missing vmlinux" debugging message. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091207170059.19230.51459.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 849884508ecbe2d220131840e4cc7c32ca24ebe3 Author: Masami Hiramatsu Date: Mon Dec 7 12:00:53 2009 -0500 perf probe: Check e_snprintf() format string Check e_snprintf() format string by gcc, and fix a bug of e_snprintf() caller. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091207170053.19230.7690.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit e1d2017b24fb31602f1128e6a8b2afc54c9283cd Author: Masami Hiramatsu Date: Mon Dec 7 12:00:46 2009 -0500 perf probe: Fix event namelist to duplicate string Fix event namelist to duplicate string. Without duplicating, adding multiple probes causes stack overwrite bug, because it reuses a buffer on stack while the buffer is already added in the namelist. String duplication solves this bug because only contents of the buffer is copied to the namelist. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091207170046.19230.55557.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d56728b8d7fb3e1e5e5f97b88fdf6b43a35b4f5e Author: Juha Leppanen Date: Mon Dec 7 12:00:40 2009 -0500 perf probe: Fix strtailcmp() to compare s1and s2[0] Fix strtailcmp() to compare s1[0] and s2[0]. strtailcmp() returns 0 if "a" and "b" or "a" and "ab", it's a wrong behavior. This patch fixes it. Signed-off-by: "Juha Leppanen" Acked-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Juha Leppanen Cc: Frederic Weisbecker LKML-Reference: <20091207170040.19230.37464.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d32ba45503acf9c23b301eba2397ca2ee322627b Author: Masami Hiramatsu Date: Mon Dec 7 12:00:33 2009 -0500 x86 insn: Delete empty or incomplete inat-tables.c Delete empty or incomplete inat-tables.c if gen-insn-attr-x86.awk failed, because it causes a build error if user tries to build kernel next time. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jens Axboe Cc: Frederic Weisbecker LKML-Reference: <20091207170033.19230.37688.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 447753d97764b0ae3969936ec495e794baa88052 Merge: 6ec22f9 6c85773 24985cf 9db630b Author: Jiri Kosina Date: Mon Dec 7 18:30:49 2009 +0100 Merge branches 'bkl-removal', 'upstream' and 'upstream-fixes' into for-linus commit 1f26978afd123deb22dd3c7dc75771a02f6e03f6 Author: Johannes Berg Date: Sun Dec 6 11:42:09 2009 -0800 Input: appletouch - give up maintainership I no longer have a machine with this, and as such am not really able to help out with this driver any more. Remove the entire appletouch section and let the driver fall under the general input subsystem. Signed-off-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit 6604072798da52547111cc06afacb8d9f2a907cf Author: Dmitry Torokhov Date: Fri Dec 4 10:22:25 2009 -0800 Input: dm355evm_kbd - switch to using sparse keymap library Signed-off-by: Dmitry Torokhov commit e97af4cbbe500e6a3f4e189fe9324c5b99192dd6 Author: Dmitry Torokhov Date: Fri Dec 4 10:22:24 2009 -0800 Input: wistron_btns - switch to using sparse keymap library The keymap manipulation code was split into a library module, so let's make us of it. Signed-off-by: Dmitry Torokhov commit 36203c4f3d091b5f6c082663bd1f74273798043a Author: Dmitry Torokhov Date: Fri Dec 4 10:22:23 2009 -0800 Input: add generic support for sparse keymaps More and more devices choose to reimplement support for sparse keymaps first introduced by wistron driver. Move it into a library module so it can be easily used by interested parties. Reviewed-by: Anisse Astier Signed-off-by: Dmitry Torokhov commit c521efd1700a8c0f7ce26f011f5eaecca17fabfa Author: Steven Rostedt Date: Mon Dec 7 09:06:24 2009 -0500 tracing: Add pipe_close interface An ftrace plugin can add a pipe_open interface when the user opens trace_pipe. But if the plugin allocates something within the pipe_open it can not free it because there exists no pipe_close. The hook to the trace file open has a corresponding close. The closing of the trace_pipe file should also have a corresponding close. Signed-off-by: Steven Rostedt commit 1b52f2a41c41052d2a7c78af0bd9b8b11d70f49a Author: Jeff Garzik Date: Mon Dec 7 11:41:25 2009 -0500 Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips" This reverts commit f20941f334d8fdb6b598658979709b4e94cd034b. Sergei Shtylyov notes "You call min() on uncomparables [in mwdma_clip_to_pio()], i.e. mwdma_to_pio[] contains XFER_PIO_* and adev->pio_mode - XFER_PIO_0 yields you a mode number. Thus the second argument will always "win" as a minimal one" Bartlomiej Zolnierkiewicz adds "There are more issues with the patch related to mwdma_clip_to_pio(). The function can return values between 0 and 4 which obviously won't work well for the new code below for values >2 (i.e. resulting in out-of-bounds array access for the common-case of dev->pio_mode == XFER_PIO_4)." Bartlomiej Zolnierkiewicz also notes the patch is incomplete, failing to update MWDMA mode masks. Signed-off-by: Jeff Garzik commit a946d8f11f0da9cfc714248036fcfd3a794d1e27 Author: Thomas Gleixner Date: Mon Dec 7 12:59:46 2009 +0100 x86: Fix bogus warning in apic_noop.apic_write() apic_noop is used to provide dummy apic functions. It's installed when the CPU has no APIC or when the APIC is disabled on the kernel command line. The apic_noop implementation of apic_write() warns when the CPU has an APIC or when the APIC is not disabled. That's bogus. The warning should only happen when the CPU has an APIC _AND_ the APIC is not disabled. apic_noop.apic_read() has the correct check. Signed-off-by: Thomas Gleixner Cc: Cyrill Gorcunov Cc: # in <= .32 this typo resides in native_apic_write_dummy() LKML-Reference: Signed-off-by: Ingo Molnar commit f3d607c6b39bd9cb5000e03e2c0dc2afe1241374 Merge: 8055039 6ec22f9 Author: Ingo Molnar Date: Mon Dec 7 13:14:12 2009 +0100 Merge branch 'linus' into x86/urgent Merge reason: we want to queue up a dependent fix. Signed-off-by: Ingo Molnar commit 42d61b9b415686d81eaa022b846737548876e51d Author: Heiko Carstens Date: Mon Dec 7 12:52:25 2009 +0100 [S390] 3215/3270 console: remove wrong comment When converting these two drivers from bootmem to slab allocations I forgot to remove two comments which state that this wouldn't be possible. So remove them now since this caused confusion already. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5e24eb08e8f4df1f6ef913b6ff94c16b9c51d85a Author: Martin Schwidefsky Date: Mon Dec 7 12:52:24 2009 +0100 [S390] dasd: remove BKL from extended error reporting code Signed-off-by: Martin Schwidefsky commit 3b47f9d5ec646bc50148c664ce5895ff9837699f Author: Martin Schwidefsky Date: Mon Dec 7 12:52:23 2009 +0100 [S390] vmlogrdr: remove BKL Signed-off-by: Martin Schwidefsky commit 3c492d2033f4c67e967e85ff46b8ebac0c5c4036 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:22 2009 +0100 [S390] vmur: remove BKL Signed-off-by: Martin Schwidefsky commit b8ccc51f6fc6cde3644b4a2159fb57fe6c38d465 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:21 2009 +0100 [S390] zcrypt: remove BKL Signed-off-by: Martin Schwidefsky commit 5cbb5f579e5b6f2e686880ffafa64e49323320c1 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:20 2009 +0100 [S390] 3270: remove BKL Replace BLK use in fs3270 with mutex. Signed-off-by: Martin Schwidefsky commit feb5c5a450a5e56f3be09a18b541996c86bd94bc Author: Gerald Schaefer Date: Mon Dec 7 12:52:19 2009 +0100 [S390] vmwatchdog: remove lock_kernel() from open() function The lock_kernel() calls in the open() function are unnecessary because misc_register() is called last in module_init() and concurrent open() calls are handled by other means. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 801f97b7da9dff4aace7111bfe0d073caf5febd2 Author: Gerald Schaefer Date: Mon Dec 7 12:52:18 2009 +0100 [S390] monwriter: remove lock_kernel() from open() function The lock_kernel() calls in the open() function are unnecessary because misc_register() is called last in module_init() and concurrent open() calls are handled by other means. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 1963403aae0fc5a4e20cf2e51e4f0148fdf938b4 Author: Gerald Schaefer Date: Mon Dec 7 12:52:17 2009 +0100 [S390] monreader: remove lock_kernel() from open() function The lock_kernel() calls in the open() function are unnecessary because misc_register() is called last in module_init() and concurrent open() calls are handled by other means. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 2da3cf9755ea992a18650860fde74e3bfa8c8b65 Author: Boaz Harrosh Date: Mon Dec 7 12:52:16 2009 +0100 [S390] s390: remove unused nfsd #includes Some unused includes removed. This patch is in an effort to cleanup nfsd headers and move private definitions to source directory. Signed-off-by: Boaz Harrosh Signed-off-by: Martin Schwidefsky commit b0694685bc892c60009335e61af1f058f06ccf64 Author: Aristeu Rozanski Date: Mon Dec 7 12:52:15 2009 +0100 [S390] ftrace: build ftrace.o when CONFIG_FTRACE_SYSCALLS is set for s390 Trying to build a s390x kernel with CONFIG_FTRACE_SYSCALLS will fail because ftrace.o is not built/linked. Acked-by: Frederic Weisbecker Signed-off-by: Aristeu Rozanski Signed-off-by: Martin Schwidefsky commit bd119ee29b447c521d66f6a5095fd3533d845da7 Author: Heiko Carstens Date: Mon Dec 7 12:52:14 2009 +0100 [S390] etr/stp: put correct per cpu variable Fix this compile error in linux-next: arch/s390/kernel/time.c: In function 'get_sync_clock': arch/s390/kernel/time.c:337: error: 'clock_sync_sync' undeclared (first use in this function) Gets exposed because the new per cpu code references the variable passed to put_cpu_var. This was not a real bug. Reported-by: Sachin Sant Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9d4bfd418503e90789bbc6685ddde994e613214d Author: Arnd Bergmann Date: Mon Dec 7 12:52:13 2009 +0100 [S390] tty3270: move keyboard compat ioctls All keyboard ioctls are compatible, so we can simply move the compat handling into the vt and tty3270 drivers. Signed-off-by: Arnd Bergmann Signed-off-by: Martin Schwidefsky commit cb9d71604a6e3d6aa93bb663747a62fc520da483 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:12 2009 +0100 [S390] sclp: improve servicability setting Set dump indicator on read-scp-info command to get meaningful dumps. Signed-off-by: Martin Schwidefsky commit 6a985c6194017de2c062916ad1cd00dee0302c40 Author: Christian Borntraeger Date: Mon Dec 7 12:52:11 2009 +0100 [S390] s390: use change recording override for kernel mapping We dont need the dirty bit if a write access is done via the kernel mapping. In that case SetPageDirty and friends are used anyway, no need to do that a second time. We can use the change-recording overide function for the kernel mapping, if available. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a968cd3ef1d315b8c4c48ea65ab5aac8421c2612 Author: Joe Perches Date: Mon Dec 7 12:52:10 2009 +0100 [S390] MAINTAINERS: Add s390 drivers block There are currently 4 directories in drivers/s390 (block, char, cio, kvm) without maintainers. Add drivers/s390/ to the s390 kvm section. Add the rest to the default s390 section. Add a W: link for drivers/s390/crypto/ Signed-off-by: Joe Perches Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2f319a5249830392090896cd794fabf9d6d4a4ed Author: Christian Borntraeger Date: Mon Dec 7 12:52:09 2009 +0100 [S390] use generic sockios.h header file A compare shows that arch/s390/include/asm/sockios.h is the same as include/asm-generic/sockios.h. This patch lets arch/s390/include/asm/ termbits.h include the generic header. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit df27d7baf6fadfc7a2a5e57e7ea43010dc819096 Author: Christian Borntraeger Date: Mon Dec 7 12:52:08 2009 +0100 [S390] use generic termbits.h header file A compare shows that arch/s390/include/asm/termbits.h is the same as include/asm-generic.h. This patch lets arch/s390/include/asm/termbits.h include the generic header. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit c20c89a692872a4090b1004e6554fdc282baf72f Author: Heiko Carstens Date: Mon Dec 7 12:52:07 2009 +0100 [S390] smp: remove unused typedef and defines Remove unused typedef, defines, update copyright, remove unneeded includes, remove unneeded ifdefs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 52b169c864ea8622c4755172844fd24168c81195 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:06 2009 +0100 [S390] cmm: free pages on hibernate. The pages allocated by the cmm memory balloon should be freed before the hibernation image is created. Otherwise the memory reserved by the balloon gets written to the swap device but there is no content in these pages that need to be preserved. Signed-off-by: Martin Schwidefsky commit 39475179d40996b4efa662e3825735a84d2526d1 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:05 2009 +0100 [S390] Improve code generated by atomic operations. Git commit ea435467500612636f8f4fb639ff6e76b2496e4b changed the definition of atomic_t and atomic64_t for s390 by adding the volatile modifier to the counter field. This has an unfortunate side effect with newer versions of the gcc. The typeof operator now picks up the volatile modifier from the expression. This causes the compiler to think that it has to store the two temporary variable old_val and new_val in the __CS_LOOP for the different atomic operations to the stack as the variables are now volatile. Both stores are superfluous. The hack to replace typeof(ptr->counter) with int in __CS_LOOP and and long long in __CSG_LOOP avoids the two stores. A better solution would be to drop the volatile from the counter field of the atomic_t and atomic64_t definition. But that is a touchy subject .. Cc: Matthew Wilcox Signed-off-by: Martin Schwidefsky commit 369a46325d07061e0f66e16a1f59ef4f526a6464 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:04 2009 +0100 [S390] tape: remove BKL from tape driver Replace BLK with a per device mutex. Signed-off-by: Martin Schwidefsky commit 8fd138c366a8a302d9da8a428c6e927c8bff7d35 Author: Martin Schwidefsky Date: Mon Dec 7 12:52:03 2009 +0100 [S390] tape: cleanup reference counting Rename tape_get_device to tape_find_device and tape_get_device_reference to tape_get_device. The old names didn't make too much sense. Follow the get_device()/put_device() semantic and convert tape_put_device to a void function. Signed-off-by: Martin Schwidefsky commit 1b52fff059d660d4bf83d97c389dd80f1e6aad9a Author: Martin Schwidefsky Date: Mon Dec 7 12:52:02 2009 +0100 [S390] tape: fix tape remove function Fix a bug introduced with git commit dff59b64af94dc58: - if (cdev->dev.driver_data != NULL) { + if (!dev_get_drvdata(&cdev->dev)) { These two are not equivalent. Signed-off-by: Martin Schwidefsky commit c1b283d55d1806680e3ad1cfbef581afecbea5cb Author: Martin Schwidefsky Date: Mon Dec 7 12:52:01 2009 +0100 [S390] tape: remove f_pos changes from read / write function. The change to f_pos in the read / write method has no effect as the value is controlled by the VFS layer, e.g. for vfs_read: loff_t pos = file_pos_read(file); ret = vfs_read(file, buf, count, &pos); file_pos_write(file, pos); Signed-off-by: Martin Schwidefsky commit 93521314cb3132f40a4bf6d76b4bbcdbc9e59dfb Author: Felix Beck Date: Mon Dec 7 12:52:00 2009 +0100 [S390] zcrypt: Do not simultaneously schedule hrtimer Protect the hrtimer ap_poll_timer from being scheduled at the same time from several processes. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 7a6f5cd07ee5648f5768637ff082133384af415c Author: Felix Beck Date: Mon Dec 7 12:51:59 2009 +0100 [S390] zcrypt: adjust speed rating of cex3 adapters Cex3 needs a lower speed rating. Otherwise cex2 adapters will be prefered. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 18278dffc18d3b22dedd6285b2bb491329d888f5 Author: Felix Beck Date: Mon Dec 7 12:51:58 2009 +0100 [S390] zcrypt: adjust speed rating between cex2 and pcixcc Cards with lower speed rating are prefered. Thus change adjust the speed rating of cex2c adapters to be prefered before pcixcc, although they should not appear in the same machine anyway. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 8e89b6be76927751af5608490158100974b339e6 Author: Felix Beck Date: Mon Dec 7 12:51:57 2009 +0100 [S390] zcrypt: use definitions for cex3 New definitions are added for CEX3 device types. They will be set in the according probe functions. CEX3 device types will be handled in the same modules as CEX2 device types. In the first step they are the same as CEX2 types, but they can be adjusted for further characteristics of CEX3 easily. Signed-off-by: Felix Beck Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit ffda4f719866bb10a8edb7de3e6bf564ff7c3de4 Author: Felix Beck Date: Mon Dec 7 12:51:56 2009 +0100 [S390] zcrypt: add support for cex3 device types This patch renames the CEX2C2 and CEX2A2 types to CEX3 device types. Signed-off-by: Felix Beck Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit a6a5d73a56540b5e59dff83bc8f2b2725591346a Author: Felix Beck Date: Mon Dec 7 12:51:55 2009 +0100 [S390] zcrypt: special command support for cex3 exploitation Support for special command is implemented in the AP Bus in the NQAP function __ap_send. This is extended for a further parameter special. When set, the special bit, in GR0 will be set. Therefor the ap_message struct is extended for a further bit. Thus calling functions of __ap_send can use the special parameter in ap_message to give to __ap_send. Affected is in the first place ap_queue_message, which is called by the actual card driver. The second part of this support is that the card driver for the CEX3C needs to set this special bit, when an according CPRB is sent to the driver. Signed-off-by: Felix Beck Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 468ffddf19c1417947cac931c240b0d600e4b5bf Author: Felix Beck Date: Mon Dec 7 12:51:54 2009 +0100 [S390] zcrypt: initialize ap_messages for cex3 exploitation AP messages need to be initialized, before they will be used. Values will be zeroized. This will be needed later when introducing support for the special commands. Signed-off-by: Felix Beck Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit f4ac1d0255748fe0f8e128a26b1c29490cae5c08 Author: Stefan Weinhuber Date: Mon Dec 7 12:51:53 2009 +0100 [S390] dasd: let device initialization wait for LCU setup The first DASD that is set online for a specific logical control unit has to do certain setup steps on the storage server to make full use of it, for example it will enable PAV. The features and characteristics reported by the storage server will depend on this setup, so all other devices on the same LCU will need to wait for the setup to be finished. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit b8ed5dd54895647c2690575aad6f07748c2c618a Author: Stefan Haberland Date: Mon Dec 7 12:51:52 2009 +0100 [S390] dasd: remove strings from s390dbf Remove strings from s390 debugfeature entries that could lead to a crash when the data is read from dbf because the strings do not exist any more. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit eb6e199bef288611157b8198c25d12b32bf058d0 Author: Stefan Weinhuber Date: Mon Dec 7 12:51:51 2009 +0100 [S390] dasd: improve error recovery for internal I/O Most of the error conditions reported by a FICON storage server indicate situations which can be recovered. Sometimes the host just needs to retry an I/O request, but sometimes the recovery is more complex and requires the device driver to wait, choose a different path, etc. The DASD device driver has a fully featured error recovery for normal block layer I/O, but not for internal I/O request which are for example used during the device bring up. This can lead to situations where the IPL of a system fails because DASD devices are not properly recognized. This patch will extend the internal I/O handling to use the existing error recovery procedures. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 626350b63ef2cd447023d3dc2a34eaa7ca01bfff Author: Stefan Weinhuber Date: Mon Dec 7 12:51:50 2009 +0100 [S390] dasd: enable prefix independent of pav support The DASD device driver needs to explicitly enable the prefix command on the storage server, before it can be used. Originally we enabled this command along with others only if we wanted to support PAV. However, today we require this command for other features like High Performance FICON as well, so we need to always enable prefix. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 779c27820a6bd53523a34551aa6004045a060dcf Author: Christian Borntraeger Date: Mon Dec 7 12:51:49 2009 +0100 [S390] dasd: remove dead code the todclk.h header file is dead code. Remove it. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 22825ab7693fd29769518a0d25ba43c01a50092a Author: Stefan Weinhuber Date: Mon Dec 7 12:51:48 2009 +0100 [S390] dasd: support DIAG access for read-only devices When a DASD device is used with the DIAG discipline, the DIAG initialization will indicate success or error with a respective return code. So far we have interpreted a return code of 4 as error, but it actually means that the initialization was successful, but the device is read-only. To allow read-only devices to be used with DIAG we need to accept a return code of 4 as success. Re-initialization of the DIAG access is also part of the DIAG error recovery. If we find that the access mode of a device has been changed from writable to read-only while the device was in use, we print an error message. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 6c1e3e79430615d0472dbf9f8fed89c571e66423 Author: Gerald Schaefer Date: Mon Dec 7 12:51:47 2009 +0100 [S390] Use do_exception() in pagetable walk usercopy functions. The pagetable walk usercopy functions have used a modified copy of the do_exception() function for fault handling. This lead to inconsistencies with recent changes to do_exception(), e.g. performance counters. This patch changes the pagetable walk usercopy code to call do_exception() directly, eliminating the redundancy. A new parameter is added to do_exception() to specify the fault address. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 1ab947de293f43812276b60cf9fa21127e7a5bb2 Author: Martin Schwidefsky Date: Mon Dec 7 12:51:46 2009 +0100 [S390] fault handler access flags check. Simplify the check of the vma->flags in do_exception for the different fault types. Signed-off-by: Martin Schwidefsky commit 50d7280d430484a890ddcadc7f738b5b6dd28bf1 Author: Martin Schwidefsky Date: Mon Dec 7 12:51:45 2009 +0100 [S390] fault handler performance optimization. Slim down the do_exception function to handle only the fast path of a fault and move the exceptional cases into a new function. That slightly increases the performance of the fault handling. Build fix for !CONFIG_COMPAT by Kamalesh Babulal Signed-off-by: Martin Schwidefsky commit 7ecb344ae80bc03397ded3b004e06ecfe32becf9 Author: Martin Schwidefsky Date: Mon Dec 7 12:51:44 2009 +0100 [S390] Improve notify_page_fault implementation. notify_page_fault does a preempt_disable/preempt_enable for each fault generated by a kernel access to user space. If kprobes is not active that is unnecessary since the interrupts are not reenabled yet. To play safe repeat the kprobe_running check after preempt_disable(). Signed-off-by: Martin Schwidefsky commit b11b53342773361f3353b285eb6a3fd6074e7997 Author: Martin Schwidefsky Date: Mon Dec 7 12:51:43 2009 +0100 [S390] Improve address space mode selection. Introduce user_mode to replace the two variables switch_amode and s390_noexec. There are three valid combinations of the old values: 1) switch_amode == 0 && s390_noexec == 0 2) switch_amode == 1 && s390_noexec == 0 3) switch_amode == 1 && s390_noexec == 1 They get replaced by 1) user_mode == HOME_SPACE_MODE 2) user_mode == PRIMARY_SPACE_MODE 3) user_mode == SECONDARY_SPACE_MODE The new kernel parameter user_mode=[primary,secondary,home] lets you choose the address space mode the user space processes should use. In addition the CONFIG_S390_SWITCH_AMODE config option is removed. Signed-off-by: Martin Schwidefsky commit 61365e132ef987f7719af5d2e434db4465957637 Author: Martin Schwidefsky Date: Mon Dec 7 12:51:42 2009 +0100 [S390] Improve address space check. A data access in access-register mode always is a user mode access, the code to inspect the access-registers can be removed. The second change is to use a different test to check for no-execute fault. The third change is to pass the translation exception identification as parameter, in theory the trans_exc_code in the lowcore could have been overwritten by the time the call to check_space from do_no_context is done. Signed-off-by: Martin Schwidefsky commit d40f7b75a23d1e59b6ec9d6701231fd4c6992ac6 Author: Sebastian Ott Date: Mon Dec 7 12:51:41 2009 +0100 [S390] cio: dont unregister a busy device in ccw_device_set_offline If we detect a busy subchannel after the driver's set_offline callback returned in ccw_device_set_offline, the current behavior is to unregister the device, which may lead to undesired consequences. Change this to just quiesce the subchannel and go on with the offline processing. Note: This is no excuse for not fixing these drivers - after the set_offline callback they should have no running IO! Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit de1b04388f63cbddf91d9f6c50c29be7232881ca Author: Peter Oberparleiter Date: Mon Dec 7 12:51:40 2009 +0100 [S390] cio: improve error recovery for internal I/Os Improve error recovery for internal I/Os by repeating each I/O 256 times per path to cope with long-running non-permanent error conditions. Also retry each path twice to cope with link flapping, i.e. single paths becoming unavailable in the order in which they are tried. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 7a8ad1001c51bba0507ee08cb4323d8ddcb07c70 Author: Sebastian Ott Date: Mon Dec 7 12:51:39 2009 +0100 [S390] cio: change locking in io_subchannel_remove IO subchannels are always unregistered in process context, so use spin_lock_irq in the corresponding remove callback. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6e9a0f67deeca90c433ac40b887cee8da3bdcea2 Author: Sebastian Ott Date: Mon Dec 7 12:51:38 2009 +0100 [S390] cio: quiesce subchannel in io_subchannel_remove Ensure that there will be no more interrupts for an unregistered device by using the same quiesce and disable loop as in io_subchannel_shutdown. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 0c609fca243d456af014e92ad1caca045072dfe8 Author: Sebastian Ott Date: Mon Dec 7 12:51:37 2009 +0100 [S390] cio: handle busy subchannel in ccw_device_move_to_sch Try to disable the old subchannel before we ask the driver core to move the attached device to a new parent. This way we can use the QUIESCE state during shutdown which prevents a possible use after free situation in some error cases. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit ec64333c3a9bc52e34d79cff23acf4e5764b1353 Author: Sebastian Ott Date: Mon Dec 7 12:51:36 2009 +0100 [S390] cio: handle failed disable_subchannel after device recognition Handle a failing cio_disable_subchannel at the end of our device recognition as if the recognition itself failed. This way subsequent registration steps do not need to handle enabled subchannels. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 56e6b796fe9b99287648fc5686aae00106b37bab Author: Sebastian Ott Date: Mon Dec 7 12:51:35 2009 +0100 [S390] cio: fix quiesce state DEV_STATE_QUIESCE is used to stop all IO on a busy subchannel. This patch fixes the following problems related to the QUIESCE state: * Fix a potential race condition which could occur when the resulting state was DEV_STATE_OFFLINE. * Add missing locking around cio_disable_subchannel, ccw_device_cancel_halt_clear and the cdev's handler. * Loop until we know for sure that the subchannel is disabled. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 24a1872d6411c7cce82c0888a4fbea23e993e051 Author: Sebastian Ott Date: Mon Dec 7 12:51:34 2009 +0100 [S390] cio: add per device initialization status flag The function ccw_device_unregister has to ensure to remove all references obtained by device_add and device_initialize. Unfortunately it gets called for devices which are 1) uninitialized, 2) initialized but unregistered, and 3) registered devices. To distinguish 1) and 2) this patch introduces a new flag "initialized", which is 1 as long as we hold the initial device reference. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 7d253b9a1aaf5192808e641659f4feb122faa536 Author: Sebastian Ott Date: Mon Dec 7 12:51:33 2009 +0100 [S390] cio: remove registered flag from ccw_device_private We used to maintain a "registered" flag in our ccw_device_private structure. This patch removes the "registered" flag and converts all users of it to device_is_registered which has the exact same meaning. Note: The usage the atomic operation test_and_clear_bit is replaced by the non-atomic if (device_is_registered()) device_del(). This will not do harm, since we serialize calls to ccw_device_unregister with a single-threaded workqueue. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit d7d12ef2befac4fed0dccaddff11338b654804df Author: Peter Oberparleiter Date: Mon Dec 7 12:51:32 2009 +0100 [S390] cio: make steal lock procedure more robust An Unconditional Reserve + Release operation (steal lock) for a boxed device may fail when encountering special error cases (e.g. unit checks or path errors). Fix this by using the more robust ccw_request infrastructure for performing the steal lock CCW program. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 52ef0608e3ee4a511725e443c4b572fece22b353 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:31 2009 +0100 [S390] cio: use sense-pgid operation for path verification Set-pgid operations fail for some device types under z/VM for which the hypervisor has already set the pgid. Also reserved devices or changed pgids are not correctly recognized. Fix these problems by using a combination of sense-pgid and set-pgid and by also accepting pre-defined pgid settings. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 454e1fa1ebae7cff707b2e3f12b775c263c8408b Author: Peter Oberparleiter Date: Mon Dec 7 12:51:30 2009 +0100 [S390] cio: split PGID settings and status Split setting (driver wants feature enabled) and status (feature setup was successful) for PGID related ccw device features so that setup errors can be detected. Previously, incorrectly handled setup errors could in rare cases lead to erratic I/O behavior and permanently unusuable devices. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 4257aaecffab77bad43e12057f56a5590b360f9f Author: Peter Oberparleiter Date: Mon Dec 7 12:51:29 2009 +0100 [S390] cio: remove intretry flag After changing all internal I/O functions to use the newly introduced ccw request infrastructure, retries are handled automatically after a clear operation. Therefore remove the internal retry flag and associated code. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 350e91207bc9c6a464c22b9e0e30d21dfc07efe3 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:28 2009 +0100 [S390] cio: allow setting not-operational devices offline Accept a request for setting a not-operational device offline. This way, users can remove devices from Linux which would otherwise remain unusable until reboot. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 9679baaf85b6e4dc662160bbbca344287ea6580d Author: Peter Oberparleiter Date: Mon Dec 7 12:51:27 2009 +0100 [S390] cio: use ccw request infrastructure for pgid Use the newly introduced ccw request infrastructure to implement pgid related operations: sense pgid, set pgid and disband pg. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 39f5360b3d68a8e96d280481d9c442e7c005c317 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:26 2009 +0100 [S390] cio: use ccw request infrastructure for sense id Use the newly introduced ccw request infrastructure to implement the sense id operation. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit e1f0fbd655539b0093738f58d57db83a0ac2dd6c Author: Peter Oberparleiter Date: Mon Dec 7 12:51:25 2009 +0100 [S390] cio: consistent infrastructure for internal I/O requests Reduce code duplication by introducing a central infrastructure to perform an internal I/O operation on a CCW device. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 16b9a0571da4ee5cd15ca75e871722b0b5aee64d Author: Peter Oberparleiter Date: Mon Dec 7 12:51:24 2009 +0100 [S390] cio: dont panic in non-fatal conditions Remove the call to BUG() for situations which are unexpected but do not cause actual problems. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 1f5bd3848bfc56de4c32ef6971a6a966776204bb Author: Peter Oberparleiter Date: Mon Dec 7 12:51:23 2009 +0100 [S390] cio: ensure proper locking during device recognition Device recognition needs to be started with the ccw device lock held to prevent race conditions between I/O starting and interrupt reception. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 7c4d964fa4e857d6fb6b63159a898a5c63c173bf Author: Peter Oberparleiter Date: Mon Dec 7 12:51:22 2009 +0100 [S390] cio: handle error during path verification consistently Handle verification errors consistently through the existing callback ccw_device_done to reduce cleanup code duplication. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 736b5db895eb900c108fe9e9b1659c171481169e Author: Peter Oberparleiter Date: Mon Dec 7 12:51:21 2009 +0100 [S390] cio: handle error during device recognition consistently Remove the return code from ccw_device_recognition and handle recognition errors through the existing callback ccw_device_recog_done to reduce cleanup code duplication. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit a7ae2c02f5ab7080646a4cc6c01065ae9decad54 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:20 2009 +0100 [S390] cio: inform user when online/offline processing fails Print a warning message in case a ccw device enters boxed or not operational state during online/offline processing. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 37de53bb52908726c18fc84515792a5b2f454532 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:19 2009 +0100 [S390] cio: introduce ccw device todos Introduce a central mechanism for performing delayed ccw device work to ensure that different types of work do not overwrite each other. Prioritization ensures that the most important work is always performed while less important tasks are either obsoleted or repeated later. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 390935acac21f3ea1a130bdca8eb9397cb293643 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:18 2009 +0100 [S390] cio: introduce subchannel todos Ensure that current and future users of sch->work do not overwrite each other by introducing a single mechanism for delayed subchannel work. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 5d6e6b6f6f3eac10a7f5a15e961bac3b36824d9d Author: Peter Oberparleiter Date: Mon Dec 7 12:51:17 2009 +0100 [S390] cio: introduce parent-initiated device move Change the initiative to update subchannel-ccw device associations to the subchannel: when there is an indication that the internal association no longer reflects the current hardware state, mark each affected subchannel as requiring attention. Once processing reaches a subchannel, determine the correct association for that subchannel at that time and perform the necessary device_move operations. This change fixes problems with the previous approach which would leave devices in an inconsistent state when a new hardware change occurred while a device_move was already scheduled. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 60e4dac1abdf49ccdb7545ec406325f08423d848 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:16 2009 +0100 [S390] cio: fix repeat setting of cdev parent association sch_create_and_recog_new_device() associates a parent subchannel with its ccw device child even though this is already done by the subsequently called io_subchannel_recog(). Also make sure io_subchannel_recog() sets the association under lock. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 48e4c385c5f54626651cca027afe242439281899 Author: Peter Oberparleiter Date: Mon Dec 7 12:51:15 2009 +0100 [S390] cio: fix double free in case of probe failure io_subchannel_probe() frees memory for sch->private which is later freed again when io_subchannel_remove() is called. Fix this problem by removing the cleanup in io_subchannel_probe(). Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit cf87b7439ec81b9374e7772e44e9cb2eb9e57160 Author: Hendrik Brueckner Date: Mon Dec 7 12:44:42 2009 +0100 [S390] s390: clear high-order bits of registers after sam64 When the kernel is IPLed without the CLEAR option and switches to 64-bit, the high-order half of the registers might contain random values. This can cause addressing exceptions and the kernel enters an interrupt loop. Initialize the high-order half of the general purpose registers with zeros after switching to 64-bit mode. Cc: Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit accee7854b378a8ab5995d8f5dc5d8abc3b3d23a Author: Stephen Rothwell Date: Mon Dec 7 19:29:39 2009 +1100 block: include linux/err.h to use ERR_PTR Signed-off-by: Stephen Rothwell Signed-off-by: Jens Axboe commit cbe5c34c8c1f8ed1afbe6273f4ad57fcfad7822f Author: OGAWA Hirofumi Date: Sun Dec 6 20:14:29 2009 +0900 x86: Compile insn.c and inat.c only for KPROBES At least, insn.c and inat.c is needed for kprobe for now. So, this compile those only if KPROBES is enabled. Signed-off-by: OGAWA Hirofumi Cc: Masami Hiramatsu LKML-Reference: <878wdg8icq.fsf@devron.myhome.or.jp> Signed-off-by: Ingo Molnar commit 180570fdb7a3c404b599f0a318c2ccf86e4827ed Author: Ulrich Drepper Date: Sun Dec 6 13:25:30 2009 -0500 perf tools: Optimize parse_subsystem_tracepoint_event() Uses of strcat are almost always signs that someone is too lazy to think about the code a bit more carefully. One always has to know about the lengths of the strings involved to avoid buffer overflows. This is one case where the size of the object code for me is reduced by 38 bytes. The code should also be faster, especially if flags is non-NULL. Signed-off-by: Ulrich Drepper Cc: a.p.zijlstra@chello.nl Cc: fweisbec@gmail.com Cc: jaswinderrajput@gmail.com Cc: paulus@samba.org LKML-Reference: <200912061825.nB6IPUa1023306@hs20-bc2-1.build.redhat.com> Signed-off-by: Ingo Molnar commit 67a6259ec97b8408f86f2fe8459d2233f0b0987d Author: Tom Zanussi Date: Sun Dec 6 23:31:59 2009 -0600 perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily The 'scripting unsupported' message should only be displayed when the -s or -g options are used, and not when they aren't, as the current code does. Signed-off-by: Tom Zanussi Cc: rostedt@goodmis.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1260163919-6679-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 11a80ddbf3521c428bcde2d31e6632cef186bae9 Merge: 3a9a0be 5605317 Author: Ingo Molnar Date: Mon Dec 7 08:03:35 2009 +0100 Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent commit 56053170ea2a2c0dc17420e9b94aa3ca51d80408 Author: Frederic Weisbecker Date: Mon Dec 7 06:46:48 2009 +0100 hw-breakpoints: Fix task-bound breakpoint slot allocation Whatever the context nature of a breakpoint, we always perform the following constraint checks before allocating it a slot: - Check the number of pinned breakpoint bound the concerned cpus - Check the max number of task-bound breakpoints that are belonging to a task. - Add both and see if we have a reamining slot for the new breakpoint This is the right thing to do when we are about to register a cpu-only bound breakpoint. But not if we are dealing with a task bound breakpoint. What we want in this case is: - Check the number of pinned breakpoint bound the concerned cpus - Check the number of breakpoints that already belong to the task in which the breakpoint to register is bound to. - Add both This fixes a regression that makes the "firefox -g" command fail to register breakpoints once we deal with a secondary thread. Reported-by: Walt Signed-off-by: Frederic Weisbecker Cc: Prasad commit ed872d09effd54aa8ecb4ceedbc4dbab9592f337 Author: Frederic Weisbecker Date: Mon Dec 7 03:14:17 2009 +0100 hw-breakpoints: Zeroe the breakpoint attrs on initialization The perf attrs used to set up breakpoint parameters are often allocated in the stack and not zeroed out before calling hw_breakpoint_init(). Handle it from this helper to avoid random attributes set by the stack. Signed-off-by: Frederic Weisbecker Cc: Prasad commit 3a9a0beba2913edaae39ff8b4645fee10c3acf37 Author: Tom Zanussi Date: Sun Dec 6 20:41:52 2009 -0600 perf trace/scripting: Fix compile error when libperl not installed When I added the xs callbacks into perf, I forgot to re-check the no-libperl case. This patch fixes the undefined reference error for that. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Tom Zanussi Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1260153712.6564.4.camel@tropicana> Signed-off-by: Ingo Molnar commit f48f669d42e133db839af16656fd720107ef6742 Author: Xiao Guangrong Date: Mon Dec 7 13:04:04 2009 +0800 perf_event: Eliminate raw->size raw->size is not used, this patch just cleans it up. Signed-off-by: Xiao Guangrong Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: OGAWA Hirofumi Cc: Peter Zijlstra Cc: Li Zefan LKML-Reference: <4B1C8CC4.4050007@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d9541ed3241bb6c2b805d3ea0e87563cf2a0c5c3 Author: Xiao Guangrong Date: Mon Dec 7 12:07:15 2009 +0800 perf_event: Fix __dsos__write_buildid_table() The remain buff size is 'len - pos->long_name_len - 1', not 'len - pos->long_name_len + 1' This bug was introduced by commit 7691b1e ("perf tools: Misc small fixes"). Signed-off-by: Xiao Guangrong Acked-by: OGAWA Hirofumi Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Li Zefan LKML-Reference: <4B1C7F73.80707@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d8bd9e0aedabcb47887712497bc386a06ddcbd12 Author: Xiao Guangrong Date: Mon Dec 7 12:06:29 2009 +0800 perf_event: Fix raw event processing We use 'data.raw_data' parameter to call process_raw_event(), but data.raw_data buffer not include data size. it can make perf tool crash. This bug was introduced by commit 180f95e29a ("perf: Make common SAMPLE_EVENT parser"). Signed-off-by: Xiao Guangrong Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: OGAWA Hirofumi Cc: Peter Zijlstra Cc: Li Zefan LKML-Reference: <4B1C7F45.5080105@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c0777c5aa835a97ccc77d82e55388940f0140a61 Author: Xiao Guangrong Date: Mon Dec 7 12:04:49 2009 +0800 perf/sched: Fix 'perf sched trace' If we use 'perf sched trace', it will call symbol__init() again, and can lead to a perf tool crash: [root@localhost perf]# ./perf sched trace *** glibc detected *** ./perf: free(): invalid next size (normal): 0x094c1898 *** ======= Backtrace: ========= /lib/libc.so.6[0xb7602404] /lib/libc.so.6(cfree+0x96)[0xb76043b6] ./perf[0x80730fe] ./perf[0x8074c97] ./perf[0x805eb59] ./perf[0x80536fd] ./perf[0x804b618] ./perf[0x804bdc3] /lib/libc.so.6(__libc_start_main+0xe5)[0xb75a9735] ./perf[0x804af81] ======= Memory map: ======== 08048000-08158000 r-xp 00000000 fe:00 556831 /home/eric/.... 08158000-08168000 rw-p 0010f000 fe:00 556831 /home/eric/... 08168000-085fe000 rw-p 00000000 00:00 0 094ab000-094cc000 rw-p 00000000 00:00 0 [heap] Signed-off-by: Xiao Guangrong LKML-Reference: <4B1C7EE1.8030906@cn.fujitsu.com> Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 85bb0c377f259100d049937e30c85f7a8dea0fa0 Author: Thomas Hellstrom Date: Sun Dec 6 21:46:28 2009 +0100 drm: Export symbols needed for the vmwgfx driver. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4bfd75cb08a362cb1df35dc6a5032d12843c6d87 Author: Thomas Hellstrom Date: Sun Dec 6 21:46:27 2009 +0100 drm/ttm: Export symbols needed for the vmwgfx driver. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit c078aa2fc4d8e022c3b611e07b25ff77afdf9b73 Author: Thomas Hellstrom Date: Sun Dec 6 21:46:26 2009 +0100 drm/ttm: Add TTM execbuf utilities. Utilities to reserve, unreserve and fence a list of TTM buffer objects in a deadlock-safe manner. Used by the vmwgfx driver. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4aff1013f5e4ae08a24155c029a2c5e1a7929de6 Author: Thomas Hellstrom Date: Sun Dec 6 21:46:25 2009 +0100 drm/ttm: Add ttm lock functionality. This is intended to be used by ttm-aware drivers to 1) Block clients to inactive masters when they try to validate buffers for GPU use. 2) Optionally block clients to the current master when there is thrashing due to GPU memory shortage. Used by the vmwgfx driver. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc Author: Thomas Hellstrom Date: Sun Dec 6 21:46:24 2009 +0100 drm/ttm: Add user-space objects. Add objects needed for user-space to maintain reference counts on ttm objects. This is used by the vmwgfx driver which allows user-space to maintain map-counts on dma buffers, lock-counts on the ttm lock and ref-counts on gpu surfaces, gpu contexts and dma buffer. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4a58579b9e4e2a35d57e6c9c8483e52f6f1b7fd6 Author: Akira Fujita Date: Sun Dec 6 23:38:31 2009 -0500 ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT This patch fixes three problems in the handling of the EXT4_IOC_MOVE_EXT ioctl: 1. In current EXT4_IOC_MOVE_EXT, there are read access mode checks for original and donor files, but they allow the illegal write access to donor file, since donor file is overwritten by original file data. To fix this problem, change access mode checks of original (r->r/w) and donor (r->w) files. 2. Disallow the use of donor files that have a setuid or setgid bits. 3. Call mnt_want_write() and mnt_drop_write() before and after ext4_move_extents() calling to get write access to a mount. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit b436b9bef84de6893e86346d8fbf7104bc520645 Author: Jan Kara Date: Tue Dec 8 23:51:10 2009 -0500 ext4: Wait for proper transaction commit on fsync We cannot rely on buffer dirty bits during fsync because pdflush can come before fsync is called and clear dirty bits without forcing a transaction commit. What we do is that we track which transaction has last changed the inode and which transaction last changed allocation and force it to disk on fsync. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 194074acacebc169ded90a4657193f5180015051 Author: Dmitry Monakhov Date: Tue Dec 8 22:42:28 2009 -0500 ext4: fix incorrect block reservation on quota transfer. Inside ->setattr() call both ATTR_UID and ATTR_GID may be valid This means that we may end-up with transferring all quotas. Add we have to reserve QUOTA_DEL_BLOCKS for all quotas, as we do in case of QUOTA_INIT_BLOCKS. Signed-off-by: Dmitry Monakhov Reviewed-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5aca07eb7d8f14d90c740834d15ca15277f4820c Author: Dmitry Monakhov Date: Tue Dec 8 22:42:15 2009 -0500 ext4: quota macros cleanup Currently all quota block reservation macros contains hard-coded "2" aka MAXQUOTAS value. This is no good because in some places it is not obvious to understand what does this digit represent. Let's introduce new macro with self descriptive name. Signed-off-by: Dmitry Monakhov Acked-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8aa6790f876e81f5a2211fe1711a5fe3fe2d7b20 Author: Dmitry Monakhov Date: Tue Dec 8 22:41:52 2009 -0500 ext4: ext4_get_reserved_space() must return bytes instead of blocks Signed-off-by: Dmitry Monakhov Reviewed-by: Eric Sandeen Acked-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit b844167edc7fcafda9623955c05e4c1b3c32ebc7 Author: Curt Wohlgemuth Date: Tue Dec 8 22:18:25 2009 -0500 ext4: remove blocks from inode prealloc list on failure This fixes a leak of blocks in an inode prealloc list if device failures cause ext4_mb_mark_diskspace_used() to fail. Signed-off-by: Curt Wohlgemuth Acked-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit d4edac314e9ad0b21ba20ba8bc61b61f186f79e1 Author: Josef Bacik Date: Tue Dec 8 21:48:58 2009 -0500 ext4: wait for log to commit when umounting There is a potential race when a transaction is committing right when the file system is being umounting. This could reduce in a race because EXT4_SB(sb)->s_group_info could be freed in ext4_put_super before the commit code calls a callback so the mballoc code can release freed blocks in the transaction, resulting in a panic trying to access the freed s_group_info. The fix is to wait for the transaction to finish committing before we shutdown the multiblock allocator. Signed-off-by: Josef Bacik Signed-off-by: "Theodore Ts'o" commit b9a4207d5e911b938f73079a83cc2ae10524ec7f Author: Jan Kara Date: Tue Dec 8 21:24:33 2009 -0500 ext4: Avoid data / filesystem corruption when write fails to copy data When ext4_write_begin fails after allocating some blocks or generic_perform_write fails to copy data to write, we truncate blocks already instantiated beyond i_size. Although these blocks were never inside i_size, we have to truncate the pagecache of these blocks so that corresponding buffers get unmapped. Otherwise subsequent __block_prepare_write (called because we are retrying the write) will find the buffers mapped, not call ->get_block, and thus the page will be backed by already freed blocks leading to filesystem and data corruption. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 24b584240a0006ea7436cd35f5e8983eb76f1e6f Author: Theodore Ts'o Date: Mon Dec 7 14:08:51 2009 -0500 ext4: Use ext4 file system driver for ext2/ext3 file system mounts Add a new config option, CONFIG_EXT4_USE_FOR_EXT23 which if enabled, will cause ext4 to be used for either ext2 or ext3 file system mounts when ext2 or ext3 is not enabled in the configuration. This allows minimalist kernel fanatics to drop to file system drivers from their compiled kernel with out losing functionality. Signed-off-by: "Theodore Ts'o" commit c09eef305dd43846360944ad072f051f964fa383 Author: Roel Kluin Date: Mon Dec 7 10:38:16 2009 -0500 ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks() Signed-off-by: Roel Kluin Signed-off-by: "Theodore Ts'o" commit 64bffd03756249e11b8651ccf33ac3a50a93ed4c Author: Dave Airlie Date: Mon Dec 7 13:29:51 2009 +1000 drm/radeon/kms: fix RS600 MC setup. Again we try to put VRAM at 0, and it didn't work on this chipset, reports of corrupt RAM appeared on irc and bugzilla. Fix the vram location according to what the BIOS setup, I'm not 100% sure we don't need the same thing on rs690/rs780/rs880, we probably should do it there just in case as its what the DDX does. Signed-off-by: Dave Airlie commit 4f15d24adb39803ba7b9363d0bb5dd714a6706f6 Author: Alex Deucher Date: Sat Dec 5 17:55:37 2009 -0500 drm/radeon/kms: fix up gart setup on rs600 Set up rs600 gart like r600: - set gart system aperture to vram - inside gart system aperture is unmapped* - outside gart system aperture is mapped* *mapped refers to memory handled by page tables Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6ad4c18884e864cf4c77f9074d3d1816063f99cd Author: Peter Zijlstra Date: Wed Nov 25 13:31:39 2009 +0100 sched: Fix balance vs hotplug race Since (e761b77: cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment) we have cpu_active_mask which is suppose to rule scheduler migration and load-balancing, except it never (fully) did. The particular problem being solved here is a crash in try_to_wake_up() where select_task_rq() ends up selecting an offline cpu because select_task_rq_fair() trusts the sched_domain tree to reflect the current state of affairs, similarly select_task_rq_rt() trusts the root_domain. However, the sched_domains are updated from CPU_DEAD, which is after the cpu is taken offline and after stop_machine is done. Therefore it can race perfectly well with code assuming the domains are right. Cure this by building the domains from cpu_active_mask on CPU_DOWN_PREPARE. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e1b8090bdf125f8b2e192149547fead7f302a89c Author: Geert Uytterhoeven Date: Sun Dec 6 20:41:16 2009 +0100 cpumask: Fix generate_sched_domains() for UP Commit acc3f5d7cabbfd6cec71f0c1f9900621fa2d6ae7 ("cpumask: Partition_sched_domains takes array of cpumask_var_t") changed the function signature of generate_sched_domains() for the CONFIG_SMP=y case, but forgot to update the corresponding function for the CONFIG_SMP=n case, causing: kernel/cpuset.c:2073: warning: passing argument 1 of 'generate_sched_domains' from incompatible pointer type Signed-off-by: Geert Uytterhoeven Cc: Rusty Russell Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit b9b1e1c71a9481c0c34ed5bed42f1bfa730fd39e Author: Arnaldo Carvalho de Melo Date: Sun Dec 6 18:03:10 2009 -0200 perf buildid-list: Fix copy'n'paste help message Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1260129790-11520-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 7691b1ec2e4a8d4bd88dcf88b29792399ebe1c91 Author: OGAWA Hirofumi Date: Sun Dec 6 20:10:49 2009 +0900 perf tools: Misc small fixes - util/header.c "len" is aligned to 64. So, it tries to write the out of long_name buffer. So, this use "zero_buf" to write aligned area. - util/trace-event-read.c "size" is not including nul byte. So, this allocates it, and set '\0'. - util/trace-event-parse.c It needs parens to calc correct size. Signed-off-by: OGAWA Hirofumi Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <87d42s8iiu.fsf_-_@devron.myhome.or.jp> Signed-off-by: Ingo Molnar commit 180f95e29aa8782c019caa64ede2a28d8ab62564 Author: OGAWA Hirofumi Date: Sun Dec 6 20:08:24 2009 +0900 perf: Make common SAMPLE_EVENT parser Currently, sample event data is parsed for each commands, and it is assuming that the data is not including other data. (E.g. timechart, trace, etc. can't parse the event if it has PERF_SAMPLE_CALLCHAIN) So, even if we record the superset data for multiple commands at a time, commands can't parse. etc. To fix it, this makes common sample event parser, and use it to parse sample event correctly. (PERF_SAMPLE_READ is unsupported for now though, it seems to be not using.) Signed-off-by: OGAWA Hirofumi Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <87hbs48imv.fsf@devron.myhome.or.jp> Signed-off-by: Ingo Molnar commit 028c515253761084c6594bf9ac9b194b51d87065 Author: OGAWA Hirofumi Date: Sun Dec 6 20:07:29 2009 +0900 perf timechart: Fix header handling Update "struct trace_entry" to match with current one. And remove "size" field from it. If it has "size", it become cause of alignment mismatch of structure with kernel. Signed-off-by: OGAWA Hirofumi Acked-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <87ljhg8ioe.fsf@devron.myhome.or.jp> Signed-off-by: Ingo Molnar commit 3d14b5beba35250c548d3851a2b84fce742d8311 Merge: 0719dc3 1bf8e62 Author: Russell King Date: Sun Dec 6 17:00:33 2009 +0000 Merge branch 'sa1100' into devel commit 1bf8e6219552d5dd27012d567ec8c4bb9c2d86b4 Author: Russell King Date: Sun Dec 6 16:58:50 2009 +0000 Fix soc_common PCMCIA configuration Jonathan Cameron reports that building PCMCIA as modules doesn't work: As module get a load of undefined symbols: ERROR: "soc_pcmcia_request_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_free_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_enable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_disable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_add_one" [drivers/pcmcia/pxa2xx_base.ko] undefined! ERROR: "soc_common_pcmcia_get_timing" [drivers/pcmcia/pxa2xx_base.ko] undefined! ERROR: "soc_pcmcia_remove_one" [drivers/pcmcia/pxa2xx_base.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 This is because soc_common tries to be built-in, but it should be a module. Allow soc_common to be a module. Reported-by: Jonathan Cameron Signed-off-by: Russell King commit ba71e17269633ea36e776d744d5cc0fcb5a41f93 Merge: 729fae4 9823b2d Author: Russell King Date: Sun Dec 6 16:53:09 2009 +0000 Merge branch 'for-lak' of git://git.linuxtogo.org/home/thesing/collie into sa1100 commit 729fae44dd8332cbf5b9d05a9af17a7455e165b2 Author: Dmitry Artamonow Date: Fri Nov 27 12:22:32 2009 +0100 ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit a53c876dc111bb7507ecef3962b9cc17eb43364b Author: Dmitry Artamonow Date: Fri Nov 27 12:18:43 2009 +0100 ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver Many features of h3100/h3600 (LCD, PCMCIA, Flash write, etc.) depend on correct functioning of GPIO expander handled by htc-egpio driver, so force its building in Kconfig. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit ebdb56409d4a65571ca3933b056c5c9e20bb34f5 Author: Dmitry Artamonow Date: Fri Nov 27 12:15:01 2009 +0100 ARM: 5825/1: SA1100: h3600: update defconfig Update defconfig to current kernel, enable support for iPAQ H3100 and following drivers: gpio-keys, htc-egpio, ide_cs. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit e7435f866f86a9a1843dcdc2945f833b26761786 Author: Dmitry Artamonow Date: Fri Nov 27 12:13:47 2009 +0100 ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100 Both iPAQs h3600 and h3100 share the same control GPIOs for PCMCIA, so driver can be reused. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit c463eb62ac5bd8c26578cae42e1d5bb397aed100 Author: Dmitry Artamonow Date: Fri Nov 27 12:13:01 2009 +0100 ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys Add support for "Power" and "Action" (joystick center) buttons - the only buttons on iPaq h3100/h3600 connected to GPIOs (other buttons are controlled by microcontroller) Also remove setting PWER for wakeup on Power button press - gpio-keys driver will handle it. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 4aa9755580650c7135c154bd4276411739e8fb60 Author: Dmitry Artamonow Date: Fri Nov 27 12:12:25 2009 +0100 ARM: 5822/1: SA1100: h3100/h3600: clean up #includes After a code reorganization and following split, there's some #includes now unused. Clean them up and sort remaining alphabetticaly where possible. Compile tested. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 6e23fcb3bdee99468ff16d050b63a0c7fe103992 Author: Dmitry Artamonow Date: Fri Nov 27 12:11:48 2009 +0100 ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates Correct boilerplates after files split. Also shorten them a bit - use standart GPL wording (as per http://lkml.org/lkml/2007/5/1/220) and drop changelog, which only entry about h3800 support and abstracted EGPIOs is just confusing now, as both of these features are gone. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 86e5e38c46b1d188c897f131d3f015ca73677f03 Author: Dmitry Artamonow Date: Fri Nov 27 12:10:55 2009 +0100 ARM: 5820/1: SA1100: h3100/h3600: split h3600.c Split common h3600.c into three separate files: h3100.c, h3600.c and h3xxx.c (the latter contains common code for h3100/h3600) Copyright boilerplates and #includes are copied intact and will be cleaned up later. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 8715b29db2787f7c70f662b7b4d5b01017c61948 Author: Dmitry Artamonow Date: Fri Nov 27 12:09:25 2009 +0100 ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h Combine both headers into one, rename to h3xxx.h and change all users accordingly. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 4c88a5c20f59c07afc4536c219a9c1f196cec36d Author: Dmitry Artamonow Date: Fri Nov 27 12:07:47 2009 +0100 ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions As all existing code was converted to gpiolib, drop no more used pre-gpiolib (bit-shifted) GPIO definintions. Supply new gpiolib-friendly definitions for GPIOs which don't have them yet. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 51834901faee2850e55865589cefd7588202cbf7 Author: Dmitry Artamonow Date: Fri Nov 27 12:07:11 2009 +0100 ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs After conversion to gpiolib there's still some GPIOs left, that get configured in *_mach_init() as outputs (using direct operations on GPCR/GPDR registers), but otherwise unused. These GPIOs are mainly sound related and should be configured by corresponding driver once it is written. Drop this initialisation and configure all GPIOs as input. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit ca912b17c0af886d9090449d5933ac6ca9a7a20f Author: Dmitry Artamonow Date: Fri Nov 27 12:05:28 2009 +0100 ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions As all the remaining users of these definitions (in pcmcia/sa1100_h3600 driver) were converted to gpio_to_irq(), they can be safely removed. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 766f0378a745596eae0bb625b9e3f05a7e7be476 Author: Dmitry Artamonow Date: Fri Nov 27 12:03:52 2009 +0100 ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers As all users of assign_h3600_egpio now converted to gpiolib, we can safely remove all assign_h3600_egpio handling code and definitions. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 22f9740552b89c9f458f972f881d222b298ab165 Author: Dmitry Artamonow Date: Fri Nov 27 12:02:28 2009 +0100 ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib Use of gpio_request/gpio_free in some callbacks may look ugly, but corresponding drivers (sa1100_serial and sa1100_fb) don't provide (yet) init/exit hooks and registering these gpios in *_mach_init is also not possible, because htc-gpio driver starts a bit later... Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2eec62d7dbaa8ed05f318d88f938a86fcf274b34 Author: Dmitry Artamonow Date: Fri Nov 27 12:00:00 2009 +0100 ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver It will be used for future conversion of assign_h3600_egpio calls to gpiolib. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit cf5a87d80a70958b0622042b0b447f61aca1caf8 Author: Dmitry Artamonow Date: Fri Nov 27 11:58:35 2009 +0100 ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers h3100 and h3600 have different sets of LCD-controlling gpios, which mapped to the same "abstracted" EGPIO. As we plan to get rid of those abstracted egpios completely, we need to separate these helper functions. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2a83709199adf4e89254e03981c0f9ff6558691f Author: Dmitry Artamonow Date: Sun Dec 6 17:12:49 2009 +0100 ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib Convert all operations with GPLR/GPCR/GPSR to gpiolibs calls. Also change all IRQ_GPIO* to gpio_to_irq(*GPIO*) Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit d0e6041efdcbde53a325d0cf0b5bd09931524146 Author: Dmitry Artamonow Date: Fri Nov 27 11:11:00 2009 +0100 ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins sa1100_fb driver handles this Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 382c14a52d87f50111967f758fcb2d1f188f4415 Author: Dmitry Artamonow Date: Fri Nov 27 11:10:59 2009 +0100 ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h PM_SUSPEND, PM_RESUME and machine_is_h3xxx() are not used anywhere in kernel (checked with git grep), so it's safe to remove them. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2a151a0f12b136d28f0501fa294462f8e9e310a1 Author: Dmitry Artamonow Date: Fri Nov 27 11:10:58 2009 +0100 ARM: 5796/1: SA1100: h3600: remove IRDA bits from serial PM callback IRDA is handled by separate sa1100-ir driver and has nothing to do with sa1100_serial Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 1e23221e98deff9ef9adad5f2f991723f080b1ee Author: Dmitry Artamonow Date: Fri Nov 27 11:10:57 2009 +0100 ARM: 5797/1: SA1100: h3100/h3600: remove dead links from Kconfig help text Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit e55b20e81d5c40bd04f1747450ca622b105c97a3 Author: Dmitry Artamonow Date: Fri Nov 27 11:06:46 2009 +0100 ARM: 5795/1: SA1100: h3100/h3600: mark *_mach_init functions as __init Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 0fb85a5aa0958b2118eab8e035731051b05775bb Author: Russell King Date: Tue Oct 6 16:40:24 2009 +0100 ARM: iPAQ: no need to set PWER_RTC The rtc-sa1100 driver takes care of this. Signed-off-by: Russell King commit 6e21ee6aa76df6297e6dcea22d6583cafdb669f7 Author: Russell King Date: Tue Oct 6 15:16:27 2009 +0100 ARM: iPAQ: move serial port support functions No point calling sa1100_register_uart_fns early - these aren't used until late in the boot sequence. Also convert to gpiolib support. Signed-off-by: Russell King commit 9c196f0f8db928ef9a2a935d86d75a218a7131b1 Author: Russell King Date: Tue Oct 6 14:36:05 2009 +0100 ARM: iPAQ: convert H3100 IrDA to use generic gpio support Signed-off-by: Russell King commit 0831e3e4cf8abcbb772c0cb1eb4406ffcdb974df Author: Russell King Date: Tue Oct 6 14:35:16 2009 +0100 ARM: iPAQ: provide a way to setup platform-controlled GPIOs Signed-off-by: Russell King commit a5d176a19138eef45e4c7c80a8d3a7c14c8aec53 Author: Russell King Date: Tue Oct 6 14:22:23 2009 +0100 ARM: iPAQ: separate IrDA machine specifics Signed-off-by: Russell King commit 898e810eadb16670c800b3279800bda3a822c6d7 Author: Russell King Date: Tue Oct 6 14:19:44 2009 +0100 ARM: h3600: provide each iPAQ machine type with own init function Signed-off-by: Russell King commit 7a5b4e16c880f8350d255dc188f81622905618c1 Author: Russell King Date: Tue Oct 6 14:55:53 2009 +0100 ARM: sa11x0: convert set_xxx_data() to register_xxx() Only register devices if we have platform data for those which require platform data. Signed-off-by: Russell King commit 6471b68982d3bb1a593c3e183c804ecf830125d3 Author: Jean Delvare Date: Sun Dec 6 17:06:30 2009 +0100 i2c-stub: Documentation update There is nothing sensors-specific to i2c-stub. Signed-off-by: Jean Delvare commit 38f41f282f1f88b4038f019de51cb95984e569d5 Author: Jean Delvare Date: Sun Dec 6 17:06:29 2009 +0100 i2c-stub: Allow user to disable some commands Add a module parameter to override the functionality bitfield. This lets the user disable some commands. This can be used to force a chip driver to take different code paths. Signed-off-by: Jean Delvare commit 4710317891e4824ce1510a6b5066abbd3e917750 Author: Jean Delvare Date: Sun Dec 6 17:06:28 2009 +0100 i2c-stub: Implement I2C block support This is required to test some drivers, for example at24. Signed-off-by: Jean Delvare commit 69b0089a6750a0435570df3ba8456c77b352af55 Author: Jean Delvare Date: Sun Dec 6 17:06:27 2009 +0100 i2c: Refactor for_each callbacks Functions i2c_do_add_adapter() and __attach_adapter() do essentially the same thing, differing only in how the parameters are passed. Same for i2c_do_add_adapter() and __detach_adapter(). Introduce wrappers to normalize the parameters, so that we do not have to duplicate the code. Signed-off-by: Jean Delvare Cc: David Brownell commit 7e2193a8f942a80eef4ae87e3850615450966d0a Author: Jean Delvare Date: Sun Dec 6 17:06:27 2009 +0100 i2c-i801: Retry on lost arbitration The Intel 82801 is sometimes used on systems with a BMC connected. The BMC can access the SMBus, resulting in lost arbitration for the 82801. We should let i2c-core retry transactions for us in this case. Signed-off-by: Jean Delvare commit 9669f54194b4df34c96478d696d9ba2b977545f5 Author: Vincent Sanders Date: Sun Dec 6 17:06:26 2009 +0100 i2c: Remove big kernel lock from i2cdev_open The BKL is held over a kmalloc so cannot protect anything beyond that. The two calls before the kmalloc have their own locking. Improve device open function by removing the now unnecessary ret variable Signed-off-by: Vincent Sanders Signed-off-by: Thomas Gleixner Signed-off-by: Jean Delvare commit c2e90e9b6835d71cbadd42fe5b38704acaccf8aa Author: Jean Delvare Date: Sun Dec 6 17:06:26 2009 +0100 ics932s401: Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare Acked-by: "Darrick J. Wong" commit ccfbbd082a1c71667bead7124591ccd09f08ac90 Author: Jean Delvare Date: Sun Dec 6 17:06:25 2009 +0100 i2c: Simplify i2c_detect_address The kind parameter of i2c_detect_address() always has value -1, so we can get rid of it. Next step is to update all i2c detect callback functions to get rid of this now useless parameter. Signed-off-by: Jean Delvare commit c7b25a9e96dc89954ae8d8f473f56fae62030f84 Author: Jean Delvare Date: Sun Dec 6 17:06:24 2009 +0100 i2c: Drop probe, ignore and force module parameters The legacy probe and force module parameters are obsolete now, the same can be achieved using the new_device sysfs interface, which is both more flexible and cheaper (it is implemented by i2c-core rather than replicated in every driver module.) The legacy ignore module parameters can be dropped as well. Ignoring can be done by instantiating a "dummy" device at the problematic address. This is the first step of a huge cleanup to i2c-core's i2c_detect function, i2c.h's I2C_CLIENT_INSMOD* macros, and all drivers that made use of them. Signed-off-by: Jean Delvare commit abe38388e50f4d89726fd0c0cceea61563c7026b Author: Jean Delvare Date: Sun Dec 6 17:06:23 2009 +0100 i2c: Add missing __devinit markers to old i2c adapter drivers These _setup functions are called from _probe so they can be marked __devinit. Signed-off-by: Jean Delvare commit da44bdeb95ea75eec263f42f7703bbf14f004f6a Author: Jean Delvare Date: Sun Dec 6 17:06:22 2009 +0100 i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR I2C bus drivers don't have to support I2C_M_REV_DIR_ADDR. It is a deviation from the I2C specification, which only makes sense to implement when really needed. Signed-off-by: Jean Delvare Cc: Ben Dooks commit 194684e596af4bdaebb424166d94a8aa528edfda Author: Mika Kuoppala Date: Sun Dec 6 17:06:22 2009 +0100 i2c: Prevent priority inversion on top of bus lock Low priority thread holding the i2c bus mutex could block higher priority threads to access the bus resulting in unacceptable latencies. Change the mutex type to rt_mutex preventing priority inversion. Tested-by: Peter Ujfalusi Signed-off-by: Mika Kuoppala Signed-off-by: Jean Delvare commit a0c11cdd6a1975fd8d6d186f2e2865a82f3e9bbf Author: Jean Delvare Date: Sun Dec 6 17:06:21 2009 +0100 i2c-voodoo3: Delete Superseded by tdfxfb. I2C/DDC support used to live in a separate driver but this caused driver conflicts. Signed-off-by: Jean Delvare Cc: Krzysztof Helt commit bc6286e50b4a34d8af52132d6e22f85c6c8853a7 Author: Jean Delvare Date: Sun Dec 6 17:06:20 2009 +0100 i2c-powermac: Drop temporary name buffer We no longer need to write the adapter name to a temporary buffer. We can write it directly to the i2c_adapter's name field. This is more efficient. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt commit 6dfa5ca3c9a35cb395ab1f51e0e500106c85dff4 Author: Jean Delvare Date: Sun Dec 6 17:06:19 2009 +0100 i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus Include the i2c_adapter in struct pmac_i2c_bus. This avoids memory fragmentation and allows for several code cleanups. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt commit d7d838a6ebbab6e786148133b6cf9617144603b4 Author: Jean Delvare Date: Sun Dec 6 17:06:18 2009 +0100 i2c-powermac: Log errors Log errors when they happen, otherwise we have no idea what went wrong. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 02864d58ce102804b148c92e44726d9571d65d1e Author: Jean Delvare Date: Sun Dec 6 17:06:17 2009 +0100 i2c-powermac: Refactor i2c_powermac_smbus_xfer I wanted to add some error logging to the i2c-powermac driver, but found that it was very difficult due to the way the i2c_powermac_smbus_xfer function is organized. Refactor the code in this function so that each low-level function is only called once. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 6f7e549f873e9ff10a4a27241db568bf7988ee0c Author: Jean Delvare Date: Sun Dec 6 17:06:17 2009 +0100 i2c-powermac: Reject unsupported I2C transactions The i2c-powermac driver doesn't support arbitrary multi-message I2C transactions, only SMBus ones. Make it clear by returning an error if a multi-message I2C transaction is attempted. This is better than only processing the first message, because most callers won't recover from the short transaction. Anyone wishing to issue multi-message transactions should use the SMBus API instead of the raw I2C API. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras commit dddc66ffa048fbc842f5de385031f1826649ffc2 Author: Wolfram Sang Date: Sun Dec 6 17:06:16 2009 +0100 i2c/chips: Move ds1682 to drivers/misc As i2c/chips is deprecated, move ds1682 to a more apropriate location. Build tested. Signed-off-by: Wolfram Sang Acked-by: Grant Likely Signed-off-by: Jean Delvare commit 7a1a8eb58a2c6cd819d17332c5a2c369203635d5 Author: Rafael J. Wysocki Date: Thu Dec 3 21:19:18 2009 +0100 PM: Add flag for devices capable of generating run-time wake-up events Apparently, there are devices that can wake up the system from sleep states and yet are incapable of generating wake-up events at run time. Thus, introduce a flag indicating if given device is capable of generating run-time wake-up events. Signed-off-by: Rafael J. Wysocki commit 965c4ac0613b071d6f035334c5d9d942013df4f9 Author: Rafael J. Wysocki Date: Thu Dec 3 21:04:41 2009 +0100 PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status() Some braces in __pm_runtime_set_status() are not necessary, so remove them. Signed-off-by: Rafael J. Wysocki commit e1b1903eee71c5fa6063bbf713cfc947e76c4e04 Author: Rafael J. Wysocki Date: Thu Dec 3 21:04:08 2009 +0100 PM / Runtime: Make documentation of runtime_idle() agree with the code Currently the ->runtime_idle() callback is documented as having no return value, but in fact it returns int. Although its return value is ignored at the PM core level, it may be used by bus type routines executing the drivers' ->runtime_idle() callbacks. Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern commit 0ddf0ed1d47e2d4170fa2989273886a1df66a862 Author: Rafael J. Wysocki Date: Thu Dec 3 21:03:57 2009 +0100 PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend() The runtime PM core code assumes that dev->power.timer_expires is nonzero when the timer is scheduled, but it may become zero incidentally in pm_schedule_suspend(). Prevent this from happening by bumping dev->power.timer_expires up to 1 if it's 0 before calling mod_timer(). Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern commit 63c94801701abfea21570d3302687ec027ed33e8 Author: Alan Stern Date: Thu Dec 3 20:22:34 2009 +0100 PM / Runtime: Use deferred_resume flag in pm_request_resume This patch (as1307) adds a small optimization to __pm_request_resume(). If the device is currently being suspended, there's no need to queue a work routine to resume it. Setting the deferred_resume flag will suffice. (There's also a minor improvement to the function's code layout: An unnecessary "else" is removed.) Also, the patch clarifies the usage of the deferred_resume flag. It is meaningful only while a suspend is in progress, so it should be cleared just before a suspend starts, not just after one ends. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 7b199ca2025f4756daceec8802f07da636c524c9 Author: Alan Stern Date: Thu Dec 3 20:22:21 2009 +0100 PM / Runtime: Export the PM runtime workqueue This patch (as1306) exports the PM runtime workqueue for use by loadable modules. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit bab636b921017f0db6e0c2979438f50b898a9808 Author: Rafael J. Wysocki Date: Thu Dec 3 20:21:21 2009 +0100 PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() Lockdep complains about taking the parent lock in __pm_runtime_set_status(), so mark it as nested. Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern Cc: stable@kernel.org commit 66d0ae4d6ffa45b8e6d8bdbf85f8f1b285c8152d Author: Jiri Slaby Date: Sun Dec 6 16:16:24 2009 +0100 PM / Hibernate: Swap, use KERN_CONT Use KERN_CONT in save_image() for printks, so that anybody won't try to add a loglevel. Signed-off-by: Jiri Slaby Signed-off-by: Rafael J. Wysocki commit 8e60c6a1348e17e68ad73589a52a03876e7059be Author: Nigel Cunningham Date: Sun Dec 6 16:16:07 2009 +0100 PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c Shift the remaining declaration of the variable in_suspend and the function swsusp_show_speed from swsusp.c to hibernate.c, and delete swsusp.c. Signed-off-by: Nigel Cunningham Signed-off-by: Rafael J. Wysocki commit 0414f2ec03d72dc4e569627e6112fa6dafc99a79 Author: Nigel Cunningham Date: Sun Dec 6 16:15:53 2009 +0100 PM / Hibernate: Move swap functions to kernel/power/swap.c. Move hibernation code's functions for allocating and freeing swap from swsusp.c to swap.c, which is where you'd expect to find them. Signed-off-by: Nigel Cunningham Signed-off-by: Rafael J. Wysocki commit 64357ed468025614d48daa6cc87674ae5616f8fb Merge: be404f0 6ec22f9 Author: Rafael J. Wysocki Date: Sun Dec 6 16:06:11 2009 +0100 Merge branch 'master' into for-linus commit f5754bfd107b08edddaf871d676ec6fe0792d07a Author: Frank Rowand Date: Thu Nov 19 13:54:05 2009 -0800 lockstat: Add usage info to Documentation/lockstat.txt Add usage info to Documentation/lockstat.txt Signed-off-by: Frank Rowand Signed-off-by: Peter Zijlstra LKML-Reference: <4B05BE7D.30500@am.sony.com> Signed-off-by: Ingo Molnar commit 109d71c6dd52ec08878c2c67eb4c0bd67fcbc80b Author: Frank Rowand Date: Thu Nov 19 13:42:06 2009 -0800 lockstat: Fix min, max times in /proc/lock_stats Fix min, max times in /proc/lock_stats (1) When collecting lock hold and wait times, if the current minimum time is zero, it will be replaced by the next time. (2) When aggregating minimum and maximum lock hold and wait times accross cpus, the values are added, instead of selecting the minimum and maximum. Signed-off-by: Frank Rowand Signed-off-by: Peter Zijlstra LKML-Reference: <4B05BBAE.2050005@am.sony.com> Signed-off-by: Ingo Molnar commit be2bf0a2dfbba785860284968fa055006eb1610e Author: Jean Delvare Date: Sun Dec 6 12:40:59 2009 +0100 x86, perf probe: Fix warning in test_get_len() Fix the following warning: arch/x86/tools/test_get_len.c: In function "main": arch/x86/tools/test_get_len.c:116: warning: unused variable "c" Signed-off-by: Jean Delvare Cc: Masami Hiramatsu Signed-off-by: Ingo Molnar commit 49966bae8446f5ba7e8afbd01bde82af4e00628a Author: Roel Kluin Date: Wed Nov 18 23:54:12 2009 +0100 m68k: parport_mfc3 - Not makes it a bool before the comparison. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit f699b7f351dceb754d58a836c8c16cf3de749cfc Author: Stephen Rothwell Date: Sat Nov 14 18:20:28 2009 +1100 m68k: don't export static inline functions These now cause errors due to changes present in linux-next: (__ksymtab_sorted+0x1258): undefined reference to `dio_dev_driver' (__ksymtab_sorted+0x4d48): undefined reference to `zorro_dev_driver' Signed-off-by: Stephen Rothwell Signed-off-by: Geert Uytterhoeven commit 8546e3ce6e37c359979b69862442f94e0ef0e03b Author: Krzysztof Helt Date: Sat Oct 24 17:18:23 2009 +0200 fbdev: atafb - add palette register check Add check if palette register number is in correct range for few drivers which miss it. The regno value comes indirectly from user space. Signed-off-by: Krzysztof Helt Signed-off-by: Geert Uytterhoeven commit 87fbaf6aea142b01756bbea09461daee41d93c0b Author: John Kacur Date: Mon Oct 12 23:09:24 2009 +0200 m68k: Remove the BKL from sys_execve This seems like a copy-and-paste from code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Signed-off-by: Geert Uytterhoeven commit 7c5fd5619dc89fb52d2c2cf144fc6e4365427b86 Author: Tim Abbott Date: Sun Sep 27 13:57:55 2009 -0400 m68k: Cleanup linker scripts using new linker script macros. Signed-off-by: Tim Abbott Tested-by: Andreas Schwab Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Geert Uytterhoeven commit 5cdef24b2ab44ca587d46d212468b0cfb5b83a59 Author: Tim Abbott Date: Wed Sep 16 12:44:25 2009 -0400 m68k: Make thread_info.h usable from assembly. [Geert] pulls in , which contains C only. So the include must be moved inside #ifndef __ASSEMBLY__. Signed-off-by: Tim Abbott Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: linux-m68k@lists.linux-m68k.org Cc: Sam Ravnborg Signed-off-by: Geert Uytterhoeven commit f60a5572679ef8508b62bd82063b05ffbe838716 Author: Greg Ungerer Date: Tue Jul 7 15:54:54 2009 +1000 m68knommu: define arch_has_single_step() and friends Towards adding CONFIG_UTRACE support for non-mmu m68k add arch_has_single_step, and its support functions user_enable_single_step() and user_disable_single_step(). [Geert] m68k conflict resolution from linux-next Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 59b4caeb797494043f5f3b98a610f5d9b75eefa3 Author: Julia Lawall Date: Sun Dec 6 10:16:30 2009 +0100 perf tools: Correct size computation in tracepoint_id_to_path() The size argument to zalloc should be the size of desired structure, not the pointer to it. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @expression@ expression *x; @@ x = <+... -sizeof(x) +sizeof(*x) ...+>// Signed-off-by: Julia Lawall Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit bb729bc98c0f3e6a898d8730df3e2830bf68751a Author: Jens Axboe Date: Sun Dec 6 09:54:19 2009 +0100 cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit After the merge of the IO controller patches, booting on my megaraid box ran much slower. Vivek Goyal traced it down to megaraid discovery creating tons of devices, each suffering a grace period when they later kill that queue (if no device is found). So lets use call_rcu() to batch these deferred frees, instead of taking the grace period hit for each one. Signed-off-by: Jens Axboe commit ddbf2e8366f2a7fa3419be418cfd83a914d2527f Author: J. R. Okajima Date: Wed Dec 2 16:55:50 2009 +0900 slab, kmemleak: pass the correct pointer to kmemleak_erase() In ____cache_alloc(), the variable 'ac' may be changed after cache_alloc_refill() and the following kmemleak_erase() may get an incorrect pointer. Update 'ac' after cache_alloc_refill() unconditionally. See the following URL for the discussion of this patch: http://marc.info/?l=linux-kernel&m=125873373124187&w=2 Acked-by: Catalin Marinas Signed-off-by: J. R. Okajima Signed-off-by: Pekka Enberg commit 8055039c2a2454c7159dcbde3161943b757a6e0e Author: Shaun Patterson Date: Sat Dec 5 10:41:34 2009 -0500 x86: Fix typo in arch/x86/mm/kmmio.c Signed-off-by: Shaun Patterson Cc: Jiri Kosina Cc: pq@iki.fi LKML-Reference: <1260027694.10074.170.camel@linux-4lgc.site> Signed-off-by: Ingo Molnar commit f3d8b53a3abbfd0b74fa5dfaa690870d9619fad9 Author: J. R. Okajima Date: Wed Dec 2 16:55:49 2009 +0900 slab, kmemleak: stop calling kmemleak_erase() unconditionally When the gotten object is NULL (probably due to ENOMEM), kmemleak_erase() is unnecessary here, It just sets NULL to where already is NULL. Add a condition. Acked-by: Catalin Marinas Signed-off-by: J. R. Okajima Signed-off-by: Pekka Enberg commit 8e15b79cf4bd20c6afb4663d98a39cd004eee672 Author: Tim Blechmann Date: Mon Nov 30 18:59:34 2009 +0100 SLAB: Fix unlikely() annotation in __cache_alloc_node() Branch profiling on my nehalem machine showed 99% incorrect branch hints: 28459 7678524 99 __cache_alloc_node slab.c 3551 Discussion on lkml [1] led to the solution to remove this hint. [1] http://patchwork.kernel.org/patch/63517/ Signed-off-by: Tim Blechmann Signed-off-by: Pekka Enberg commit af2d8289f57e427836be482c6f72cca674028121 Author: Frederic Weisbecker Date: Sun Dec 6 05:34:27 2009 +0100 x86: Fixup wrong irq frame link in stacktraces When we enter in irq, two things can happen to preserve the link to the previous frame pointer: - If we were in an irq already, we don't switch to the irq stack as we are inside. We just need to save the previous frame pointer and to link the new one to the previous. - Otherwise we need another level of indirection. We enter the irq with the previous stack. We save the previous bp inside and make bp pointing to its saved address. Then we switch to the irq stack and push bp another time but to the new stack. This makes two levels to dereference instead of one. In the second case, the current stacktrace code omits the second level and loses the frame pointer accuracy. The stack that follows will then be considered as unreliable. Handling that makes the perf callchain happier. Before: 43.94% [k] _raw_read_lock | --- _read_lock | |--60.53%-- send_sigio | __kill_fasync | kill_fasync | evdev_pass_event | evdev_event | input_pass_event | input_handle_event | input_event | synaptics_process_byte | psmouse_handle_byte | psmouse_interrupt | serio_interrupt | i8042_interrupt | handle_IRQ_event | handle_edge_irq | handle_irq | __irqentry_text_start | ret_from_intr | | | |--30.43%-- __select | | | |--17.39%-- 0x454f15 | | | |--13.04%-- __read | | | |--13.04%-- vread_hpet | | | |--13.04%-- _xcb_lock_io | | | --13.04%-- 0x7f630878ce8 After: 50.00% [k] _raw_read_lock | --- _read_lock | |--98.97%-- send_sigio | __kill_fasync | kill_fasync | evdev_pass_event | evdev_event | input_pass_event | input_handle_event | input_event | | | |--96.88%-- synaptics_process_byte | | psmouse_handle_byte | | psmouse_interrupt | | serio_interrupt | | i8042_interrupt | | handle_IRQ_event | | handle_edge_irq | | handle_irq | | __irqentry_text_start | | ret_from_intr | | | | | |--39.78%-- __const_udelay | | | | | | | |--91.89%-- ath5k_hw_register_timeout | | | | ath5k_hw_noise_floor_calibration | | | | ath5k_hw_reset | | | | ath5k_reset | | | | ath5k_config | | | | ieee80211_hw_config | | | | | | | | | |--88.24%-- ieee80211_scan_work | | | | | worker_thread | | | | | kthread | | | | | child_rip | | | | | | | | | --11.76%-- ieee80211_scan_completed | | | | ieee80211_scan_work | | | | worker_thread | | | | kthread | | | | child_rip | | | | | | | --8.11%-- ath5k_hw_noise_floor_calibration | | | ath5k_hw_reset | | | ath5k_reset | | | ath5k_config Note: This does not only affect perf events but also x86-64 stacktraces. They were considered as unreliable once we quit the irq stack frame. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit b625b3b3b740e177a1148594cd3ad5ff52f35315 Author: Frederic Weisbecker Date: Sun Dec 6 00:52:56 2009 +0100 x86: Fixup wrong debug exception frame link in stacktraces While dumping a stacktrace, the end of the exception stack won't link the frame pointer to the previous stack. The interrupted stack will then be considered as unreliable and ignored by perf, as the frame pointer is unreliable itself. This happens because we overwrite the frame pointer that links to the interrupted frame with the address of the exception stack. This is done in order to reserve space inside. But rbp has been chosen here only because it is not a scratch register, so that the address of the exception stack remains in rbp after calling do_debug(), we can then release the exception stack space without the need to retrieve its address again. But we can pick another non-scratch register to do that, so that we preserve the link to the interrupted stack frame in the stacktraces. Just randomly choose r12. Every registers are saved just before and restored just after calling do_debug(). And r12 is not used in the middle, which makes it a perfect candidate. Example: perf record -g -a -c 1 -f -e mem:$(tasklist_lock_addr):rw Before: 44.18% [k] _raw_read_lock | | --- |--6.31%-- waitid | |--4.26%-- writev | |--3.63%-- __select | |--3.15%-- __waitpid | | | |--28.57%-- 0x8b52e00000139f | | | |--28.57%-- 0x8b52e0000013c6 | | | |--14.29%-- 0x7fde786dc000 | | | |--14.29%-- 0x62696c2f7273752f | | | --14.29%-- 0x1ea9df800000000 | |--3.00%-- __poll After: 43.94% [k] _raw_read_lock | --- _read_lock | |--60.53%-- send_sigio | __kill_fasync | kill_fasync | evdev_pass_event | evdev_event | input_pass_event | input_handle_event | input_event | synaptics_process_byte | psmouse_handle_byte | psmouse_interrupt | serio_interrupt | i8042_interrupt | handle_IRQ_event | handle_edge_irq | handle_irq | __irqentry_text_start | ret_from_intr | | | |--30.43%-- __select | | | |--17.39%-- 0x454f15 | | | |--13.04%-- __read | | | |--13.04%-- vread_hpet | | | |--13.04%-- _xcb_lock_io | | | --13.04%-- 0x7f630878ce87 Note: it does not only affect perf events but also other stacktraces in x86-64. They were considered as unreliable once we quit the debug stack frame. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 7f33f9c5cc3c99aeaf4d266a7ed502b828115a53 Author: Frederic Weisbecker Date: Sat Dec 5 12:01:17 2009 +0100 x86/perf: Exclude the debug stack from the callchains Dumping the callchains from breakpoint events with perf gives strange results: 3.75% perf [kernel] [k] _raw_read_unlock | --- _raw_read_unlock perf_callchain perf_prepare_sample __perf_event_overflow perf_swevent_overflow perf_swevent_add perf_bp_event hw_breakpoint_exceptions_notify notifier_call_chain __atomic_notifier_call_chain atomic_notifier_call_chain notify_die do_debug debug munmap We are infected with all the debug stack. Like the nmi stack, the debug stack is undesired as it is part of the profiling path, not helpful for the user. Ignore it. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" commit c0dfb2feb632537cf0a9d2ce3c29bcf5778fec59 Author: Frederic Weisbecker Date: Sat Dec 5 09:53:28 2009 +0100 perf: Remove the "event" callback from perf events As it is not used anymore and has been superseded by overflow_handler. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" commit b326e9560a28fc3e950637ef51847ed8f05c1335 Author: Frederic Weisbecker Date: Sat Dec 5 09:44:31 2009 +0100 hw-breakpoints: Use overflow handler instead of the event callback struct perf_event::event callback was called when a breakpoint triggers. But this is a rather opaque callback, pretty tied-only to the breakpoint API and not really integrated into perf as it triggers even when we don't overflow. We prefer to use overflow_handler() as it fits into the perf events rules, being called only when we overflow. Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" commit 2f0993e0fb663c49e4d1e02654f6203246be4817 Author: Frederic Weisbecker Date: Sat Dec 5 07:06:10 2009 +0100 hw-breakpoints: Drop callback and task parameters from modify helper Drop the callback and task parameters from modify_user_hw_breakpoint(). For now we have no user that need to modify a breakpoint to the point of changing its handler or its task context. Signed-off-by: Frederic Weisbecker Cc: "K. Prasad" commit 9cef30815b0f5b76e94a58d7674fcbf824d95579 Author: Frederic Weisbecker Date: Thu Dec 3 23:59:31 2009 +0100 perf: Remove unused struct perf_event::event_callback This field might result from an older manual rebasing mistake. We don't use it. Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" commit 189f202ed197dc25d627e8660de27ece325e9f68 Author: Frederic Weisbecker Date: Thu Dec 3 23:16:07 2009 +0100 perf: Remove pointless union that wraps the hw breakpoint fields It stands to anonymize a structure, but structures can already anonymize by themselves. Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "K. Prasad" commit ed54d0f98000ee03310150aa396e9ff8bcb394ce Author: Frederic Weisbecker Date: Thu Dec 3 22:08:26 2009 +0100 hw-breakpoints: Add two reserved fields for future extensions Add two reserved fields for future extensions in the hardware breakpoints interface. Further needs may arise. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Benjamin Herrenschmidt Cc: "K. Prasad" commit 7f5620a5fcd658f219e85831d3691908f1eccbde Author: David S. Miller Date: Sat Dec 5 17:17:55 2009 -0800 sparc: Set UTS_MACHINE correctly. "ARCH" can be just about anything, so we shouldn't end up with UTS_MACHINE of "sparc" in a 64-bit kernel build just because someone set the personality using 'sparc32' or similar. CONFIG_SPARC64 drives the compilation and therefore provides the definitive value, not "ARCH". This mirrors commit 8c6531f7a99f29ba8817ffb12cc9ecf190049bd6 (x86: correctly set UTS_MACHINE for "make ARCH=x86") Signed-off-by: David S. Miller commit 6ec22f9b037fc0c2e00ddb7023fad279c365324d Merge: 83be7d7 9b3660a Author: Linus Torvalds Date: Sat Dec 5 15:33:27 2009 -0800 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Limit number of per cpu TSC sync messages x86: dumpstack, 64-bit: Disable preemption when walking the IRQ/exception stacks x86: dumpstack: Clean up the x86_stack_ids[][] initalization and other details x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes x86: Suppress stack overrun message for init_task x86: Fix cpu_devs[] initialization in early_cpu_init() x86: Remove CPU cache size output for non-Intel too x86: Minimise printk spew from per-vendor init code x86: Remove the CPU cache size printk's cpumask: Avoid cpumask_t in arch/x86/kernel/apic/nmi.c x86: Make sure we also print a Code: line for show_regs() commit 83be7d764dc4b860712e392197ec27645f9d74a8 Merge: c2ed69c 0d0fbbd Author: Linus Torvalds Date: Sat Dec 5 15:32:35 2009 -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, msr, cpumask: Use struct cpumask rather than the deprecated cpumask_t x86, cpuid: Simplify the code in cpuid_open x86, cpuid: Remove the bkl from cpuid_open() x86, msr: Remove the bkl from msr_open() x86: AMD Geode LX optimizations x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus commit c2ed69cdc9da49a8d2d7b4212fd225abf902ceaa Merge: ef26b16 9eaa192 Author: Linus Torvalds Date: Sat Dec 5 15:32:18 2009 -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: Fix a section mismatch in arch/x86/kernel/setup.c x86: Fixup last users of irq_chip->typename x86: Remove BKL from apm_32 x86: Remove BKL from microcode x86: use kernel_stack_pointer() in kprobes.c x86: use kernel_stack_pointer() in kgdb.c x86: use kernel_stack_pointer() in dumpstack.c x86: use kernel_stack_pointer() in process_32.c commit ef26b1691d11e17af205a4ff9c91458d931d11db Merge: a77d2e0 7cff7ce Author: Linus Torvalds Date: Sat Dec 5 15:32:03 2009 -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: include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn't understand __builtin_object_size x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h x86/alternatives: Check replacementlen <= instrlen at build time x86, 64-bit: Set data segments to null after switching to 64-bit mode x86: Clean up the loadsegment() macro x86: Optimize loadsegment() x86: Add missing might_fault() checks to copy_{to,from}_user() x86-64: __copy_from_user_inatomic() adjustments x86: Remove unused thread_return label from switch_to() x86, 64-bit: Fix bstep_iret jump x86: Don't use the strict copy checks when branch profiling is in use x86, 64-bit: Move K8 B step iret fixup to fault entry asm x86: Generate cmpxchg build failures x86: Add a Kconfig option to turn the copy_from_user warnings into errors x86: Turn the copy_from_user check into an (optional) compile time warning x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() commit a77d2e081bbbccb38f42da45500dd089756efdfb Merge: 897e81b 7d1849a Author: Linus Torvalds Date: Sat Dec 5 15:31:25 2009 -0800 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits) x86, apic: Enable lapic nmi watchdog on AMD Family 11h x86: Remove unnecessary mdelay() from cpu_disable_common() x86, ioapic: Document another case when level irq is seen as an edge x86, ioapic: Fix the EOI register detection mechanism x86, io-apic: Move the effort of clearing remoteIRR explicitly before migrating the irq x86: SGI UV: Map low MMR ranges x86: apic: Print out SRAT table APIC id in hex x86: Re-get cfg_new in case reuse/move irq_desc x86: apic: Remove not needed #ifdef x86: io-apic: IO-APIC MMIO should not fail on resource insertion x86: Remove asm/apicnum.h x86: apic: Do not use stacked physid_mask_t x86, apic: Get rid of apicid_to_cpu_present assign on 64-bit x86, ioapic: Use snrpintf while set names for IO-APIC resourses x86, apic: Use PAGE_SIZE instead of numbers x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs() x86: Use EOI register in io-apic on intel platforms x86: Force irq complete move during cpu offline x86: Remove move_cleanup_count from irq_cfg x86, intr-remap: Avoid irq_chip mask/unmask in fixup_irqs() for intr-remapping ... commit 897e81bea1fcfcd2c5cdb720c9efdb25da9ff374 Merge: c3fa27d 0cf55e1 Author: Linus Torvalds Date: Sat Dec 5 15:30:49 2009 -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: (35 commits) sched, cputime: Introduce thread_group_times() sched, cputime: Cleanups related to task_times() Revert "sched, x86: Optimize branch hint in __switch_to()" sched: Fix isolcpus boot option sched: Revert 498657a478c60be092208422fefa9c7b248729c2 sched, time: Define nsecs_to_jiffies() sched: Remove task_{u,s,g}time() sched: Introduce task_times() to replace task_{u,s}time() pair sched: Limit the number of scheduler debug messages sched.c: Call debug_show_all_locks() when dumping all tasks sched, x86: Optimize branch hint in __switch_to() sched: Optimize branch hint in context_switch() sched: Optimize branch hint in pick_next_task_fair() sched_feat_write(): Update ppos instead of file->f_pos sched: Sched_rt_periodic_timer vs cpu hotplug sched, kvm: Fix race condition involving sched_in_preempt_notifers sched: More generic WAKE_AFFINE vs select_idle_sibling() sched: Cleanup select_task_rq_fair() sched: Fix granularity of task_u/stime() sched: Fix/add missing update_rq_clock() calls ... commit c3fa27d1367fac63ac8533d6f20ea851d0d70a10 Merge: 96fa2b5 d103d01 Author: Linus Torvalds Date: Sat Dec 5 15:30:21 2009 -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: (470 commits) x86: Fix comments of register/stack access functions perf tools: Replace %m with %a in sscanf hw-breakpoints: Keep track of user disabled breakpoints tracing/syscalls: Make syscall events print callbacks static tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook perf: Don't free perf_mmap_data until work has been done perf_event: Fix compile error perf tools: Fix _GNU_SOURCE macro related strndup() build error trace_syscalls: Remove unused syscall_name_to_nr() trace_syscalls: Simplify syscall profile trace_syscalls: Remove duplicate init_enter_##sname() trace_syscalls: Add syscall_nr field to struct syscall_metadata trace_syscalls: Remove enter_id exit_id trace_syscalls: Set event_enter_##sname->data to its metadata trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit perf_event: Initialize data.period in perf_swevent_hrtimer() perf probe: Simplify event naming perf probe: Add --list option for listing current probe events perf probe: Add argv_split() from lib/argv_split.c perf probe: Move probe event utility functions to probe-event.c ... commit 28b4d5cc17c20786848cdc07b7ea237a309776bb Merge: d29cecd 96fa2b5 Author: David S. Miller Date: Sat Dec 5 15:22:26 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: drivers/net/pcmcia/fmvj18x_cs.c drivers/net/pcmcia/nmclan_cs.c drivers/net/pcmcia/xirc2ps_cs.c drivers/net/wireless/ray_cs.c commit e97f4677961f68e29bd906022ebf60a6df7f530a Author: Mauro Carvalho Chehab Date: Fri Dec 4 17:17:47 2009 -0300 V4L/DVB (13542): ir-keytable: Allow dynamic table change Signed-off-by: Mauro Carvalho Chehab commit 92fda216b439932bf7511e6381bbe1d42ba98875 Author: David Wong Date: Thu Dec 3 10:57:02 2009 -0300 V4L/DVB (13541): atbm8830: replace 64-bit division and floating point usage Randy Dunlap wrote: > On Mon, 30 Nov 2009 10:07:21 -0800 Randy Dunlap wrote: > >> Stephen Rothwell wrote: >>> Hi all, >>> >>> Changes since 20091127: >>> >>> The v4l-dvb tree lost its conflict. >> >> on i386 (X86_32): >> >> a 'double' variable is used, causing: >> >> ERROR: "__floatunsidf" [drivers/media/common/tuners/max2165.ko] undefined! >> ERROR: "__adddf3" [drivers/media/common/tuners/max2165.ko] undefined! >> ERROR: "__fixunsdfsi" [drivers/media/common/tuners/max2165.ko] undefined! > > > linux-next-20091202: > > still have this one (above) and similar with > drivers/media/dvb/frontends/atbm8830.c: > > drivers/built-in.o: In function `atbm8830_init': > atbm8830.c:(.text+0x9012f9): undefined reference to `__udivdi3' > atbm8830.c:(.text+0x901384): undefined reference to `__floatunsidf' > atbm8830.c:(.text+0x901395): undefined reference to `__muldf3' > atbm8830.c:(.text+0x9013a5): undefined reference to `__floatunsidf' > atbm8830.c:(.text+0x9013b2): undefined reference to `__divdf3' > atbm8830.c:(.text+0x9013c3): undefined reference to `__muldf3' > atbm8830.c:(.text+0x9013cd): undefined reference to `__fixunsdfsi' > > --- > ~Randy > -- > 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 This patch replace 64-bit division by do_div() macro and remove usage of floating point variable Signed-off-by: David T. L. Wong Acked-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 7fee03e487e87a196deb5602ee3c7676511995c9 Author: Mauro Carvalho Chehab Date: Wed Dec 2 15:56:47 2009 -0300 V4L/DVB (13540): ir-common: Cleanup get key evdev code The same loop to seek for a key were used on different places. Also, no spinlock were protecting it to avoid the risk of replacing a keycode while seeking for a new code. This cleanup does: - create an unique function to seek for a code; - adds an spinlock to protect the table lookup; - remove some unused code; - simplifies to code to make it easier to understand. Basically no change in behavior should be noticed after this patch. Signed-off-by: Mauro Carvalho Chehab commit a53e21257171af42c9fa6aee417f7891744d6ebf Author: Mauro Carvalho Chehab Date: Wed Dec 2 15:44:30 2009 -0300 V4L/DVB (13539): ir-common: add __func__ for debug messages Signed-off-by: Mauro Carvalho Chehab commit f6fc50494027e913ff0159e43c593cd75f35ec7a Author: Mauro Carvalho Chehab Date: Sun Nov 29 11:08:02 2009 -0300 V4L/DVB (13538): ir-common: Use a dynamic keycode table Signed-off-by: Mauro Carvalho Chehab commit 055cd55601f948675006ca90362fc2bfaae90a86 Author: Mauro Carvalho Chehab Date: Sun Nov 29 08:19:59 2009 -0300 V4L/DVB (13537): ir: Prepare the code for dynamic keycode table allocation Currently, the IR table is initialized by calling ir_input_init(). However, this function doesn't return any error code, nor has a function to be called when de-initializing the IR's. Change the return argment to integer and make sure that each driver will handle the error code. Also adds a function to free any resources that may be allocating there: ir_input_free(). Signed-off-by: Mauro Carvalho Chehab commit 0278155c84af42d78785731263b69fb49f945ea7 Author: Mauro Carvalho Chehab Date: Fri Nov 27 23:28:40 2009 -0300 V4L/DVB (13536): em28xx: Use the full RC5 code on HVR-950 Remote Controller Modifies the IR table for HVR-950 to use the newer Hauppauge RC5 table, and adds the RC5 address to the functions that get the scancode for this device. It is easy to add support for all other RC5 IR's on em2880 boards, but the scancode table needs to be re-generated. So, keep using the old 7bits tables while we don't have all tables converted. Also, the 7bits tables are still used on other drivers, so this small patch needs to be ported to all drivers. Signed-off-by: Mauro Carvalho Chehab commit 35d1988c6e19db3d4240e2a60c71b3a13abf0781 Author: Mauro Carvalho Chehab Date: Fri Nov 27 23:25:13 2009 -0300 V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code Now that V4L drivers can support more than 7 bits for scan code, let's add a modified version for the Hauppauge Grey IR containing the full IR scancode. Signed-off-by: Mauro Carvalho Chehab commit 6d691237e61ed68a04b14e3c89364e481421d6e8 Author: Mauro Carvalho Chehab Date: Fri Nov 27 22:51:56 2009 -0300 V4L/DVB (13534): ir-common: Remove some unused fields/structs Now that the IR conversion to dynamic tables has finished, we can get rid of some fields and definitions that aren't used anymore. Signed-off-by: Mauro Carvalho Chehab commit 8573b74af25c279de3e309beddcba984bee9ec15 Author: Mauro Carvalho Chehab Date: Fri Nov 27 22:40:22 2009 -0300 V4L/DVB (13533): ir: use dynamic tables, instead of static ones Signed-off-by: Mauro Carvalho Chehab commit ef53a1159dfcdc1fecf5adb5b8d26803f194c09b Author: Mauro Carvalho Chehab Date: Fri Nov 27 22:01:23 2009 -0300 V4L/DVB (13532): ir-common: Add infrastructure to use a dynamic keycode table V4L drivers use an static keycode vector with 128 entries, where the scancode indexes the keycode. While this works, it limits the scancodes to have only 7 bits, not allowing for example full RC5 codes. Instead of implementing the same code on every V4L driver, provide a common infrastructure to handle the bigger tables, minimizing the changes inside each driver. Signed-off-by: Mauro Carvalho Chehab commit 4e89217b943cfb26f88f04920d44f2077931f0e7 Author: Mauro Carvalho Chehab Date: Fri Nov 27 21:54:41 2009 -0300 V4L/DVB (13531): ir-common: rename the debug routine to allow exporting it As newer IR common code will be added on other files, we need a global debug var inside the module. Signed-off-by: Mauro Carvalho Chehab commit fa3c39bd17449581eedaa1a0b7c8b67ec20c796e Author: Pete Eberlein Date: Mon Nov 16 15:16:00 2009 -0300 V4L/DVB (13458): go7007: subdev conversion Convert the go7007 driver to v4l2 subdev interface, using v4l2 i2c subdev functions instead of i2c functions directly. The v4l2 ioctl ops functions call subdev ops instead of i2c commands. Signed-off-by: Pete Eberlein Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 05d76f2da1e5ccb68a3610246501334e5bc42542 Author: Pete Eberlein Date: Mon Nov 16 15:15:07 2009 -0300 V4L/DVB (13457): s2250: subdev conversion Convert the s2250 i2c driver to use v4l2 subdev interface. Signed-off-by: Pete Eberlein Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 832b6a8917f050a9cbeeb69e080733128d562f59 Author: Pete Eberlein Date: Mon Nov 16 15:13:51 2009 -0300 V4L/DVB (13456): s2250: Change module structure The s2250-board i2c module was converted to use v4l2-i2c-drv.h in preparation for its subdev conversion. This change prevented the s2250-loader from being initialized within the same module due to the module_init and module_exit function definitions in v4l2-i2c-drv.h. Therefore, s2250-loader is now its own module, and the header for exporting s2250-loader functions is no longer needed. The s2250 i2c module name was "2220-board" in some places, and was changed to "s2250". Signed-off-by: Pete Eberlein Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 694a101e6acb865f5405a95c358eea43c813cf24 Author: Mauro Carvalho Chehab Date: Thu Nov 26 21:26:13 2009 -0300 V4L/DVB (13528): em28xx: add support for em2800 VC211A card Adds support to VC211A em2800 card. As this board doesn't have eeprom, and uses a common set of i2c address, it has no way to add any autodetection for it. The patch were tested by me and by Raimundo on his board. Thanks to those tests, several bugs related to em2800 support were corrected. for producing the usbsnoop dump, used to get the gpio's and allowing me to remotelly access his machine and to the needed tests. Thanks-to: Raimundo Eduvirgnes de Oliveira Signed-off-by: Mauro Carvalho Chehab commit fb3de0398ab1bf270bc55f66945f82e61e50f6b6 Author: Mauro Carvalho Chehab Date: Fri Nov 27 13:55:21 2009 -0200 em28xx: don't reduce scale to half size for em2800 Since em2800 can't support 720x480 / 720x576, the driver used to reduce the scale to half the size on those chips. As the proper fix were applied, reducing the maximum horizontal resolution to 640, this hack can be removed. Signed-off-by: Mauro Carvalho Chehab commit 0731160aca15df5882387e07d61671e6746c658f Author: Mauro Carvalho Chehab Date: Fri Nov 27 13:52:54 2009 -0200 em28xx: don't load audio modules when AC97 is mis-detected With em2800 hardware, AC97 hardware can be detected even when it doesn't exist. If, after probing for AC97, the driver won't find a companion chip, simply prevents the load of the audio modules. Signed-off-by: Mauro Carvalho Chehab commit 1ca31892e3af05ad3a72769e3c922cca3cde4f9d Author: Mauro Carvalho Chehab Date: Fri Nov 27 13:49:48 2009 -0200 em28xx: em2800 chips support max width of 640 Due to hardware limitation, em2800 chips can't work at resolutions higher than 640x576, since the URB packet size is not enough. The effect is that the image looses packages and shows a distortion along the vertical axes. Signed-off-by: Mauro Carvalho Chehab commit 491aa96a8c37260d2466735ecd3c662db8c0a7af Author: Hans Verkuil Date: Wed Nov 25 18:48:54 2009 -0300 V4L/DVB (13523): dvb-bt8xx: fix compile warning Fix this compile warning: v4l/dvb-bt8xx.c: In function 'cx24108_tuner_set_params': v4l/dvb-bt8xx.c:221: warning: array subscript is above array bounds Make sure that we never get past the last element in the array. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 289a774bf53b366393e51b4f512b610bfb5fdd9d Author: Hans Verkuil Date: Wed Nov 25 18:42:42 2009 -0300 V4L/DVB (13522): valj5jf8007s/t: fix compile warnings Trivial fix for these bogus compile warnings: v4l/va1j5jf8007s.c: In function 'va1j5jf8007s_tune': v4l/va1j5jf8007s.c:394: warning: 'lock' may be used uninitialized in this function v4l/va1j5jf8007t.c: In function 'va1j5jf8007t_tune': v4l/va1j5jf8007t.c:273: warning: 'lock' may be used uninitialized in this function v4l/va1j5jf8007t.c:273: warning: 'retry' may be used uninitialized in this function These variables are never used uninitialized, but the compiler couldn't figure that out unfortunately. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 516e24d78feb4dded16df0053bd0e7c7f68fafa2 Author: Hans Verkuil Date: Wed Nov 25 18:39:31 2009 -0300 V4L/DVB (13521): dib8000: fix compile warning Trivial fix for this bogus compile warning: v4l/dib8000.c:958: warning: 'ncoeff' may be used uninitialized in this function Note: ncoeff is never used uninitialized, but the compiler couldn't figure that out. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 533ce0464f290c74ee76dc952a9e630df38c5a7d Author: Hans Verkuil Date: Wed Nov 25 16:12:01 2009 -0300 V4L/DVB (13518): spec: regenerate videodev2.h.xml After excluding .h.xml from the whitespace to tab conversion I had to regenerate this xml file. The only changes here are whitespace changes. If we change videodev2.h in the future, then videodev2.h.xml will only show that same change and no more unrelated whitespace changes. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit feba2f817d87891c002739ecdb54eef56740b882 Author: Hans Verkuil Date: Wed Nov 25 12:47:02 2009 -0300 V4L/DVB (13509): pms: convert from V4L1 to V4L2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1ce7981be36e05216df64ffeceb8230d9b569b87 Author: Hans Verkuil Date: Wed Nov 25 12:37:00 2009 -0300 V4L/DVB (13508): pms: source code cleanup, use struct v4l2_device. This prepares the pms driver for the v4l1 -> v4l2 conversion. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8ca5a639f4f3eb8958a7e270fcff7516374637a5 Author: Laurent Pinchart Date: Wed Nov 25 12:00:30 2009 -0300 V4L/DVB (13506): uvcvideo: Factorize common field in uvc_entity structure The bNrInPins and baSourceID fields are common among all entities (some of use bSourceID but this is conceptually the same). Move those two fields out of entity type-specific unions into the uvc_entity structure top level. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4057ac6ca9a77c4275b34b5925ab5c99557913b1 Author: Laurent Pinchart Date: Wed Nov 25 12:00:29 2009 -0300 V4L/DVB (13505): uvcvideo: Refactor chain scan Don't handle the first output terminal in a chain in a special way. Use uvc_scan_chain_entity() like for all other entities, making the chain scan code more generic. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fd3e921739aff709bbaae6d75d9f64542f47c850 Author: Laurent Pinchart Date: Wed Nov 25 12:00:27 2009 -0300 V4L/DVB (13504): uvcvideo: Fix extension units parsing The bNrInPins field is an 8 bit integer, not a 16 bit integer. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6241d8ca1dc27356180011dff4d93a3c5b3cbd76 Author: Laurent Pinchart Date: Wed Nov 25 12:00:22 2009 -0300 V4L/DVB (13503): uvcvideo: Merge iterms, oterms and units linked lists All terminals and units are now added to a single linked list of entities per chain. This makes terminals and units handling code more generic. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit bce039c099e97b07534518b5f3c0ce31b1606ff6 Author: Laurent Pinchart Date: Wed Nov 25 11:15:56 2009 -0300 V4L/DVB (13502): uvcvideo: Add support for Genius eFace 2025 webcams The Genius eFace 2025 (0458:706e) requires the MINMAX quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 75727460a6dfa4c7fd8472a99269982ec4662e64 Author: Gary Francis Date: Wed Nov 25 03:03:31 2009 -0300 V4L/DVB (13500): pvrusb2: Fix lingering 16KB FX2 Firmware issues These are additional fixes to enable proper pvrusb2 support of 16KB sized FX2 firmware. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 9081d9018581e01eec9085a80c86bc07e7168f18 Author: Mike Isely Date: Wed Nov 25 02:59:34 2009 -0300 V4L/DVB (13499): pvrusb2: Cosmetic tweak to minimize size_t exposure Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4b1c83cc51381c3d523452353204247398f5116c Author: Mike Isely Date: Wed Nov 25 02:57:21 2009 -0300 V4L/DVB (13498): pvrusb2: Bind I2C address 0x71 for Zilog IR devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1d70c7fdbb78b0cd40b850a14225aed454c0a062 Author: Mike Isely Date: Wed Nov 25 02:55:38 2009 -0300 V4L/DVB (13497): pvrusb2: Shorten device hardware description text to work around V4L shortcoming The device text description in pvrusb2-devattr.c get mapped into a V4L API string field that is unfortunately shorter than I expected. No sense fighting City Hall here - this change shortens the descriptions to fit the limit. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 568efaa2f704f72eef9b70ac0f895e9b961f15a6 Author: Mike Isely Date: Wed Nov 25 02:52:06 2009 -0300 V4L/DVB (13496): pvrusb2: Support manual extraction of 16KB FX2 firmware This pvrusb2 change is in support of an existing feature used to help identify and locate newer vendor supplied firmware. This change makes the feature work for the newer larger firmware size. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c21c2db414bb38086f99c586ffdf019eedb9cad8 Author: Mike Isely Date: Wed Nov 25 02:49:21 2009 -0300 V4L/DVB (13495): pvrusb2: Support 16KB FX2 firmware New FX2 firmware from Hauppauge is no longer 8KB in size - it's 16KB. This is true for HVR-1950 and HVR-1900 devices. Without this change, new pvrusb2 users with that hardware are unable to use the driver (because the CD shipped with the hardware only has the 16KB firmware). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 09ea33e5c696958e8b1ae6d5ab184476b16592f1 Author: Igor M. Liplianin Date: Tue Nov 24 20:16:04 2009 -0300 V4L/DVB (13493): TeVii S470 and TBS 6920 fixes The new hardware design applied for this cards. Silicon Labs C8051F300 microcontroller is used for LNB power control. It connected to cx23885 GPIO pins: GPIO0 - P0.3 data GPIO1 - P0.2 reset GPIO2 - P0.1 clk GPIO3 - P0.0 busy Tevii S470 based on Montage Technology M88TS2020 digital satellite tuner and M88DS3000 advanced DVB-S/S2 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 6afd2aa856eba0706176cecea1f989b1081c96dc Author: Jean-Francois Moine Date: Tue Nov 24 06:13:28 2009 -0300 V4L/DVB (13491): gspca - vc032x: Avoid crash on querymenu. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c22c4a20a6ac7b10e43eab6963f941795c5e92aa Author: Jean-Francois Moine Date: Tue Nov 24 05:22:05 2009 -0300 V4L/DVB (13490): gspca - ov534: Add controls for sensor ov965x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b8c8a5bf833db5ad80266a6a9e5ad496ab01d434 Author: Jean-Francois Moine Date: Mon Nov 23 06:46:35 2009 -0300 V4L/DVB (13489): gspca - sonixj: Add the sensor po1030. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4e5cf58ecf98f7cce8033d5b8249c3e9d7ada3f0 Author: Jean-Francois Moine Date: Sun Nov 15 05:21:09 2009 -0300 V4L/DVB (13488): gspca - ov534: Remove extra values at end of ov965x sequences. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 569691a5a0fe844e36890e49833130e665868136 Author: Jean-Francois Moine Date: Sat Nov 14 09:45:38 2009 -0300 V4L/DVB (13487): gspca - ov534: Add svga, xga and sxga modes for ov965x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b8415f5314ce0b190b5963d2180441cd862efa26 Author: Hans Verkuil Date: Wed Nov 25 14:30:53 2009 -0300 V4L/DVB (13480): atbm8830: fix compile warning Fix this trivial compile warning: v4l/atbm8830.c:164: warning: 'set_agc_config' defined but not used Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a7925eb3e4b5cf9f223cd30bbd3e93b9daa02816 Author: Hans Verkuil Date: Wed Nov 25 14:29:33 2009 -0300 V4L/DVB (13479): cxusb: fix compile warning Fix this trivial compile warning: v4l/cxusb.c:1195: warning: unused variable 'n' Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f3ea4debb8106287af87dd0ee770e97b59c1ac4 Author: Hans Verkuil Date: Wed Nov 25 11:55:04 2009 -0300 V4L/DVB (13478): cx18: remove bogus init call. The cx18 av core implemented an init call for no good reason. It's now turned into an internal function. Signed-off-by: Hans Verkuil Reviewed-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit dbc8e34a3265e7ec6b2a07c4337c60a947768891 Author: Hans Verkuil Date: Tue Jun 9 17:34:01 2009 -0300 V4L/DVB (13477): v4l2-subdev: remove unnecessary check Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 57f902d0f38ebc38ea0a00899743eb917c61a7db Author: Hans Verkuil Date: Wed Nov 25 11:27:16 2009 -0300 V4L/DVB (13476): spec: remove old dvb-spec and v4l2-spec directories It was really confusing to have media-specs, v4l2-spec and dvb-spec. So this patch removes v4l2-spec and dvb-spec. The docs in dvb-spec and the V4L1_API.html file were moved to media-specs/old-docs. Removed all references to v4l2-spec and dvb-spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a4834cef185fbe73f26c864fe38badc4f890afb7 Author: Vaibhav Hiremath Date: Tue Nov 10 13:14:51 2009 -0300 V4L/DVB (13471): v4l2 doc: Added FBUF_CAP_SRC_CHROMAKEY/FLAG_SRC_CHROMAKEY Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d8008562379b927758ca08eded1508c68d9beb4e Author: Vaibhav Hiremath Date: Tue Nov 10 13:46:36 2009 -0300 V4L/DVB (13470): V4L2: Add Capability and Flag field for Chroma Key Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d73bfc5fe625f6962d0ced84066e201249f14e53 Author: Vaibhav Hiremath Date: Tue Nov 10 13:12:25 2009 -0300 V4L/DVB (13469): Davinci VPFE Capture: Add support for Control ioctls Added support for Control IOCTL, - s_ctrl - g_ctrl - queryctrl Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bd9778019b4bd52fe21b4e41b826b1282693687e Author: Vaibhav Hiremath Date: Mon Nov 9 10:04:06 2009 -0300 V4L/DVB (13468): v4l2 doc: Added ROTATE and BG_COLOR control documentation Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 85213630731605503c8fd4df9bf06beefb2cc7c4 Author: Vaibhav Hiremath Date: Tue Nov 10 13:32:53 2009 -0300 V4L/DVB (13467): V4L2: Added CID's V4L2_CID_ROTATE/BG_COLOR Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1ead696b4c1b719eeae313618bca89e7b37c7d9b Author: Vaibhav Hiremath Date: Mon Nov 9 09:15:07 2009 -0300 V4L/DVB (13466): Davinci VPFE Capture:Replaced IRQ_VDINT1 with vpfe_dev->ccdc_irq1 Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 14cbaafe6f8587aed632de747322cd3add421a76 Author: Vaibhav Hiremath Date: Mon Nov 9 09:14:16 2009 -0300 V4L/DVB (13465): Davinci VPFE Capture: Take i2c adapter id through platform data The I2C adapter ID is actually depends on Board and may vary, Davinci uses id=1, but in case of AM3517 id=3. Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e53a70b4725f0a5e10e659c8352696548b9b9478 Author: Vaibhav Hiremath Date: Mon Nov 9 09:13:20 2009 -0300 V4L/DVB (13464): Davinci VPFE Capture: add i2c adapter id in platform data The I2C adapter ID is actually depends on Board and may vary, Davinci uses id=1, but in case of AM3517 id=3. Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 204e6ea981ac46974508ddf403dbb72dc804dcb3 Author: Vaibhav Hiremath Date: Mon Nov 9 09:07:36 2009 -0300 V4L/DVB (13463): Davinci VPFE Capture: Specify device pointer in videobuf_queue_dma_contig_init Signed-off-by: Vaibhav Hiremath Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 47a50307982b4a3de2d7270c28527c3a360269bf Author: Hans Verkuil Date: Mon Nov 23 14:14:26 2009 -0300 V4L/DVB (13460): v4l2-spec: add missing V4L2-PIX-FMT-STV0680 description. [mchehab@redhat.com: fix the wrong videodev2.h.xml file] Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b398f4f124e2b4b03f9acf726370c8459610c5c Author: Pete Eberlein Date: Mon Nov 16 15:07:42 2009 -0300 V4L/DVB (13455): go7007: Add struct v4l2_device. This adds a struct v4l2_device to the go7007 device struct and registers it during v4l2 initialization. The v4l2_device registration overwrites the go->dev device_data, which is a struct usb_interface with intfdata set to the struct go7007. This changes intfdata to point to the struct v4l2_device inside struct go7007, which is what v4l2_device_register will also set it to (and warn about non-null drvdata on register.) Since usb disconnect can happen any time, this intfdata should always be present. Signed-off-by: Pete Eberlein Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 76dd272b56cd1c7fa013ef5d7eb28c4d319e322b Author: Jean-Francois Moine Date: Fri Nov 13 09:21:03 2009 -0300 V4L/DVB (13453): gspca - all subdrivers: Remove the unused frame ptr from pkt_scan(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d131c3c9e136cb5a817094c3dc4b7261b495cd6e Author: Jean-Francois Moine Date: Fri Nov 13 08:16:02 2009 -0300 V4L/DVB (13452): gspca - main: Let the driver scan URB packets when no frame buffer. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3ec342f25004c87c0d94de1bc1b5399685d58ad8 Author: Jean-Francois Moine Date: Fri Nov 13 07:38:16 2009 -0300 V4L/DVB (13451): gspca - main: Memorize the current frame buffer. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8157852f73f961b28d495bfa8374263d293b106d Author: Jean-Francois Moine Date: Fri Nov 13 07:15:08 2009 -0300 V4L/DVB (13450): gspca - main: Clear the urb status before resubmit. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2d19a2c1186d86e38b51ef59e4b9678f8ad7acf4 Author: Jean-Francois Moine Date: Thu Nov 12 16:15:44 2009 -0300 V4L/DVB (13449): gspca - ov534: The AWB control works only when autogain is set. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4af85668588e249d98957a41030c3a2d2acc87e5 Author: Jean-Francois Moine Date: Thu Nov 12 15:59:27 2009 -0300 V4L/DVB (13448): gspca - main: Add a gspca flag for inactive controls. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7ce5c41db3672c8b4419b16d9b3ac1ccf11a1445 Author: Andy Walls Date: Sat Nov 21 16:19:27 2009 -0300 V4L/DVB (13446): ivtv: Add more explicit detection of known IR devices for Hauppauge cards Avoid legacy IR I2C probing for PVR-150, PVR-500, and PVR-350 cards. This still probes, but restricts the possbile addresses probed per card. Also removed legacy probe addresses for the KNC and PixelView cards which are not supported by ivtv as far as I know. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8352619043a04785b8d20e438629b14e556fffce Author: Andy Walls Date: Sat Nov 21 13:39:28 2009 -0300 V4L/DVB (13445): cx18: Use per cx18 instance init data for ir-kbd-i2c instead of const data This change creates per cx18 instances of IR_i2c_init_data for handing over initialization data to ir-kbd-i2c, since that module wants non-const data even though it never modifies the data. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ad2fe2d48812029b0b674594f297d0723f7c6e8f Author: Andy Walls Date: Sat Nov 21 12:52:34 2009 -0300 V4L/DVB (13444): ivtv: Add explicit IR controller initialization for the AVerTV M116 Add explicit support for the AVerTV M116 for use with the ir-kbd-i2c module. This also eases future support for other AVerMedia ivtv boards with the same microcontroller program at I2C address 0x40. This is a reworked version of an earlier patch that was... Reviewed-by: Jean Delvare Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit bfbde8ee56d4a19e2d36a5a24b6dbfd298298bf1 Author: Andy Walls Date: Sat Nov 21 11:41:33 2009 -0300 V4L/DVB (13443): ivtv: Defer legacy I2C IR probing until after setup of known I2C devices This avoids collisions of legacy IR controller probing with known I2C devices in the card definitions in ivtv-cards.c. I2C driver modules for device listed explicitly in a card definition should always take precedence over a probe guessing where and IR controller may be. Reviewed-by: Jean Delvare Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f412d36a8c9f8e40e057b71e80d534ac388e903e Author: Andy Walls Date: Sat Nov 21 01:47:45 2009 -0300 V4L/DVB (13442): ivtv: Add module parameter to adjust I2C SCL clock period per board Add a module parameter to adjust I2C SCL clock period per board. This allows some experimental fine tuning by end users to overcome quirky I2C device problems. Reported-by: "Aleksandr V. Piskunov" Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e45e8f5cee75b0559ce1ca7007b4963b91910fa8 Author: Aleksandr V. Piskunov Date: Sat Nov 21 00:47:25 2009 -0300 V4L/DVB (13441): ivtv: Added FM radio support to Avermedia AVerTV MCE 116 Plus card Signed-off-by: Aleksandr V. Piskunov Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 23bff27aaf81f58a042ee2c9c58c1881635703c3 Author: Andy Walls Date: Sat Nov 21 00:08:09 2009 -0300 V4L/DVB (13440): ivtv: Update the cards definitions to add another AVerMedia M113 variant Add an AVerMedia M113 variant that was... Reported-by: Hiemanshu Sharma Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9018f6c3a22ef2d7413da17813312d781163d950 Author: Antoine Jacquet Date: Thu Nov 19 22:35:38 2009 -0300 V4L/DVB (13438): zr364xx: add support for Trust Powerc@m 910Z Tested-by: Enrique Dominguez Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 543ae45a7fc88c773358da326bc9e965b69aad06 Author: Andy Walls Date: Wed Nov 11 01:18:41 2009 -0300 V4L/DVB (13434): cx18: Bump version number due to significant buffer handling changes. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ad689d54f979233c024c25a2221f4fd6f56543fe Author: Andy Walls Date: Wed Nov 11 00:57:16 2009 -0300 V4L/DVB (13433): cx18: Remove duplicate list traversal when processing incoming MDLs Update the incoming MDL's buffers' bytesused and sync the buffers for the cpu in one pass instead of two. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 127ce5f0adcca71eeeed2386ed4742ea6363a063 Author: Andy Walls Date: Wed Nov 11 00:22:57 2009 -0300 V4L/DVB (13432): cx18: Adjust encoder VBI MDL size to be exactly frame's worth of VBI data Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1047a83844a4d894a068d94aca2d3efe54ac7a9c Author: Andy Walls Date: Tue Nov 10 23:28:30 2009 -0300 V4L/DVB (13431): cx18: Adjust an MDL's final buffer size to force encoder transfer size The encoder was not honoring the MDL size sent in DE_SET_MDL mailbox commands. This change adjusts the size of the last buffer in an MDL, as reported to the firmware, so that the encoder will send the exact amount of bytes we specify per MDL transfer. This eliminates tearing in YUV playback when using non-default YUV buffer sizes. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 22dce188ef3e1e058ceabe3b3072640d7568f764 Author: Andy Walls Date: Mon Nov 9 23:55:30 2009 -0300 V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer Fix YUV capture such that the encoder will pass one frame per transfer. This will allow the application to maintain frame alignment when a transfer from the encoder is missed due to high system latency in service the CX23418 IRQ. Also force YUV buffer sizes to be specified in multiples of 33.75 kB, the smalled amount of buffer sizes need to store a complete set of HM12 4:2:0 macroblocks specifying 32 lines of the frame. A full 60Hz/525 line screen requires 15 * 33.75 kB per frame and a full 50Hz/625 line screen requires 18 * 33.75 kB per frame so the default buffer size is 3 * 33.75 kB, requiring exactly 5 or 6 buffers per MDL respectively. The bytes needed per frame and hence MDL need not be the bytes in an integer number of buffers. However, if frame artifacts are seen with scaled screen sizes, the YUV buffer size can be set 34 kB (33.75 kB) to get rid of the artifacts at the cost of more copies between the kernel and userspace. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 52fcb3ecc6707f52dfe4297f96b7609d4ba517fb Author: Andy Walls Date: Sun Nov 8 23:45:24 2009 -0300 V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling Add a Memory Descriptor List (MDL) layer to buffer handling to implement scatter-gather I/O. Currently there is still only 1 buffer per MDL. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit fa655dda5ce6e5ac4a9b94fd451358edca2ddab8 Author: Andy Walls Date: Thu Nov 5 21:51:24 2009 -0300 V4L/DVB (13428): cx18: Rename mdl_offset to mdl_base_idx or free_mdl_idx as appropriate Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c37b11bf17b66b960b217c35283aa9c55eacb292 Author: Andy Walls Date: Wed Nov 4 23:13:58 2009 -0300 V4L/DVB (13427): cx18: Rename struct cx18_queue.buffers to struct cx18_queue.depth Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f0076e60b5a61072b671b597ed2cc210f1b3cbf1 Author: Andy Walls Date: Wed Nov 4 22:33:33 2009 -0300 V4L/DVB (13426): cx18: Rename struct cx18_mdl to struct cx18_mdl_ent Rename type in anticipation of implementing a struct cx18_mdl type that actually keeps track of a memory descriptor list. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c76e6f11662f49dd31a49a07f4c06ee9bea6572b Author: Jean-Francois Moine Date: Thu Nov 12 06:13:41 2009 -0300 V4L/DVB (13425): gspca - ov534: Bad name of the ov965x 320x240 resolution. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 69f1fe28f08000a123b3d71fac88564109da09fd Author: Jean-Francois Moine Date: Thu Nov 12 06:10:36 2009 -0300 V4L/DVB (13424): gspca - ov534: Fix ov772x brightness and ov965x frame rate. - the ov772x brightness was not setteble (fixed by M. Thrun) - the set_frame_rate function does not work for ov965x Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b014f94b28713e169a438131a5ce2752068068ad Author: Jean-Francois Moine Date: Wed Nov 11 14:28:53 2009 -0300 V4L/DVB (13423): gspca - ov534: More ov772x changes from Max Thrun. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 189d92af707ead6aa4a3e14511662462e8e956e2 Author: Jean-Francois Moine Date: Wed Nov 11 07:46:28 2009 -0300 V4L/DVB (13422): gspca - ov534: ov772x changes from Richard Kaswy. - 320x240 resolution added - controls added - different sd_desc tables Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4bdf4a8342ca01ff794f5de8f9766cf15947a2ef Author: Jean-Francois Moine Date: Tue Nov 10 14:49:43 2009 -0300 V4L/DVB (13421): gspca - main: Clearer message when bandwidth too small. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 89b3d78d153a049924eb0da92caf55dc1e0f5d75 Author: Jean-Francois Moine Date: Tue Nov 10 06:46:59 2009 -0300 V4L/DVB (13420): gspca - doc: Change the name of some webcams. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6763cc0e54e95eea356e15f9cd9a2f7b5ebeb7e8 Author: Márton Németh Date: Mon Nov 9 07:10:46 2009 -0300 V4L/DVB (13419): gspca - pac7302: Add debug register write interface. Add debug register write interface to pac7302 to be able to set for example the edge detect mode (bit 2 register 0x55) or the test pattern (bit 0..3, register 0x72) and test overlay (bit 4, register 0x72) from the user space. Only write of register page 0 is supported by this patch. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4d0fc03a76d96fff0cf6c815702ae04896b74cde Author: Márton Németh Date: Mon Nov 9 07:08:04 2009 -0300 V4L/DVB (13418): gspca - pac7311: Stop sending URBs on first error. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8b0bca1a7ea8479490bcc06835ccbf590ba2c4e Author: Jonathan Corbet Date: Mon Nov 23 14:29:35 2009 -0300 V4L/DVB (13417): Fix videobuf_queue_vmalloc_init() prototype For whatever reason, the device structure pointer to videobuf_queue_vmalloc_init is typed "void *", even though it's passed right through to videobuf_queue_core_init(), which expects a struct device pointer. The other videobuf implementations use struct device *; I think vmalloc should too. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit f58d7856695b6a3a03a56250c6c591022ac9918f Author: Márton Németh Date: Sun Nov 22 18:52:31 2009 -0300 V4L/DVB (13416): smssdio: initialize return value The return value may be used uninitialized when the size parameter happens to be 0. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 296372e3b04a41853df1be6623a5bd634051458c Author: Márton Németh Date: Sun Nov 22 18:03:05 2009 -0300 V4L/DVB (13415): videobuf-core: explicitly cast page count Explicitly cast page count in the debug message. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit b1858190fc0180df70e9e7bab24a679129643f43 Author: Márton Németh Date: Sat Nov 21 13:46:12 2009 -0300 V4L/DVB (13414): ttusb-dec: do not overwrite the first part of phys string Use strlcat() to append a string to the previously created first part. The semantic match that finds this kind of problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression dev; expression phys; expression str; expression size; @@ usb_make_path(dev, phys, size); - strlcpy(phys, str, size); + strlcat(phys, str, size); // Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit cd0e280f1bbecebcd20ed0ddd4dd8fb03a506b3c Author: Julia Lawall Date: Sat Nov 21 08:49:41 2009 -0300 V4L/DVB (13413): introduce missing kfree Error handling code following a kzalloc should free the allocated data. Similarly for usb-alloc urb. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit c95a419a5604ec8a23cd73f61e9bb151e8cbe89b Author: Roel Kluin Date: Fri Nov 20 15:34:13 2009 -0300 V4L/DVB: Fix test in copy_reg_bits() The reg_pair2[j].reg was tested twice. Cc: Signed-off-by: Roel Kluin Acked-by: Michael Krufky Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 5375659a3df319700d97d911e44926fb43354839 Author: Stefan Richter Date: Wed Nov 18 16:01:34 2009 -0300 V4L/DVB (13410): firedtv: remove an unnecessary function argument All read transactions initiated by firedtv are only quadlet-sized, hence the backend->read call can be simplified a little. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit b1d33f4b0ae319ca79b6bafd6e815cbe0dcd7c14 Author: Stefan Richter Date: Wed Nov 18 16:01:14 2009 -0300 V4L/DVB (13409): firedtv: packet requeuing is likely to succeed Packet DMA buffers are queued either initially all at once (then, a queueing failure will cause firedtv to release the DMA context as a whole) or subsequently one by one as they recycled after use (then a failure is extremely unlikely). Therefore we can be a little less cautious when counting at which packet buffer to set the interrupt flag. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit a8aeb7836edac3e0cce1286eefbca793c54cbad0 Author: Stefan Richter Date: Wed Nov 18 16:00:55 2009 -0300 V4L/DVB (13408): firedtv: shrink buffer pointer table Cache only addresses of whole pages, not of each buffer chunk. Besides, page addresses can be obtained by page_address() instead of kmap() since they were allocated in lowmem. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit b699c2712b1ddcc3ef4491adde00a47a880fde97 Author: Igor M. Liplianin Date: Mon Nov 16 22:22:32 2009 -0300 V4L/DVB (13407): Add Prof 7301 PCI DVB-S2 card Add Prof 7301 PCI DVB-S2 card The card based on stv0903 demod, stb6100 tuner. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit fa26ae3e8260530121e6e0e57427468a9f0038d7 Author: Huang Weiyi Date: Thu Nov 12 10:16:09 2009 -0300 V4L/DVB: pt1: remove duplicated #include Remove duplicated #include('s) in drivers/media/dvb/pt1/pt1.c Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit d89ce0d9ec9f980d59eae8d5a0ead98988e3b545 Author: Oliver Neukum Date: Mon Nov 9 19:09:49 2009 -0300 V4L/DVB (13402): radio-mr800 - autosuspend for radio-mr800 driver Patch adds autosuspend support for mr800 radio driver. Signed-off-by: Oliver Neukum Acked-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit 87918334792a4d8a73b0511466b77bd6aa055db3 Author: Stefan Richter Date: Sun Nov 8 18:30:54 2009 -0300 V4L/DVB (13400): firedtv: port to new firewire core The firedtv DVB driver will now work not only on top of the old ieee1394 driver stack but also on the new firewire driver stack. Alongside to the firedtv-1394.c backend for driver binding and I/O, the firedtv-fw.c backend is added. Depending on which of the two 1394 stacks is configured, one or the other or both backends will be built into the firedtv driver. This has been tested with a DVB-T and a DVB-C box on x86-64 and x86-32 together with a few different controllers (Agere FW323, a NEC chip, TI TSB82AA2, TSB43AB22/A, VIA VT6306). Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 6e25abb522e055beeaf887f50a49cb370acc62b6 Author: Stefan Richter Date: Sun Nov 8 18:29:41 2009 -0300 V4L/DVB (13399): firedtv: add missing include, rename a constant Add #include for dvb_dmx_swfilter_packets(). This was already indirectly included via firedtv.h, but don't rely on it. The 4 bytes which were referred to as FIREWIRE_HEADER_SIZE are actually the source packet header from IEC 61883-4 (MPEG2-TS data transmission over 1394), not e.g. the IEEE 1394 isochronous packet header. So choose a more precise name. Also, express the payload size as a preprocessor constant too. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 054286b12c7ba7d37a945326d38716a00434002b Author: Stefan Richter Date: Sun Nov 8 18:29:08 2009 -0300 V4L/DVB (13398): firedtv: reform lock transaction backend call Preparation for the port of firedtv to the firewire-core kernel API: The fdtv->backend->lock() hook and thus the CMP code is slightly changed to better fit with the new API. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 56411f49f69140b97e259256b99dc276f2b2b427 Author: Stefan Richter Date: Sun Nov 8 18:28:45 2009 -0300 V4L/DVB (13397): firedtv: move remote control workqueue handling into rc source file Preparation for the port of firedtv to the firewire-core kernel API: Canceling of the remote control workqueue job is factored into firedtv-rc.c. Plus trivial whitespace change. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit b921d929f4a012be3e809fbb1ff1e8e6c0751c06 Author: Julia Lawall Date: Sun Nov 8 14:49:05 2009 -0300 V4L/DVB (13396): correct initialization of audio_mode This initialization of the value of audio_mode is the one used if nothing matches in the subsequent switch. The variable audio_mode is subsequently assigned to constants such as TUNER_AUDIO_MONO and TUNER_AUDIO_STEREO. TUNER_AUDIO_STEREO has the same value as V4L2_TUNER_MODE_STEREO, so it would seem better to use that value here. Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit c4c1e295d2721470141843e31a69c4b1c131e0f7 Author: hiranotaka@zng.jp Date: Sun Nov 8 05:42:28 2009 -0300 V4L/DVB (13394): pt1: Support FE_READ_SNR Signed-off-by: HIRANO Takahito Signed-off-by: Mauro Carvalho Chehab commit 012880be6e1c8503e2901f8de90cc1e711334989 Author: Marton Nemeth Date: Sun Nov 8 04:41:28 2009 -0300 V4L/DVB (13389): gspca - pac7302: Handle return values in sd_start(). Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 23fbee6f88d59b4edca0855242d55e5b7cfc2401 Author: Marton Nemeth Date: Sun Nov 8 04:35:12 2009 -0300 V4L/DVB (13388): gspca - pac7302: Add white balance control. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b760812ed78c93249ac7957fedb87ba9c3ca3906 Author: Jean-Francois Moine Date: Sat Nov 7 16:38:55 2009 -0300 V4L/DVB (13387): gspca - main: Fix a compilation warning. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 77ee33184fb4a37926c460d337c8d181f7c4c680 Author: Jean-Francois Moine Date: Sat Nov 7 15:30:50 2009 -0300 V4L/DVB (13386): gspca - main: Change version to 2.8.0. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 265a8098e75e156985abfaac250ee4f2b407f863 Author: Márton Németh Date: Sat Nov 7 15:15:56 2009 -0300 V4L/DVB (13385): gspca - pac7302: Add red and blue balance control. The valid values for these controls are 0..3 (lower two bits) which was identified by trial and error on Labtec Webcam 2200 (USB ID 093a:2626). The upper 6 bits are ignored on page 0, registers 0xc5 and 0xc7 by the camera. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d5aa3856fd09ad0ea04619d6cba31192dac08e84 Author: Jean-Francois Moine Date: Sat Nov 7 06:10:08 2009 -0300 V4L/DVB (13384): gspca - sonixj: Optimize code and add some comments. - the i2c base address is now taken from the sn9c1xx register table Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b1784b3377bdeaeb6b9d01e651ff07bd44fec0f4 Author: Márton Németh Date: Sat Nov 7 05:52:02 2009 -0300 V4L/DVB (13383): gspca - pac7311/pac7302: Propagate error to higher level software. The usb_control_msg() can fail any time. Only continue writing sequence if there was no error with the previous write. If there was any problem stop sending URBs and propagate the error to the gspca_main. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 67c98f72e132e191ff4db0ac7bd81ea94fa5c667 Author: Márton Németh Date: Sat Nov 7 05:45:33 2009 -0300 V4L/DVB (13382): gspca - pac7302: Remove redundant stream off command. The stream off command is sent to the device twice, one is enough. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3a054627cc949c3b7bb8387543919e7d4022753a Author: Roel Kluin Date: Tue Nov 17 19:43:40 2009 -0300 V4L/DVB (13380): sms-cards: make id unsigned in sms_get_board() Make id signed so we can't get an invalid pointer when we pass a negative id. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 2b588db82d2c210e84da129a223bb403d3131abe Author: Alexander Strakh Date: Tue Nov 17 19:43:38 2009 -0300 V4L/DVB (13379): quickcam_messenger: possible buffer overflow while use strncat In driver ./drivers/media/video/usbvideo/quickcam_messenger.c in line 91: 91 usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); After this line we use strncat: 92 strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); where sizeof(cam->input_physname) returns length of cam->input_phisname without length for null-symbol. But this parameter must be - "maximum numbers of bytes to copy", i.e.: sizeof(cam->input_physname)-strlen(cam->input_physname)-1. In this case, after call to usb_make_path the similar drivers use strlcat. Like in: drivers/hid/usbhid/hid-core.c: 1152 usb_make_path(dev, hid->phys, sizeof(hid->phys)); 1153 strlcat(hid->phys, "/input", sizeof(hid->phys)); Found by Linux Driver Verification Project. Use strlcat instead of strncat. Signed-off-by: Alexander Strakh Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit caac970f91f39f67b5e48680840605e24896ff99 Author: Alexander Strakh Date: Tue Nov 17 19:43:37 2009 -0300 V4L/DVB (13378): konicawc.c: possible buffer overflow while use strncat In driver ./drivers/media/video/usbvideo/konicawc.c in line 227: 227 usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); After this line we use strncat: 228 strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); where sizeof(cam->input_physname) returns length of cam->input_phisname without length for null-symbol. But this parameter must be - "maximum numbers of bytes to copy", i.e.: sizeof(cam->input_physname)-strlen(cam->input_physname)-1. In this case, after call to usb_make_path the similar drivers use strlcat. Like in drivers/hid/usbhid/hid-core.c: 1152 usb_make_path(dev, hid->phys, sizeof(hid->phys)); 1153 strlcat(hid->phys, "/input", sizeof(hid->phys)); Found by Linux Driver Verification Project. Use strlcat instead of strncat. Signed-off-by: Alexander Strakh Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 38a54f35a0a90c0b62b111dd4de24248b22616b9 Author: Jonathan Corbet Date: Tue Nov 17 19:43:41 2009 -0300 V4L/DVB (13377): make struct videobuf_queue_ops constant The videobuf_queue_ops function vector is not declared constant, but there's no need for the videobuf layer to ever change it. Make it const so that videobuf users can make their operations const without warnings. Signed-off-by: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit b18bd1d8806c0982c7835dcb58a27c4e9005e4fb Author: David Wong Date: Mon Oct 26 09:41:22 2009 -0300 V4L/DVB (13376): cx-usb: add Mygica D689 DMB-TH USB support X-Patchwork-Id: 55873 Add support for cxusb card Mygica D689 DBM-TH USB Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit ea5697fe9ed6a1d534de436eff3138041e3c8aa9 Author: David T. L. Wong Date: Mon Oct 26 08:54:04 2009 -0300 V4L/DVB (13375): cx23885: Add support for Mygica X8558Pro DMB-TH Adds support for cx23885 card Mygica X8558 Pro DMB-TH Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit ec27b6aafb1796a09aad401143f70ad079421ca4 Author: David T.L. Wong Date: Mon Oct 26 07:08:17 2009 -0300 V4L/DVB (13374): AltoBeam ATBM8830 GB20600-2006(DMB-TH) demodulator Adds support for Maxim MAX2165 silicon tuner. It was tested on Mygica X8558Pro, which has MAX2165, ATBM8830 and CX23885. Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit 95963cbcd0ee00026cc34ba84906ee4aa2029f4d Author: David T.L. Wong Date: Mon Oct 26 06:42:34 2009 -0300 V4L/DVB (13373): Maxium MAX2165 silicon tuner Adds support for Maxim MAX2165 silicon tuner. It is tested on Mygica X8558Pro, which has MAX2165, ATBM8830 and CX23885 Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit 5232263a7daa1247fe4a30579c296ddccfeeb7e6 Author: Ignacio de Miguel Diaz Date: Fri Nov 13 23:13:34 2009 -0300 V4L/DVB (13368): af9015: support for Sveon STV20 Tuner USB DVB-T HDTV Add USB ID 1b80:e39d for Sveon STV20 Tuner USB DVB-T HDTV. Signed-off-by: Ignacio de Miguel Diaz Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 2bf290be4f3ef11889026d750244cc3bd1164974 Author: Antti Palosaari Date: Fri Nov 13 22:38:55 2009 -0300 V4L/DVB (13364): ec168: add new driver for E3C EC168 DVB USB E3C EC168 DVB USB driver Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit a15c7b42b2b8eda719920e93b81be031f2e0b01b Author: Antti Palosaari Date: Fri Nov 13 22:33:45 2009 -0300 V4L/DVB (13363): ec100: add new driver for E3C EC100 DVB-T demodulator E3C EC100 DVB-T demodulator driver Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit c1426df678c5e9a095ff40285ff3d698d0d25658 Author: Manu Abraham Date: Fri Nov 13 18:51:39 2009 -0300 V4L/DVB (13361): stv090x: fix TS corruption with High Symbol Rate streams With a lower bandwidth setup, the Transport Stream gets corrupted due to TSFIFO overrun. The patch fixes the issue. The issue is seen with Transport Streams having a Symbol Rate of 22MSPS and/or greater. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7c236e37dd027c0bf35ffbda8de03cbe0c6a750d Author: Andreas Regel Date: Fri Nov 13 18:22:02 2009 -0300 V4L/DVB (13360): stv090x: fix the calculation of the r divider in stv6110x_set_frequency It had always the value 3 no matter what frequency was given. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7b035da93eb6ba839b39c61c5d993365ae308684 Author: Andreas Regel Date: Fri Nov 13 18:20:54 2009 -0300 V4L/DVB (13359): stv090x: adds corrections of some register values While here, also do some blind scan related fixes. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1d4361718a47fba3b51f6e155524b5473a5b8d18 Author: Andreas Regel Date: Fri Nov 13 18:19:54 2009 -0300 V4L/DVB (13358): stv090x: add an additional check for packet delineator lock in stv090x_read_status in case of a tuned DVB-S2 signal Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c4fa649a3beca1e311d7f244de67306673f4c285 Author: Andreas Regel Date: Fri Nov 13 18:18:53 2009 -0300 V4L/DVB (13357): stv090x: adds an additional check for signal presence based on AGC1 Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a4978a83e51324aed08b1f1105a58f7e6491b751 Author: Andreas Regel Date: Fri Nov 13 18:17:45 2009 -0300 V4L/DVB (13356): stv090x: fixes signal lock logic This patch contains several fixes for the stv090x driver: - added missing else - use calculated timeout instead of fixed one - use correct frequency when doing zigzag scan - added missing read of GENCFG register Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b4a4248d56a6985f5d37fc5a219ba0675fc6f503 Author: Andreas Regel Date: Fri Nov 13 18:16:44 2009 -0300 V4L/DVB (13355): stv090x: fixes calculation of AGC2 and uses a different AGC2 threshold for cut 3 chips Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b671a8d4b68626142a9a34da59c55396d2cf0ce9 Author: Andreas Regel Date: Fri Nov 13 18:15:27 2009 -0300 V4L/DVB (13354): stv090x: fixes some typos like wrong register or variable names Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit dbeb7dbf867dc976c66332e6f2c3e24bf87df258 Author: Andreas Regel Date: Fri Nov 13 18:14:00 2009 -0300 V4L/DVB (13353): stv090x: fixes STR and SNR calculation and normalizes the value into the 0..0xFFFF range Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 45433d3f8dec42179ebe0f27966073a71fd1c612 Author: Andreas Regel Date: Fri Nov 13 18:12:48 2009 -0300 V4L/DVB (13352): stv090x: fixes errors and typos in register definitions Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c879d8cef4c5fc31ff2ab6e5b83bf4a537e77844 Author: Andreas Regel Date: Fri Nov 13 18:11:26 2009 -0300 V4L/DVB (13351): stv090x: increases search range based on symbol rate Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7fec6fee56def62a53e3bc4db5baf6bca12c3474 Author: Michael Krufky Date: Wed Nov 11 15:46:09 2009 -0300 V4L/DVB (13349): cx23885: Enable IR input keypress handling for the Hauppauge WinTV HVR-1290 The IR on the HVR-1290 is identical to that of the HVR-1850 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 73a5f4196dcdf1f5b0bcfa208cb485c4fde840cc Author: Michael Krufky Date: Wed Nov 11 10:46:40 2009 -0300 V4L/DVB (13348): cx23885: update model matrix for models 85021 and 85721 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit aee0b24c05f6e9615115748a8ea5042d8ee0e6a0 Author: Michael Krufky Date: Wed Nov 11 01:52:45 2009 -0300 V4L/DVB (13347): cx23885: add digital television support for Hauppauge WinTV-HVR1290 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a3a4f7e167e77066b0b98b8f056efcda2d302f97 Author: Igor M. Liplianin Date: Fri Nov 6 23:46:32 2009 -0300 V4L/DVB (13341): stv0900: big rework to support cut 3.0. Patch 4 of 4. Also patch changes logic to prevent code repetitions and big indents. It makes checkpatch silent :) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1e0c397d5ee261b4d855bf38c1e9987caf0e37ca Author: Igor M. Liplianin Date: Fri Nov 6 23:42:22 2009 -0300 V4L/DVB (13340): stv0900: big rework to support cut 3.0. Patch 3 of 4. Also patch changes logic to prevent code repetitions and big indents. It makes checkpatch silent :) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit ab7134f1bd26a547a51c36dd44c55b15b3e15a6f Author: Igor M. Liplianin Date: Fri Nov 6 23:23:29 2009 -0300 V4L/DVB (13339): stv0900: big rework to support cut 3.0. Patch 2 of 4. Also patch changes logic to prevent code repetitions and big indents. It makes checkpatch silent :) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 46960eea9c0f7abb3a0a65276939762b97eac337 Author: Igor M. Liplianin Date: Fri Nov 6 23:07:56 2009 -0300 V4L/DVB (13338): stv0900: big rework to support cut 3.0. Patch 1 of 4. Also patch changes logic to prevent code repetitions and big indents. It makes checkpatch silent :) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 502cd96d5b0714e0ab022766014f58b0684699a8 Author: Igor M. Liplianin Date: Tue Oct 27 14:59:53 2009 -0300 V4L/DVB (13337): Change str snr scale for stv0900/903 and Netup Dual DVB-S2 card. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 29372a8daec4c1dca83e294006488b1d47dd965c Author: Igor M. Liplianin Date: Sat Oct 17 08:58:26 2009 -0300 V4L/DVB (13336): stv0900: config definition for single/dual mode Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 9329fb5b731cd535a7c7d0690d30e872f29a33d3 Author: Abylay Ospan Date: Sat Oct 17 08:38:45 2009 -0300 V4L/DVB (13335): stv0900: fix diseqc support for NetUP card Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 873688cd30294412e185ba39f8487e3eed0f692d Author: Abylay Ospan Date: Sat Oct 17 08:23:00 2009 -0300 V4L/DVB (13334): stv6110: add configurable gain It has positive effect for NetUP Dual DVB-S2 CI card. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit adcd8de6de36f67241a5c3562f2ef1d5998b30a9 Author: Devin Heitmueller Date: Mon Nov 2 01:30:40 2009 -0300 V4L/DVB (13332): s5h1409: remove a set register that would cause lock to be lost. On particularly weak signals, changing register 0xab after setting the interleave mode will cause the FEC lock to get lost (while still holding the EQ lock). So remove the write entirely, which seems to have had no adverse effect in either of my ClearQAM environments (and in particular resolves the customer's reported issue). Also flip around the order of the amhum optimization and the interleave setup to be consistent with the windows driver, which has the side-benefit of doing them both in the same call (since the amhum optimization can only be done once the interleave setup). This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 48c511ed675772bd08044d97756f7f7aae5168eb Author: Devin Heitmueller Date: Wed Oct 28 23:10:16 2009 -0300 V4L/DVB (13331): mxl5005s: provide ability to override QAM gain for HVR-1600 The HVR-1600 doesn't use the standard mechanism for computing the gain when in QAM mode, instead always forcing it to be 0x02. Provide the ability to override the algorithm on a per-board basis. This change results in an improvement of 0.4-0.6 dB for QAM tuning. This work was sponsored by ONELAN Limited. Cc: Steven Toth Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f0cd44b4a1a7465230dfbe1e645d9dc73f83cb13 Author: Devin Heitmueller Date: Wed Oct 28 01:26:05 2009 -0300 V4L/DVB (13330): s5h1409: properly handle QAM optimization after lock achieved The sh51409 driver was only doing the QAM optimization a single time, and it would only occur if you received a lock instantaneously after the tuning request. Restructure the code so that the optimization occurs once you reach a signal lock. Note that this depends on the caller polling for status, but we don't have much choice at this point without an independent thread monitoring the lock status. Also, at this point pretty much every application polls for status lock after doing the tune, so the likelihood of the optimization not occurring in the real world is pretty low. The state machine has also been reworked such that setting the interleave mode is now a dependency of doing the QAM optimization. Before both were mutually exclusive, which was not consistent with the Windows driver. We now have a single state machine that controls both. The changes as-is are only enabled for the HVR-1600. Once the changes are tested with some of the other boards, this change should be made generic and the "_legacy" functions should be removed. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit af5c8e1523edf792f57ec938aef9423783af25e1 Author: Devin Heitmueller Date: Tue Oct 27 23:33:21 2009 -0300 V4L/DVB (13329): s5h1409: provide HVR-1600 specific optimizations Perform some optimization of the register configuration based on a trace of the HVR-1600 Windows i2c traffic (and consultation with Steven Toth). Note that some of these values may be able to be moved into the common driver, but I am holding off on that until they can be tested with other boards. This work was sponsored by ONELAN Limited. Cc: Steven Toth Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f57b17c3956f2e1e70f63dd2ed8088b582f3915e Author: Mauro Carvalho Chehab Date: Thu Nov 12 11:21:05 2009 -0300 V4L/DVB (13328): em28xx: Add chip ID for em2800 Signed-off-by: Mauro Carvalho Chehab commit fc099f0e0e52a349a3fe92bfb8d3fb6ec5378174 Author: Mauro Carvalho Chehab Date: Sat Nov 7 14:51:01 2009 -0300 V4L/DVB (13327): em28xx: fix alt modprobe parameter It seems that some patch broke alt modprobe parameter. Fix it to allow changing alternate interfaces during module load and at runtime. If changed during runtime, you'll need to stop a and restart stream for the parameter to be used. Signed-off-by: Mauro Carvalho Chehab commit 8337fc3053f4189fb64d60495ed89df5befa2a6b Author: Marton Nemeth Date: Thu Nov 5 05:40:46 2009 -0300 V4L/DVB (13325): gspca - pac7302/pac7311: Fix buffer overrun. The reg_w_seq() function expects the sequence length in entries and not in bytes. One entry in init_7302 and init_7311 is two bytes and not one. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4f7309e27865b88df7b0b0ad59e0376dba1806af Author: Marton Nemeth Date: Thu Nov 5 05:35:08 2009 -0300 V4L/DVB (13324): gspca - pac7302/pac7311: Handle return value of usb_control_msg(). The function usb_control_msg() can return error any time so at least warn the user if an error happens. No message is printed in case of normal operation. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 56205cc0dd703be70b4ea1138a7e774e058d79fa Author: Jean-Francois Moine Date: Wed Nov 4 16:38:04 2009 -0300 V4L/DVB (13323): gspca - zc3xx: Adjust the exchanges of sensors mi0360soc and pb0330. - the pb03303x exchanges were the mi0360soc ones - add the new sensor mi0360soc - the new exchanges are taken from the info file of the ms-win driver of the webcams 0ac8:301b and 0ac8:303b (vm30x.inf) Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 350d6407f84db58e2dfb5a5a5283982130746a41 Author: Laurent Pinchart Date: Wed Nov 4 11:53:49 2009 -0300 V4L/DVB (13310): uvcvideo: Return -EINVAL instead of -ENODEV in read() -EINVAL is required by the V4L2 specification. -ENODEV is simply wrong as the device exists. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 3bc766ad374d04349ba09bd93f51980ad29d11c3 Author: Laurent Pinchart Date: Wed Oct 21 18:36:18 2009 -0300 V4L/DVB (13308): uvcvideo: Add support for MSI StarCam 370i webcams The MSI StarCam 370i (1b3b:2951) requires the MINMAX quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 5b34e3e4eb993578c313f473ff60df62e0c24379 Author: Jean-Francois Moine Date: Mon Nov 2 10:00:48 2009 -0300 V4L/DVB (13306): gspca - sonixj: Change the copyright. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0939e266697d516ba09cfaec6a97887600a4162d Author: Jean-Francois Moine Date: Mon Nov 2 09:58:49 2009 -0300 V4L/DVB (13305): gspca - sonixj: The V flip control does not exist for all sensors. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 98941e4dade35ab2e83c9bc796fdc76ed3636a75 Author: Jean-Francois Moine Date: Mon Nov 2 09:56:59 2009 -0300 V4L/DVB (13304): gspca - sonixj: Don't access the sensor when setting the bridge. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3fccb774ef6e43c2d80d322a5b52564db3067ef8 Author: Jean-Francois Moine Date: Mon Nov 2 09:54:04 2009 -0300 V4L/DVB (13303): gspca - sonixj: Change sensor and om6802 exchanges. - the sensors are now initialized sooner - om6802: . set some parameters in factory mode . lack of some parameters . gpio adjustments Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a782636c26b7468345d2c3b67952bf695a39cdfa Author: Jean-Francois Moine Date: Mon Nov 2 09:21:06 2009 -0300 V4L/DVB (13302): gspca - sonixj: Fix some bad values of sensor om6802. - sensor address is 0x34 - sensor i2c is 100 kHz Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 23a98274cc348880ecb6803307c254448084953a Author: Jean-Francois Moine Date: Mon Nov 2 09:10:25 2009 -0300 V4L/DVB (13301): gspca - sonixj: Simplify the sensor init exchanges. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1408b8472910e894b290205b4baed5b14b8f45af Author: Marton Nemeth Date: Mon Nov 2 08:13:21 2009 -0300 V4L/DVB (13300): gspca - pac7302/pac7311: Separate the two subdrivers. All PAC7311 specific functions remain in pac7311.c. All PAC7302 specific functions are moved to pac7302.c. The USB device table is also divided into two parts. This makes it possible to remove the sensor specific decisions from different functions and also remove sensor infromation from the USB device table. The common functions are just copied to both subdrivers. These common functions can be separated later to a common file or helper module. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc409c0efb40a4c99cf023ec12ba7d67c67f666b Author: Marton Nemeth Date: Mon Nov 2 08:09:34 2009 -0300 V4L/DVB (13299): gspca - pac7311: Extract pac_start_frame. Creating the start of the frame is done in the same way for pac7302 and for pac7311. Extract this common part to the pac_start_frame() function. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a6b69e409a41144c24dcbecdc174a5c847631de2 Author: Marton Nemeth Date: Mon Nov 2 08:05:51 2009 -0300 V4L/DVB (13298): gspca - pac207/pac7311/mr97310a: Simplify pac_find_sof. Remove struct sd dependency from pac_find_sof() function implementation. This step prepares separation of pac7302 and pac7311 specific parts of struct sd. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c86c82b74f800486ede57fdd5a4fa77d86368861 Author: Sergio C Fortier Date: Wed Nov 4 15:55:09 2009 -0300 V4L/DVB (13297): dib0700_devices: EvolutePC TvWay+ USB ISDB-Tb remote control support Patch for EvolutePC TvWay+ USB ISDB-Tb remote control support. [dougsland@redhat.com: fixed malformed patch] Cc: Patrick Boettcher Signed-off-by: Sergio C Fortier Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7dee9d1c057a24f5b1cd97b0bf37d05766906222 Author: Éric Piel Date: Wed Nov 4 15:46:11 2009 -0300 V4L/DVB (13295): sms1xxx: load smsdvb also for the hauppauge tiger cards load smsdvb also for the hauppauge tiger cards [dougsland@redhat.com: fixed rejects due changes in sms-cards.c] Signed-off-by: Éric Piel Acked-by: Michael Krufky Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 9ebef973b4a3b9af5c71ef5c266efac8be3e17e0 Author: Akihiro Tsukada Date: Wed Nov 4 15:40:36 2009 -0300 V4L/DVB (13294): dvb-usb-friio: cleaning up unnecessary functions This patch removes some fe->ops.X() functions which do nothing more useful than the default. Signed-off-by: Akihiro Tsukada Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ad12f07bf21e8d98e6042c8ed795d2d041e26934 Author: Akihiro Tsukada Date: Wed Nov 4 15:39:31 2009 -0300 V4L/DVB (13293): dvb-usb-friio: return the correct DTV_DELIVERY_SYSTEM This patch makes the driver return the correct DTV_DELIVERY_SYSTEM. The driver previously returned SYS_UNDEFINED for DTV_DELIVERY_SYSTEM property, as it lacked any driver specific S2API support. Signed-off-by: Akihiro Tsukada Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f901a991991fd3c9ac51bc7234a6706ef17ddfe Author: Sebastian Andrzej Siewior Date: Wed Nov 4 15:35:09 2009 -0300 V4L/DVB (13292): tvp514x: recognize the error case in tvp514x_read_reg() i2c_smbus_read_byte_data() returns a negative value on error. It is very likely to be != -1 (-EPERM). Signed-off-by: Sebastian Andrzej Siewior Acked-by: Vaibhav Hiremath Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 480be1851aebcb0b9c5b0fb9acefe5da97cc702a Author: Filipe Rosset Date: Wed Nov 4 15:32:37 2009 -0300 V4L/DVB (13290): em28xx-dvb: Convert printks to em28xx_err and em28xx_info Convert printks to em28xx_err and em28xx_info Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0bc23083cfa0e4bee3a89254c0af7dc6a16513bb Author: Filipe Rosset Date: Wed Nov 4 15:31:25 2009 -0300 V4L/DVB (13289): em28xx-audio: Convert printks to em28xx_err Convert printks to em28xx_err. Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 9710e7a77a0a0564a393250d86b8cb3d560bb69f Author: Peter Huewe Date: Wed Nov 4 15:28:33 2009 -0300 V4L/DVB (13288): adding __init/__exit macros to various drivers Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of the following drivers in media video: drivers/media/video/ivtv/ivtv-driver.c drivers/media/video/cx18/cx18-driver.c drivers/media/video/davinci/dm355_ccdc.c drivers/media/video/davinci/dm644x_ccdc.c drivers/media/video/saa7164/saa7164-core.c drivers/media/video/saa7134/saa7134-core.c drivers/media/video/cx23885/cx23885-core.c Cc: Hermann Pitton Acked-by: Steven Toth Signed-off-by: Peter Huewe Acked-by: Andy Walls Acked-by: Laurent Pinchart Acked-by: Muralidharan Karicheri Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0b66cf90371dcd28c6eb98904adb694ae98eb20f Author: Roel Kluin Date: Wed Nov 4 14:16:25 2009 -0300 V4L/DVB (13285): vpfe_capture: keep index within bound in vpfe_cropcap() If vpfe_dev->std_index equals ARRAY_SIZE(vpfe_standards), that is one too large. Signed-off-by: Roel Kluin Acked-by: Muralidharan Karicheri Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 648732fcefa73932ae8caa8bcfd262863904dd66 Author: Mauro Carvalho Chehab Date: Wed Nov 4 12:11:43 2009 -0200 V4L/DVB (13271a): Fix a badly solved merge conflict Signed-off-by: Mauro Carvalho Chehab commit 26b9d6c0b0e91c84b4713da5abd16baef3963d33 Author: Abylay Ospan Date: Sun Nov 1 18:46:53 2009 -0300 V4L/DVB (13271): TS speed check. Logging transport stream speed in Kbits per second [mchehab@redhat.com: add asm/div64.h and allocate vars only if dvb_demux_speedcheck specified] Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 117e1348f8b0cd91834873bb21faff827798bd8b Author: Michael Krufky Date: Sun Nov 1 11:16:10 2009 -0300 V4L/DVB (13269): saa7134: codingstyle: use /* style comments */ instead of // Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 542821d8d064d04e898a3c473b742b4e512de09d Author: Theodore Kilgore Date: Sun Nov 1 13:09:15 2009 -0300 V4L/DVB (13267): gspca_mr97310a: Change brightness for VGA type 1 cameras downward gspca_mr97310a: Change brightness for VGA type 1 cameras downward Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b4b84deede5edb1e5492533a04f24ea16d1fae0a Author: Theodore Kilgore Date: Sun Nov 1 13:07:08 2009 -0300 V4L/DVB (13266): gspca_mr97310a: Fix / update some comments gspca_mr97310a: Fix / update some comments Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b31210d737f383c14a02b20ab68e1a5770818f2d Author: Theodore Kilgore Date: Sun Nov 1 13:02:59 2009 -0300 V4L/DVB (13265): gspca_mr97310a: Partly back off red gain change for Sakar Digital VGA camera gspca_mr97310a: Partly back off red gain change for Sakar Digital VGA camera Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 972aacc2989506d9c67f8b710021ff98041363d5 Author: Michael Krufky Date: Sun Nov 1 02:52:01 2009 -0300 V4L/DVB (13262): tda18271: fix regression preventing std map override from taking effect In the changeset entitled, "tda18271: add support for the set_config method", the initialization order was changed such that the standard map overrides were being applied before loading the default standard map, based on the stepping of the silicon. This changeset restores the proper order by processing the standard map overrides both within the tda18271_set_config() and the tda18271_attach() functions, after we read the id register of the tuner. Thanks to Michael Obst for his testing, helping me to identify the regression. Signed-off-by: Michael Krufky Signed-off-by: Michael Obst Signed-off-by: Mauro Carvalho Chehab commit 0700adec9efec3136fa44d90f064c9227817f37b Author: Michael Obst Date: Sat Oct 31 14:05:42 2009 -0300 V4L/DVB (13260): saa7134: add support for Leadtek Winfast DTV-1000S remote control Signed-off-by: Michael Obst Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 53c8ec5e0e93f1ab600f91203ede43b83b3361ba Author: Michael Krufky Date: Sat Oct 31 13:46:08 2009 -0300 V4L/DVB (13259): saa7134: fix badly merged DTV1000S patch As pointed out by Hermann Pitton, it turns out that the DTV1000S card's analog entry made it into the #if 0 flyvideo tweaks in saa7134-cards.c and is not valid there. This patch fixes the problem. Cc: hermann pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 928213aad76e0036290901d244d614c01cac7278 Author: Andy Walls Date: Thu Oct 29 22:24:34 2009 -0300 V4L/DVB (13253): cx23885: CodingStyle fix Add whitespace around binary operators in cx23888-ir.c Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7fb101ae2525ea5e8bad43a3fc228e87c5f047c6 Author: Jean-Francois Moine Date: Thu Oct 22 06:27:14 2009 -0300 V4L/DVB (13251): gspca - sonixj: Cleanup code and change some comments. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 721ecbcbea61df76490b3ba03c7dded7134e628c Author: Jean-Francois Moine Date: Tue Oct 20 05:25:16 2009 -0300 V4L/DVB (13250): gspca - zc3xx: Add some delays and warn on i2c errors. This patch fixes the kernel bug 14195 (random errors - bad images - with the webcam 10fd:8050 - sensor tas5130cxx). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 56e93ed9cff06e258cff8815fde31cd61d0a6d5a Author: Jean-Francois Moine Date: Tue Oct 20 04:34:11 2009 -0300 V4L/DVB (13249): gspca - pac7311: Webcam 093a:2628 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d6eef4947858ebebaf05d79bce7b8be0d4c036ba Author: Michael Krufky Date: Sat Oct 24 16:42:16 2009 -0300 V4L/DVB (13247): tuner-core: dont force every tuner to set frequency at startup Setting the tuner frequency at the same time as initializing the other devices on the i2c bus can cause problems on devices that require firmware download or extensive calibration proceduces during initialization. This change allows us to prevent the tune at startup for devices that perform better without it. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 64f4d9a367b4fe329ba78e3171d1abb1338a951f Author: Theodore Kilgore Date: Fri Oct 30 04:43:39 2009 -0300 V4L/DVB (13245): gspca_mr97310a: Change blue gain setting for Sakar Digital VGA camera gspca_mr97310a: Change blue gain setting for Sakar Digital VGA camera Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1160a3818ec387ddadfd173b3bceea654a474b74 Author: Theodore Kilgore Date: Fri Oct 30 04:29:56 2009 -0300 V4L/DVB (13244): gspca_mr97310a: Fix / update some comments gspca_mr97310a: Fix / update some comments Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8ac246cb8fc880cb8f438ab7ded454207cc8170d Author: Aurelien Jacobs Date: Thu Oct 29 07:45:24 2009 -0300 V4L/DVB (13243): gscpa_mr97310a: Add Trust Spyc@m 100 USB ID gscpa_mr97310a: Add Trust Spyc@m 100 USB ID Signed-off-by: Aurelien Jacobs Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 065b6f7a34ec5628e0b1243bfc4214cb5f53d429 Author: Hans de Goede Date: Thu Oct 29 07:42:30 2009 -0300 V4L/DVB (13242): gspca_mr97310a: Add minimum clock divider control When "shooting" certain (quite rare) scenes, the mr97310's compression is not effective and it cannot keep up with the data stream. This patch adds a minimum clock divider control, which influences the maximum framerate, libv4l will automatically increase this minimum clockdiv control when it detect the cam cannot keep up. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit f14a2972e40dbfbe7077ec7ab21cc2729f7e7d6d Author: Roel Kluin Date: Fri Oct 23 07:59:42 2009 -0300 V4L/DVB (13241): Cleanup redundant tests on unsigned The variables are unsigned so the test `>= 0' is always true, the `< 0' test always fails. In these cases the other part of the test catches wrapped values. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 311c70e1f906b7411b30f526ef15deb62cb37e7a Author: Johann Friedrichs Date: Wed Oct 7 04:41:37 2009 -0300 V4L/DVB (13239): saa7146: fix memory leakage in pagetable-handling In buffer_release() the previously allocated pagetables are not freed, which might result in a memory leak in certain application use-cases, where the frame format is changed from planar format to non-planar format. The fix explicitely frees the page tables when a format change is done and when buffer_release() is called. Signed-off-by: Johann Friedrichs Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit 622b828ab795580903e79acb33fb44f5c9ce7b0f Author: Laurent Pinchart Date: Mon Oct 5 10:48:17 2009 -0300 V4L/DVB (13238): v4l2_subdev: rename tuner s_standby operation to core s_power Upcoming I2C v4l2_subdev drivers need a way to control the subdevice power state from the core. This use case is already partially covered by the tuner s_standby operation, but no way to explicitly come back from the standby state is available. Rename the tuner s_standby operation to core s_power, and fix tuner drivers accordingly. The tuner core will call s_power(0) instead of s_standby(). No explicit call to s_power(1) is required for tuners as they are supposed to wake up from standby automatically. [mchehab@redhat.com: CodingStyle fix] Signed-off-by: Laurent Pinchart Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7ef68e60d9435eb604a346babccb48000b94bc76 Author: Jean Delvare Date: Fri Oct 2 10:27:42 2009 -0300 V4L/DVB (13236): ir-kbd-i2c: Don't reject unknown I2C addresses I do not think it makes sense any longer for ir-kbd-i2c to reject devices at unknown I2C addresses. The caller can provide all the details about how the device should be handled. Having to add new addresses to ir-kbd-i2c so that they aren't rejected is a pain we don't need. Unsupported devices will be spotted a few lines later anyway. This already lets us unlist 2 addresses (0x7a and 0x2d) for which handling details are always provided by the caller (saa7134-input). Hopefully we can remove more in the future. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 30093e8bf90217deef07299bae45d95ddc5fdb8a Author: Jean Delvare Date: Fri Oct 2 09:48:04 2009 -0300 V4L/DVB (13235): saa7134: Complete the IR address list Google is pretty clear that the HVR 1110 IR chip is always at address 0x71 and the BeholdTV IR chip is always at address 0x2d. This completes the list of IR device addresses for the SAA7134-based adapters, and we no longer need to probe any of them. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit aef02aa1e2593b39f808b2b8ae928699087b96dc Author: Jean Delvare Date: Fri Oct 2 08:47:22 2009 -0300 V4L/DVB (13234): IR device at I2C address 0x7a The i2c core prevents us from probing I2C address 0x7a because it's not a valid 7-bit address (reserved for 10-bit addressing.) So we must stop probing this address, and explicitly list all adapters which use it. Under the assumption that only the Upmost Purple TV adapter uses this invalid address, this fix should do the trick. Signed-off-by: Jean Delvare Acked-by: hermann pitton Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 43e16ea241cab1f4d4206307b2f6eacbaf4dc335 Author: Jean Delvare Date: Fri Oct 2 05:47:08 2009 -0300 V4L/DVB (13233): i2c_board_info can be local Recent fixes to the em28xx and saa7134 drivers have been overzealous. While the ir-kbd-i2c platform data indeed needs to be persistent, the struct i2c_board_info doesn't, as it is only used by i2c_new_device(). So revert a part of the original fixes, to save some memory. Signed-off-by: Jean Delvare Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 3c3099d5edd719aebfccf63b628b6f11afa59bfe Author: Aleksandr V. Piskunov Date: Fri Sep 25 18:16:21 2009 -0300 V4L/DVB (13232): cx25840 6.5MHz carrier detection fixes cx25840: Disable 6.5MHz carrier autodetection for PAL, always assume its DK. Only try to autodetect 6.5MHz carrier for SECAM if user accepts both system DK and L. Signed-off-by: Aleksandr V. Piskunov Reviewed-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2d8d7762d75d36a08a4a5c3d3f1c301f76cb8f56 Author: Andy Shevchenko Date: Thu Sep 24 07:58:09 2009 -0300 V4L/DVB (13231): pwc: Use kernel's simple_strtol() Change own implementation of pwc_atoi() by simple_strtol(x, NULL, 10). Signed-off-by: Andy Shevchenko Acked-by: Pekka Enberg Signed-off-by: Mauro Carvalho Chehab commit e67e376b1e50b60238410893971c5e6c4dd19ef1 Author: Mike Isely Date: Mon Oct 12 00:28:19 2009 -0300 V4L/DVB (13228): pvrusb2: Cosmetic kernel log tweak Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 515ebf79e579d423d60aea4334d61007328c5114 Author: Mike Isely Date: Mon Oct 12 00:27:38 2009 -0300 V4L/DVB (13227): pvrusb2: Fix redundant message on driver initialization failure (missing break) After detecting failure due to module initialization error, get out. Don't report jammed hardware. Problem due to a missing break statement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit aa976ca1dfb2e5b3fb67eeaf1ca44182ef3efcdb Author: Mike Isely Date: Mon Oct 12 00:25:09 2009 -0300 V4L/DVB (13226): pvrusb2: Add hardware description to debuginfo output Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 00970beb9b51dd1b25c0d91a3f5fe11dd29e38e2 Author: Mike Isely Date: Mon Oct 12 00:23:37 2009 -0300 V4L/DVB (13225): pvrusb2: Report hardware description to kernel log upon initialization The driver also contains a piece of configuration data that produces a one line description of the specific hardware being driver (e.g. "Hauppauge 24xxx", "OnAir", etc). This change generates an informational message to the kernel log reporting the hardware type being driven. This is a very useful thing to know when diagnosing problems. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 271081475427f7d1acf5f8cdc51fc70afe662b17 Author: Mike Isely Date: Mon Oct 12 00:21:20 2009 -0300 V4L/DVB (13224): pvrusb2: Improve diagnostic info on driver initialization failure It used to be that the only real detectable reason for the driver to fail during initialization would be that if the hardware is simply jammed. However with the advent of the sub-device mechanism in V4L it is possible now to detect if a sub-device module fails to load successfully. The pvrusb2 driver does in fact react to this by also (correctly) failing, however the original diagnostic message "hardware is jammed" was still being reported. This misleads the user because in fact it might not actually be a hardware failure. This change adds logic to tell the difference and then report a more appropriate message to the kernel log. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1b33185f5d944092576fc6562a842c603a2570d6 Author: Mike Isely Date: Mon Oct 12 00:18:13 2009 -0300 V4L/DVB (13223): pvrusb2: Soften encoder warning message pvrusb2: Encoder failures are mostly recoverable by the driver. While it would sure be nice not to have the failure happen in the first place, this has been going on for years and I doubt that a real solution will ever present itself. I think that part's firmware is just slightly flakey and we have to deal with it. The driver does deal with it just fine, but the warning message going into the kernel log is probably a little more alarming than it should be. So try to soften up the warning somewhat. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4a89baa2e140fd4a12be55e03f8ebe1acabb1328 Author: Mike Isely Date: Mon Oct 12 00:13:28 2009 -0300 V4L/DVB (13222): pvrusb2: Make more info available to udev pvrusb2: Associate V4L device node in sysfs with the underlying USB device. This opens the door to device information tracking in udev Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5abaa530bfe10e2a446679442b283f865a444a32 Author: Michael Krufky Date: Sun Oct 25 10:43:30 2009 -0300 V4L/DVB (13220): tda18271: increment module version minor Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 712bc0b30fa72edd1b3910250dcaf52894871714 Author: Michael Krufky Date: Sun Oct 25 12:36:26 2009 -0300 V4L/DVB (13219): tda18271: remove unneeded braces in switch..case block Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5881ecfca058d731758c76018205b5b3dff9291f Author: Michael Krufky Date: Sat Oct 24 18:37:22 2009 -0300 V4L/DVB (13218): tda18271: consolidate common code for calibration on startup determination consolidate common code used to determine if calibration on startup is needed Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 188ea058ff2e671270273a1f5d13f46ca75b8a35 Author: Michael Krufky Date: Sat Oct 24 18:18:03 2009 -0300 V4L/DVB (13217): tda18271: handle rf_cal_on_startup properly during attach If rf_cal_on_startup is enabled in the structure passed into tda18271_attach, and the cal module option isn't disabled, then we should run the initialization and calibration procedures during the tda18271_attach function call, regardless of how many instances of the driver have been attached. If the device is already calibrated, the driver will detect that and will only calibrate again if necessary. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c54e1dde586ea0e930d6c443ca60a9b9d0310de3 Author: Michael Krufky Date: Sat Oct 24 17:47:49 2009 -0300 V4L/DVB (13216): tda18271: initialize tuner during set_config if rf_cal_on_startup is set If rf_cal_on_startup is enabled in the structure passed into tda18271_set_config, and the cal module option isn't disabled, then we should run the initialization and calibration procedures during the tda18271_set_config function call. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 42f9a03ed3ddcccc5372bf4774afc8c4273c6c3a Author: Michael Krufky Date: Fri Oct 23 03:20:45 2009 -0300 V4L/DVB (13215): tda18271: add support for the set_config method Add the set_config method to allow drivers to configure the tda18271 driver options after attach. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1724c8fa7eb33d68898e060a08a8e6a88348b62f Author: Michael Krufky Date: Fri Oct 23 02:47:49 2009 -0300 V4L/DVB (13214): tda18271: allow for i2c buses that cant send 16 bytes at once There is already an option for sending 16 byte chunks rather that writing 39 bytes all at once during the tuner's initialization. Some i2c buses can't send 16 bytes at once, so create an option for sending 8 byte chunks. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e29cd96715ab8b9315fb50096df4677a23d7d6a7 Author: David T.L. Wong Date: Mon Oct 26 08:25:52 2009 -0300 V4L/DVB (13212): fix gcc-4.3.3 compilation error at dib7000p_pid_filter(): missing parameter name Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit 6f0d8c020ecff4acb959627109d3b81ded211b70 Author: David T.L. Wong Date: Wed Oct 21 13:15:30 2009 -0300 V4L/DVB (13211): cx23885: card Mygica X8506 analog TV support Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit 8e069bb9aeb4250dd062bb136f4b3db5c4c530ff Author: David T.L. Wong Date: Wed Oct 21 12:29:11 2009 -0300 V4L/DVB (13210): cx23885: card Mygica X8506 better GPIO setup Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit bc1548adbee02899c7db5cd045bb0d799b220dce Author: David T.L. Wong Date: Wed Oct 21 11:09:28 2009 -0300 V4L/DVB (13209): cx23885: card mygica x8506 add analog video input support Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit fd705e7cd8ef61efc443b90f94afed42beabeacd Author: David T.L. Wong Date: Wed Oct 21 11:08:30 2009 -0300 V4L/DVB (13208): cx23885: fix uninitialized member bug Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit dac65fa169ebf9fb1bd488385c62b5dd0c71771c Author: David T.L. Wong Date: Wed Oct 21 11:07:24 2009 -0300 V4L/DVB (13207): cx23885: add component input type Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit fb29ab96982baba57b03636e2a894c0d0acd197e Author: David T.L. Wong Date: Tue Oct 20 12:13:39 2009 -0300 V4L/DVB (13206): cx25840: add component support Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit 184e769f93e734ced24c948ea02e3d541c45c766 Author: Michael Krufky Date: Fri Jun 5 04:28:28 2009 -0300 V4L/DVB (13204): saa7134: add support for the Leadtek DTV1000S Thanks to Terry Wu for finding the GPIOs required for svideo / composite input Cc: Terry Wu Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc809ab37e4a8f6eeea0afae76bb1bc6cc52fe98 Author: Michael Krufky Date: Mon Sep 28 16:44:52 2009 -0300 V4L/DVB (13201): saa7164: disable tda18271 slave tuner output on slave in standby mode Enable the standby mode optimization to disable the tda18271 slave tuner output / loop thru options when in low power mode on the slave tuner, only. The master tuner must always leave slave tuner output / loop thru enabled. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5f78a9f96bc1954e9bd51458af8658b1eda603be Author: Jean-Francois Moine Date: Mon Oct 19 07:40:33 2009 -0300 V4L/DVB (13198): gspca - ov519: Bad frame pointer in ovfx2 packet scan. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 46b4f2ab5858de905a20389c32105fcee833e0d3 Author: Amauri Magagna Date: Sat Oct 17 07:21:29 2009 -0300 V4L/DVB (13197): gspca - sonixj: Adjust colors and autogain for sensor om6802. - set correct colors at startup time - autogain was too slow (4-5 mn - now 15-30 s)) Signed-off-by: Amauri Magagna Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fdd1dd1d246e14dacd8fb0bf842828b03bed2481 Author: Olivier Lorin Date: Thu Oct 15 04:20:54 2009 -0300 V4L/DVB (13196): gspca - gl860: add flip/mirror for OV2640 - add flip/mirror support for OV2640 - fix for backlight value range - fix for red-blue inversion hue mode with V4L1 applications Signed-off-by: Olivier Lorin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit be9904bdde05137085af1df98de98a49ddce9ad8 Author: Olivier Lorin Date: Thu Oct 15 04:13:45 2009 -0300 V4L/DVB (13195): gspca - gl860: comment changes and naming scheme egalization - small changes in comments - unified naming scheme for subdriver variables Signed-off-by: Olivier Lorin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 216f05aa2a704ab8dfbfb3ca36da1e04d2a9ee67 Author: Olivier Lorin Date: Thu Oct 15 04:12:46 2009 -0300 V4L/DVB (13194): gspca - gl860: improvement of the main driver part - fix for warning compilation about sd_ctrls - trace improvement while probing the sensor Signed-off-by: Olivier Lorin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 013db7575bdfb57d295e9a27186f52c7547ef2d2 Author: Jean-Francois Moine Date: Wed Oct 7 05:24:19 2009 -0300 V4L/DVB (13193): gspca - zc3xx.c: Change init sequences of sensor tas5130c. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e0d49e2d3ae3cd887b7999c4227c04008d2a02c4 Author: Marton Nemeth Date: Mon Oct 5 05:41:30 2009 -0300 V4L/DVB (13192): gspca - pac_common: redesign function for finding Start Of Frame The original implementation of pac_find_sof() does not always find the Start Of Frame (SOF) marker. Replace it with a state machine based design. Acked-by: Hans de Goede Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 760c466c66db40cde5953e93b94ae20c7610fb20 Author: Devin Heitmueller Date: Tue Oct 13 23:44:14 2009 -0300 V4L/DVB (13188): xc5000: return an error on tuning attempts if firmware not loaded Xc5000 tuning attempts shouldn't return zero in the case where the firmware did not load successfully. Thanks to Michael Krufky for pointing out this issue. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 36a91879d85396ea6470d3a5bde8287e40b5a0e9 Author: Devin Heitmueller Date: Tue Oct 13 23:32:29 2009 -0300 V4L/DVB (13187): au8522: add support for saturation and hue controls Add support for saturation/hue controls, prompted by errors showing up in the mythbackend log. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6a540bdf0134fc7198dd053a352b4c414a5e7e19 Author: Hans de Goede Date: Sat Oct 24 15:02:14 2009 -0300 V4L/DVB (13185): gspca: Don't resubmit error status URB's when suspending gspca: Don't resubmit error status URB's when suspending Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit bf926adfbbb36876396511f1bdc78f73dc596e21 Author: Hans de Goede Date: Fri Oct 23 06:56:06 2009 -0300 V4L/DVB (13184): gspca: Don't forget to resubmit URB's in case of an error The gscpa core was not resubmitting URB's when the URB status was an error, this means we will loose URB's (potentially all stopping the stream) in case of sporadic USB issues. I've seen this with an Aiptek stv0680 based PenCam connected through an USB 2.0 hub. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 21f1b932dbcc5ed18444e6995aeb856e583804ae Author: Hans de Goede Date: Fri Oct 23 06:50:12 2009 -0300 V4L/DVB (13183): gspca: add stv0680 subdriver This patch adds a new subdriver to gspca supporting cams with the stv0680 bridge (replacing the old in kernel v4l1 driver). Many thanks to Hans Verkuil for providing me with one of the 2 cams used in testing this new sub driver. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 73997870c64d604f521e85a57511f36a2dc22ed0 Author: Hans de Goede Date: Mon Oct 19 06:47:03 2009 -0300 V4L/DVB (13182): gspca w9968cf: slight tweak to vstart and hstart gspca w9968cf: slight tweak to vstart and hstart to get rid of black borders in 640x480 mode. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 79b359025d57969decb465973f7c0ea195009007 Author: Hans de Goede Date: Mon Oct 19 06:08:01 2009 -0300 V4L/DVB (13181): gspca w9968cf: Add support for JPEG compression gspca w9968cf: Add support for JPEG compression, this enables much higher framerates at 320x240 / 352x288 and also allows for 640x480 mode for cams which can do this. The w9968cf uses planar JPEG, which libv4l until now did not support, so this requires atleast version 0.6.3 of libv4l. And something important I forgot to mention in my earlier w9968cf commits: Many thanks to Hans Verkuil for giving me a w9968cf based cam, which has allowed me to develop the gspca w9968cf support. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8394bcf3fc0293aa5cd07e2a1a3c6bf4e1a5b835 Author: Hans de Goede Date: Fri Oct 16 11:26:22 2009 -0300 V4L/DVB (13180): gspca-w9968cf: Don't add an extra packet to the buffer after the EOF gspca-w9968cf: Don't add an extra packet to the buffer after the EOF, this makes the frame data size bigger then it should be which makes gstreamer discard it. This patch also fixes an unrelated compiler warning. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit fb1f9020609ead93fcec4b0dd02511a46294c147 Author: Hans de Goede Date: Fri Oct 16 07:42:53 2009 -0300 V4L/DVB (13179): gspca_ov519: cache sensor regs to avoid unnecessary slow i2c reads / writes Cache sensor regs to avoid unnecessary slow i2c reads / writes, this speeds up sd_start a bit with most bridges and a lot (from 5 seconds down to 0.3 seconds) with W996xCF cams, as this avoids very slow bit bang IO over USB i2c reads. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit a511ba947600ae263f8c29c86020ba66a901d3e5 Author: Hans de Goede Date: Fri Oct 16 07:13:07 2009 -0300 V4L/DVB (13178): gspca: Add support for Winbond W9967CF and W9968CF camera's This patch adds support to gspca for the Winbond W9967CF and W9968CF camera's. This is mostly a port of the existing v4l1 driver to gspca (making it v4l2). But this also features fixes to the bitbanging i2c code (send a nack not an ack after reading the last byte of a transfer), which gets rid of the weird errors which were being seen there, and of the smbus_refresh() hack to get around these errors. Also the vstart settings have been tweaked to work with different frequency filter settings. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit eea85b0a629970d462481a80e1d45f4d71fe797f Author: Richard Röjfors Date: Tue Sep 22 10:14:39 2009 -0300 V4L/DVB (13177): radio: Add support for TEF6862 tuner This patch adds support for TEF6862 Car Radio Enhanced Selectivity Tuner. It's implemented as a subdev, supporting checking signal strength and setting and getting frequency. Signed-off-by: Richard Röjfors Signed-off-by: Mauro Carvalho Chehab commit 42752f7a3f4afbabb513d5769c590e9abe2d0cd6 Author: Richard Röjfors Date: Tue Sep 22 06:07:06 2009 -0300 V4L/DVB (13176): adv7180: Support checking standard via interrupts If the I2C device provides an interrupt it is registered and the standard is updated via interrupts rather than polling. Since I2C communication is needed, the interrupt handler fires off a work which will check the new standard, and store it in the internal structure. To handle mutual exclusion a mutex is introduced. Signed-off-by: Richard Röjfors Signed-off-by: Mauro Carvalho Chehab commit 527aebf29c64a56557f9b44d2852ccb99f91ac3e Author: Richard Röjfors Date: Tue Sep 22 06:07:34 2009 -0300 V4L/DVB (13175): adv7180: Use __devinit and __devexit macros This patch defines the probe and remove function as __devinit and __devexit. Signed-off-by: Richard Röjfors Signed-off-by: Mauro Carvalho Chehab commit c277b60a08fe9e201656528b3f5cd35b554e24af Author: Richard Röjfors Date: Tue Sep 22 06:06:34 2009 -0300 V4L/DVB (13174): adv7180: Support for setting input status Support for settings the input standard of the ADV7180. When the input standard is set there is no use to ask the chip for standard, therefore it is cached in the driver. Signed-off-by: Richard Röjfors Signed-off-by: Mauro Carvalho Chehab commit d31242943a73aba0e5cfd0ea674b5e694b4a39e6 Author: Richard Röjfors Date: Tue Sep 22 06:05:42 2009 -0300 V4L/DVB (13173): adv7180: Support for getting input status This patch adds support to the ADV7180 driver to check the input status. Since the status is held in the same register as the input standard a small restructuring of the code is done to reuse the code for reading the register Signed-off-by: Richard Röjfors Signed-off-by: Mauro Carvalho Chehab commit e3c6e1aaa5db7822524f5b1355960fd732910068 Author: Danny Wood Date: Sun Sep 20 12:14:21 2009 -0300 V4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847) Adds the device IDs and driver linking to allow the Asus Europa DVB-T card to operate with these drivers. The device has a SAA7134 chipset with a TD1316 Hybrid Tuner. All inputs work on the card including switching between DVB-T and Analogue TV, there is also no IR with this card. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Danny Wood Signed-off-by: Mauro Carvalho Chehab commit e6a1a08f00689b0006bef2376ac30daa467901e9 Author: Julia Lawall Date: Sat Sep 19 16:48:17 2009 -0300 V4L/DVB (13166): remove duplicate structure field initialization The definition of tvaudio_tuner_ops initializes the s_tuner field twice. It appears that the second case should initialize the g_tuner field. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier I, s, fld; position p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @s@ identifier I, s, r.fld; position r.p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @script:python@ p0 << r.p0; fld << r.fld; ps << s.p; pr << r.p; @@ if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column): cocci.print_main(fld,p0) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 7cbefad085c9112d0b1814db18423e5da072f5c8 Author: Tuukka Toivonen Date: Thu Jul 23 10:56:25 2009 -0300 V4L/DVB (13165): videobuf do not force buffer size to be multiple of PAGE_SIZE When the image size (bytesperline*height) is not multiple of PAGE_SIZE, v4l2 rounded the required buffer size to be multiple of PAGE_SIZE. This prevented user space to store images directly into userptr buffers which were not multiple of PAGE_SIZE. This constraint is removed. The start address is still assumed to be required page-aligned, ie., when v4l2 allocates mmap buffers, the offset between different buffers is page-aligned. Signed-off-by: Tuukka Toivonen Signed-off-by: Mauro Carvalho Chehab commit 131db3a1acbd947a9c3257b95ee860a58ce0dffa Author: Mauro Carvalho Chehab Date: Sat Oct 24 21:18:46 2009 -0300 V4L/DVB (13164): DocBook/dvb: Starts documenting DVBS2API ioctls DVBS2API introduced two new ioctls that allows changing/getting details about newer video standards like DVB-S2 and ISDB-T. There are lots of thing to do in this chapter, but, for now, just add a session there, in order to allow make to not complain about undefined symbol. With this patch, all ioctls at the frontend.h API were somehow documented. Signed-off-by: Mauro Carvalho Chehab commit b832104c7acac4d5469a031773847ec3b6fbd147 Author: Mauro Carvalho Chehab Date: Sat Oct 24 21:01:22 2009 -0300 V4L/DVB (13163): Docbook/dvb: Rename isdbt.xml to dvbproperty.xml We'll need to add the documentation for FE_[GET|SET]_PROPERTY that is not specific to isdb-t. Instead of doing it at frontend.xml, it is better to have a separate session for it. Also, isdbt.xml assumes that those ioctls were already introduced, and documents several exisiting properties. So, better to just rename it and add the documentation for it, together with each existing property there. Signed-off-by: Mauro Carvalho Chehab commit 603c0d80b4ff59487af33477e2ac7be113538161 Author: Mauro Carvalho Chehab Date: Sat Oct 24 20:19:20 2009 -0300 V4L/DVB (13162): Docbook/dvb: add missing specs for FE_DISHNETWORK_SEND_LEGACY_CMD ioctl While this ioctl should not be used, and is a good canditate for Documentation/feature-removal-schedule.txt, while it is on kernel, it needs to be documented. Signed-off-by: Mauro Carvalho Chehab commit f0964a770a2e180340fa6ab807c60ee970bb120b Author: Mauro Carvalho Chehab Date: Sat Oct 24 19:55:24 2009 -0300 V4L/DVB (13161): Add missing specs for FE_SET_FRONTEND_TUNE_MODE ioctl. Signed-off-by: Mauro Carvalho Chehab commit 9ca2bdaa765a88fa151172aa30a133b0745915ba Author: Mauro Carvalho Chehab Date: Sat Oct 24 19:24:43 2009 -0300 V4L/DVB (13160): DocBook/Makefile: add linux/dvb/frontend.h header file Adds linux/dvb/frontend.h header file at DocBook, and creates cross-references for the frontend ioctls. Signed-off-by: Mauro Carvalho Chehab commit 6dea3830d8a596345c9d498e346e2bde1546d0ac Author: Mauro Carvalho Chehab Date: Sat Oct 24 19:10:46 2009 -0300 V4L/DVB (13159): DocBook/frontend: use cross references for ioctls Rename all sessions id's for frontend ioctls to match ioctl name and add the proper cross-link references for those ioctls. This also helps to identify what ioctls are missing specs. Signed-off-by: Mauro Carvalho Chehab commit 06d3a396b26e48012ce0f2ee21b1fdff092d8d4a Author: Mauro Carvalho Chehab Date: Fri Oct 23 20:09:42 2009 -0300 V4L/DVB (13157): dvb_frontend: represent all DVBS2API commands via macro Signed-off-by: Mauro Carvalho Chehab commit b232a012adfea9f535702e8296ea6b76e691f436 Author: Laurent Pinchart Date: Fri Oct 9 20:55:23 2009 -0300 V4L/DVB (13155): uvcvideo: Add a module parameter to set the streaming control timeout The default streaming control timeout was found by Ondrej Zary to be too low for some Logitech webcams. With kernel 2.6.22 and newer they would timeout during initialization unles the audio function was initialized before the video function. Add a module parameter to set the streaming control timeout and increase the default value from 1000ms to 3000ms to fix the above problem. Thanks to Ondrej Zary for investigating the issue and providing an initial patch. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit c4ed8c66d79d707d89fe732ff5b97739edf1ba62 Author: Laurent Pinchart Date: Thu Oct 8 19:38:10 2009 -0300 V4L/DVB (13154): uvcvideo: Handle garbage at the end of streaming interface descriptors At least one 5986:0241 webcam model includes vendor-specific descriptors at the end of its streaming interface descriptors. Print an information UVC_TRACE_DESCR message and try to continue parsing the descriptors rather than bailing out with an error. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fd1b6bbb4a54a232ae6a1e5e4a6fbe3507ed5142 Author: Ming Lei Date: Sun Sep 27 05:30:34 2009 -0300 V4L/DVB (13153): uvcvideo: Fix uvc_alloc_urb_buffers() This patch sets stream->urb_size as psize*npackets before calling uvc_alloc_urb_buffers, which may fix a possible failure of usb_buffer_free in case usb_buffer_alloc returns NULL. The patch is based on the ideas below: 1,If usb_buffer_alloc can't allocate a buffer sucessfully, uvc_free_urb_buffers will be called to free the allocated buffers, and stream->urb_size is required to be passed to usb_buffer_free; 2,uvc_free_urb_buffers can reset stream->urb_size. This patch is against linux-v2.6.31-next-20090926. Signed-off-by: Ming Lei Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 716fdee110ceb816cca8c46c0890d08c5a1addb9 Author: Laurent Pinchart Date: Tue Sep 29 21:07:19 2009 -0300 V4L/DVB (13152): uvcvideo: Rely on videodev to reference-count the device The uvcvideo driver has a driver-wide lock and a reference count to protect against a disconnect/open race. Now that videodev handles the race itself, reference-counting in the driver can be removed. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 1a969d9863a0c8890eb799ec710dda9701f10483 Author: Laurent Pinchart Date: Wed Sep 2 03:12:26 2009 -0300 V4L/DVB (13151): uvcvideo: Dismiss privileges when freeing video buffers Dismiss privileges on the file handle when calling VIDIOC_REQBUFS with a buffer count of 0. This allows applications to release the streaming permissions on the file handle without closing it. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4e7387858f35eace117493e4ad69d3b7ccc84a41 Author: Laurent Pinchart Date: Wed Sep 2 03:09:02 2009 -0300 V4L/DVB (13150): uvcvideo: Don't acquire privileges in VIDIOC_TRY_FMT The VIDIOC_TRY_FMT ioctl doesn't interfere with video streaming and thus should succeed on an unprivileged file handle. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 663a419203cc9690d16502be509ffb8acc40552a Author: Laurent Pinchart Date: Thu Aug 6 11:41:17 2009 -0300 V4L/DVB (13149): uvcvideo: Add a new UVC_TRACE_VIDEO trace level Use the trace level for messages related to video URB buffers allocation and alternate setting selection. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit f4eabafeb3ea41801260fba624cbf2da971d19f8 Author: Laurent Pinchart Date: Thu Aug 6 06:05:40 2009 -0300 V4L/DVB (13148): uvcvideo: Handle V4L2_CTRL_TYPE_BUTTON control type in VIDIOC_QUERYCTRL Return minimum, maximum and step set to 0 without querying the hardware. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit ebbb5c3e0eb73db4da5bee57cd0344a74cf73319 Author: Hans de Goede Date: Mon Oct 12 11:32:44 2009 -0300 V4L/DVB (13146): gspca_ov519: cleanup sensor handling There were various "if (sensor == foo)" pieces of code inside ov519.c, move these bits to the sensor specific init functions, where they belong. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b46aaa02648cd8c1ebc20191304e2f6a2382d04c Author: Hans de Goede Date: Mon Oct 12 10:07:57 2009 -0300 V4L/DVB (13145): gscpa_ov519: add support for the ovfx2 bridge gscpa_ov519: add support for the ovfx2 bridge Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 635118d5b19c4ad562d425a3f3491c721d6a8293 Author: Hans de Goede Date: Sun Oct 11 09:49:03 2009 -0300 V4L/DVB (13144): gspca_ov519: Add support for OV2610 and OV3610 sensors This patch adds support for the OV2610 and OV3610 sensors to the gspca ov519 subdriver. This is a preparation patch for adding ovfx2 bridge support. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 229bb7dc5181b3264550532a26a9c698be56fcb8 Author: Hans de Goede Date: Sun Oct 11 07:41:46 2009 -0300 V4L/DVB (13143): gspca_ov519 cleanup sensor detection gspca_ov519 cleanup sensor detection Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit d76f975c574230fb00d07848d330e04d97e51475 Author: Hans de Goede Date: Sun Oct 11 05:22:29 2009 -0300 V4L/DVB (13142): gspca_mr97310a: small tweak to CIF sensor type 1 exposure setting The CIF sensor type 1 exposure setting got clamped at 300, as settings below 300 do not work well (and do work for the other sensors). This patch scales the 0-4095 range to 300-4095 instead of ignoring changes between 300, avoiding have a part of the control range where nothing happens. This is esp. important for software autogain as done by libv4l. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 205260102c5cef4180982eec88aaeb6934faf214 Author: Hans de Goede Date: Fri Oct 9 04:17:42 2009 -0300 V4L/DVB (13141): gspca_sq905c: once one frame is discarded it keeps discarding all frames While checking all gspca sub drivers pkt_scan functions for a bug I found in 1 of them (and after checking also in another), I noticed a bug in the gspca_sq905c work queue function, once it has decided to start discarding a frame because the application is not reading fast enough (and thus returning buffers to fill fast enough), it never stops discarding. This patch fixes this by simply completely removing the "discarding" variable, if we need to discard the current frame because there is no buffer to store it, the "frame" pointer will be NULL, so that is all we need to check. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 6ca3f255f790764f9cfc41d3ac02823d83dfa5ac Author: Hans de Goede Date: Fri Oct 9 03:58:35 2009 -0300 V4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all frames While checking all gspca sub drivers pkt_scan functions for a bug I found in 1 of them (and after checking also in another), I noticed a bug in the gspca_jeilinj work queue function, once it has decided to start discard a frame because the application is not reading fast enough (and thus returning buffers to fill fast enough), it never stops discarding. This patch fixes this by simply completely removing the "discarding" variable, if we need to discard the current frame because there is no buffer to store it, the "frame" pointer will be NULL, so that is all we need to check. I've also moved the gspca_get_i_frame() call and the writing of the jpg header to the buffer to after the first usb_bulk_msg() call, as we don't need it before that, and that will give the app slightly more time to queue a buffer for us to fill. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b3e440eef8a842736d63cc6a6594d80dfbb75fd9 Author: Theodore Kilgore Date: Fri Oct 9 03:54:49 2009 -0300 V4L/DVB (13139): gspca_mr97310a: Improve VGA sensor type detection Improve (and also simplify :) gspca_mr97310a: VGA sensor type detection. As it was still failing on some machines (not with some cams, but on some machines interesting enough). Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8519110040ca98dfbc89c473921cca390c81460c Author: Hans de Goede Date: Mon Oct 5 05:58:18 2009 -0300 V4L/DVB (13138): gspca_sq905: cleanup sq905_dostream -Remove use of unneeded discarding variable -Cleanup locking to only take usb_lock around access to the control endpoint, by no longer taking the lock around the bulk transfer (which takes most of the time) we can remove the msleep(1) which was needed to give the gspca core a chance to grab the usb_lock to signal us to stop. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 930bf78c20187f3cbbf0775cd317616c6b681a8a Author: Theodore Kilgore Date: Mon Oct 5 05:11:35 2009 -0300 V4L/DVB (13137): gspca_mr97310a: Add controls for vga cams with sensor type 0 This patch adds controls for vga cams with sensor type 0, in order to correctly report the present controls, the probing of the sensor type has been moved from sd_start to sd_config, since this made the sensor type probing unreliable the detection method was changed. Note this requires the camera to enter streaming mode, so sd_config now briefly makes the camera stream. Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9d2ba7ad802300d6a1830df9268d8ba478c66a18 Author: Igor M. Liplianin Date: Wed Sep 23 14:44:12 2009 -0300 V4L/DVB (13135): Add support for TeVii remotes The patch brings infrared remote support for some cx88 based cards. Such as TeVii S460,S420. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit d8d8622552088ca94fab4e4997f948514d0bdc27 Author: Igor M. Liplianin Date: Sat Sep 19 09:51:12 2009 -0300 V4L/DVB (13134): Add support for TBS-likes remotes The patch brings infrared remote support for some cx88 based cards. Such as: TeVii S460,S420; Omicom SS4; SatTrade ST4200; TBS 8920,8910; Prof 7300,6200. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8f37cf25badd0ba9de7cd05c3f1d5362607c1bf9 Author: Guennadi Liakhovetski Date: Mon Oct 5 12:54:04 2009 -0300 V4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from Sharp This adds an soc-camera / v4l2-subdev driver for the RJ54N1CB0C CMOS camera sensor from Sharp. The sensor is very picky about initialisation and configuration sequences. The driver limits artificially maximum window size by 800x600, although the sensor supports 1600x1200. Sizes above 800x600 don't seem to work correctly, besides, examples from the system integrator use sizes above 640x480 only for still photography. Unfortunately, I had to use "magic" register-value pairs for undocumented and "reserved" registers. This version of the driver also omits some functionality, like cropping, which hasn't been sufficiently tested yet and will be added later. create mode 100644 drivers/media/video/rj54n1cb0c.c Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5cf93f1dcaff4960bdfea22196963556778b22b3 Author: Kuninori Morimoto Date: Mon Oct 5 12:48:59 2009 -0300 V4L/DVB (13128): sh_mobile_ceu_camera: add VBP error support If CEU driver can not receive data from camera, CETCR has VBP error state. Then, CEU is stopped and cure operation is needed. This patch add VBP error cure operation. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b1de7aeba1d7592b97507c21ea986ec6243a4165 Author: Kuninori Morimoto Date: Mon Oct 5 12:48:20 2009 -0300 V4L/DVB (13127): sh_mobile_ceu: add soft reset function Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 56f6f5582f7f422f142035dd92b521e72ffdb348 Author: Marton Nemeth Date: Sun Oct 4 13:58:19 2009 -0300 V4L/DVB (13121): gspca - pac7311: add comment about JPEG header Add comment about the meaning of the fixed JPEG header bytes used to create each image. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4fc8b64823ef0c42213a89af6c4c13066f210981 Author: Marton Nemeth Date: Sun Oct 4 13:56:50 2009 -0300 V4L/DVB (13120): gspca - pac7311: remove redundant register page switching Remove redundant register page switching to page 0 when changing the color control. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 24067bb552ae8be647372359d6a3ea6ce7de1525 Author: Marton Nemeth Date: Sun Oct 4 13:54:48 2009 -0300 V4L/DVB (13119): gspca - pac7311: remove magic value for USB_BUF_SZ The length check in reg_w_var() function is because the buffer contents is copied to gspca_dev->usb_buf which has the size of USB_BUF_SZ bytes as defined in drivers/media/video/gspca/gspca.h. Replace the number with symbol for better readability and maintainability. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5a2e8d9fc15901d6ee4ec177b3845a84b6b960bd Author: Marton Nemeth Date: Sun Oct 4 13:53:22 2009 -0300 V4L/DVB (13118): gspca - pac7311: remove magic values for END_OF_SEQUENCE and LOAD_PAGE. Change the magic values 0, 254 and 255 to END_OF_SEQUENCE, LOAD_PAGE4 and LOAD_PAGE3 respectively for better source code readability. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ff75e99c62bcef8ccd6fb70151ad2b87aa52a165 Author: Marton Nemeth Date: Sun Oct 4 13:51:26 2009 -0300 V4L/DVB (13117): gspca - pac7311: remove magic value for SKIP. Change the magic value 0xaa to SKIP for better understandability. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 518c8df77c21b7d1690dd8b96eb0e54c4ec1c9c1 Author: Rafal Milecki Date: Fri Oct 2 03:54:44 2009 -0300 V4L/DVB (13116): gspca - ov519: Webcam 041e:4067 added. Signed-off-by: Rafal Milecki Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0d07e240c5da04db7c26dd4e337b3845be99d5f8 Author: Jean-Francois Moine Date: Thu Oct 1 13:44:49 2009 -0300 V4L/DVB (13115): gspca - main: More information messages. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1d76331ddbb43c04d4d62bf5b9cc93efc05149c7 Author: Jean-Francois Moine Date: Fri Sep 18 05:36:24 2009 -0300 V4L/DVB (13114): gspca - zc3xx.c: Bad init sequences of sensor cs2102. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c0faeee5a3b70c894a27fa81a0d98a3ab223aff0 Author: Michael Krufky Date: Mon Sep 28 03:13:49 2009 -0300 V4L/DVB (13112): tda18271: display some state information in debug output Display i2c adapter id, address and master / slave role in debug output. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3a6b49fef6cd18ce3de9de3db12bfbeacf39f9e9 Author: Michael Krufky Date: Sun Sep 27 23:10:20 2009 -0300 V4L/DVB (13111): tda18271: more signedness fixes Convert tda18271_rf_tracking_filter_cal.rf_[ab][12] from int to s32. Convert tda18271_priv.tm_rfcal from unsigned int to u8. Cast subtractions between u32 values as s32. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3986bd116f3c53d695aef1781e14b6c5670d4cdd Author: Michael Krufky Date: Sun Sep 27 17:00:13 2009 -0300 V4L/DVB (13110): tda18271: use temporary variables in tda18271_rf_tracking_filters_init Use temporary variables for signed calulations between unsigned values Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b450b92e162a454b82fea6373c83e447e28ce4d6 Author: Henk Vergonet Date: Sun Sep 27 18:19:58 2009 -0300 V4L/DVB (13108): tda8290: enable deemphasis_50 module parameter This adds a forgotten module_param macro needed to set a deemphasis of 50us. It is the standard setting for commercial FM radio broadcasts outside the US. Signed-off-by: Henk Vergonet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 94d983143e981c389c3849d8baecb41b71c134b3 Author: Michael Krufky Date: Mon Sep 7 13:32:29 2009 -0300 V4L/DVB (13105): dvb-usb: add fe_ioctl_override callback to dvb_usb_adapter_properties Allow dvb-usb adapter drivers to specify a fe_ioctl_override callback to enable device-specific handling of DVB frontend operations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5bdd39621eb139630683b52c8e71202a2cc08291 Author: Michael Krufky Date: Fri May 8 22:39:24 2009 -0300 V4L/DVB (13104): cx23885: define a dvb frontend ioctl override function override set_frontend to allow rf input path switching on the HVR1275 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9133aee09e3689c116c526fa9011c33b872e65c1 Author: Michael Krufky Date: Sat May 23 18:00:59 2009 -0300 V4L/DVB (13103): create a standard method for dvb adapter drivers to override frontend ioctls Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbda8f701abb0e4693a30e9bef4a2301d1c8ea80 Author: Andy Walls Date: Sun Sep 27 20:55:41 2009 -0300 V4L/DVB (13100): cx23885: Add IR input keypress handling and enable for the HVR-1850 This changes adds IR Rx keypress input event handling to the CX23885 module. This change specifically only adds input handling for IR devices implemented as v4l2_subdevices, using only the pulse width mode (for now), and only with RC-5 remotes. The V4L-DVB infrastructure is missing too much to support RC-6 mode 6A as used in many media center remotes. The grey Hauppauge RC-5 remote and HVR-1850 IR receiver work now. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1d23a002434802078d806ddc2937bd69bbbd6dc8 Author: Andy Walls Date: Sun Sep 27 20:05:23 2009 -0300 V4L/DVB (13099): ir-functions: Export ir_rc5_decode() for use by the cx23885 module Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f59ad611acccd4057b8e685c7fd5532ab1a17f66 Author: Andy Walls Date: Sun Sep 27 19:51:50 2009 -0300 V4L/DVB (13098): cx23885: Add integrated IR subdevice interrupt and notification handling Add integrated IR subdevice interrupt and notification handling. This is in preparation of input keypress handling changes for the cx23885 module. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1a0b9d89c62ddf0aed12798686fe452e7e97de42 Author: Andy Walls Date: Sun Sep 27 18:31:37 2009 -0300 V4L/DVB (13097): cx23885: Complete CX23888 IR subdev implementation for Rx & almost for Tx This change completes the v4l2_subdev implementation for IR receive for the IR controller built into the CX23888. This changes almost completes the IR transmit side also, but doesn't. Instead notes in the comments describe what needs to be done for IR Tx to work in the subdevice implementation. The current Tx behavior is skeletal and benign. If left alone, it does nothing. It will only ever generate a Tx interrupt on Tx init by a caller or when the tx_write() method is called. The ISR, when called, will then disable the Tx FIFO service interrupt. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1d986add96a06f311cfef377b36602514db54507 Author: Andy Walls Date: Sun Sep 27 17:50:04 2009 -0300 V4L/DVB (13096): v4l2-subdev: Add v4l2_subdev_ir_ops and IR notify defines for v4l2_device Add v4l2_subdev_ir_ops and IR notify defines for v4l2_device. This change is specifically needed at this time to support the integrated IR controller in the CX2388[58] chips. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8c2d7821d4e3827c29e4e4e345ee25390a141e55 Author: Steven Toth Date: Sun Sep 27 15:54:47 2009 -0300 V4L/DVB (13092): cx25840: Improvements to the cx23885/7/8 chip detection mechanism. The prior mechanism wasn't reliable with the cx23887. This new mechanism tests correctly against cx23885, 7 and 8 based products. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c6b7053bbc3b1ec556780327cef0d0463e1537ea Author: Andy Walls Date: Sun Sep 27 00:14:33 2009 -0300 V4L/DVB (13091): cx23885: Enable HVR-1850 CX23888 A/V core to get VID_CLK running for IR For the IR controller on the CX23888 to work for the HVR-1850 and in general, the A/V core must be initialized to get the VID_CLK going. The VID_CLK is the timing reference for the CX23888's integrated IR controller. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e283d78083271c9faf784daad6367dfb903d0f06 Author: Andy Walls Date: Sun Sep 27 00:00:48 2009 -0300 V4L/DVB (13090): cx25840: Init PLLs properly for CX2388[578] A/V cores The SYS and AUX PLLs need to be initialized to different values based on the chip: CX23885, CX23887, CX23888, as each uses a different crystal frequency: 28.6363 MHz, 25.0 MHz, 50.0 MHz. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9eef550a9a98c1e3d15aaf490812949fdeb01c7c Author: Andy Walls Date: Sat Sep 26 23:54:20 2009 -0300 V4L/DVB (13089): cx25840: Separate set_audclk_freq functionality for the different chips Separate out the set_audclk_freq() function into separate functions for the four families of cores. These cores all use slightly different sample clock schemes and may be assuming slightly (+/- 3 Hz) different reference frequencies. The code resuse was not worth the maintenance and testing headache of have all chips use the same function peppered with conditional logic. Added comments on how PLL and SRC parameters values are computed. Fixed a few bugs related to the shared code having a large number of conditional statements. Noted inconsistencies with FIXME in the comments. This is done in preparation for getting the CX2388[578] PLL/clock setting logic cleaned up for CX23888 analog video and IR (which need the VID PLL set right). Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2a03f03471d3232037e656570ccaf3ff2ffd01e8 Author: Andy Walls Date: Sat Sep 26 23:47:21 2009 -0300 V4L/DVB (13088): cx25840: Convert chip/core family checks to static inline functions Change logic to check for various chip or core families to inline functions. Checks for specific chips should be made against the state->id field now. This is in preparation for chip/core specific code for setting up PLLs for the CX2388[578] family of cores, that all run with different crystal frequencies. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c7dd1ecdc0112b9700ed6ad20a6e4e07d125044b Author: Andy Walls Date: Sat Sep 26 23:32:54 2009 -0300 V4L/DVB (13087): cx25840: Improve detection of CX2388[578] A/V cores Add improved logic to detect the exact CX2388[578] A/V core that is being probed. Also cleaned up detection and logging for CX2310[12], CX2583[67], and CX2584[0123] cores and chips. Also added code to identify a CX2388[578] A/V decoder core that is not responding properly. Typical symptoms include registers 0x00-0xff responding properly but all other registers returning the same value (0x13 and 0x5 have been observed). This state will cause proper detection of '885 vs. '887 vs. '888 to fail and the chip won't respond to get configured properly anyway. I have no method of reseting the core to a working state at this time; but I didn't try too hard to work one out either. The problem likely only occurs in development. I suspect configuring the SYS PLL VCO to oscillate too slowly (286.3 MHz?) before post divide may be the root cause, when encountered. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 29f8a0a50ac32ac4bc1937dcfdf8de6c406a5f10 Author: Andy Walls Date: Sat Sep 26 23:17:30 2009 -0300 V4L/DVB (13086): cx23885: Add skeleton v4l2_subdev for the CX23888 integrated IR controller This change adds a skeletal implementation of a v4l2_subdevice to provide encapsulation and abstraction of the CX23888's integrated consumer infrared controller. This change also instantiates the cx23888_ir subdev for the HVR-1850 which has IR hardware physically wired up to a CX23888. The cx23888_ir subdev code is being written with long-term objectives to: 1. port it to the cx25840 module for the CX2584x, CX2583x, CX23885, & CX231xx IR controllers 2. possibly port it to the cx18 module for the CX23418 IR controller 3. have the IR subdevice accessed abstractly in the cx23885 module, so the driver can ignore the difference between the CX23885 and CX23888. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 74618244003a5a9e11240af8c5795ae747d9a2e0 Author: Andy Walls Date: Sat Sep 26 22:50:44 2009 -0300 V4L/DVB (13085): cx23885: Fix support for v4l2-dbg access to CX2388[578] and CX23417 regs This changes corrects the ioctl() operations for both the CX2388[578] analog video and MPEG video device nodes to properly and consistently support VIDIOC_G_CHIP_IDENT, VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER ioctl()s. This caused some ioctl() support routines to be broken out into a separate source file. Now v4l2-dbg can be used to manipulate CX2388[578] and CX23417 registers including the CX2388[57] functions handled by the cx25840 module. This was done in anticipation of developing a new v4l2_subdev for the integrated IR controller of the CX23888. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f56db93cef5d368b4fa5db49b68bc4ab0b20c4fd Author: Andy Walls Date: Sat Sep 26 22:07:10 2009 -0300 V4L/DVB (13084): v4l2-chip-ident: Add ID's needed for the cx23885 and cx25840 modules Add identifiers for CX2388[578] chips, CX2310[012] chips, integrated A/V decoders cores, integrated IR controller core, and the CX23417 MPEG encoder. The cx23885 module and cx25840 module will use these identifiers in upcoming changes. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2e3c4723d5c2d6b4fa705c3dcd062b5004ab9b2f Author: Devin Heitmueller Date: Wed Sep 30 23:10:17 2009 -0300 V4L/DVB (13082): em28xx: remove "not validated" status from Terratec Cinergy T XS (005e) The board support has been validated by the user, so get rid of the warning that shows up on board load. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2a0d056015222d534e32e7556de1a684ad9e61f5 Author: Devin Heitmueller Date: Wed Sep 30 23:04:39 2009 -0300 V4L/DVB (13081): saa7134: use the #define for the xc5000 radio_input field Dmitri's patch for the Behold X7 didn't use the #define I had setup for XC5000_RADIO_FM1, so cut over to using that instead of "1". Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2930992c40ad9c665e2e6e2b8870d3f56428a83d Author: Beholder Intl. Ltd. Dmitry Belimov Date: Wed Sep 30 23:02:21 2009 -0300 V4L/DVB (13080): saa7134: add support for the digital side of the Behold X7 Add support for the digital side of the Behold X7 Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ec994d0505fc3dde5f46203602c76b527e2ac69d Author: Uroš Vampl Date: Wed Sep 30 22:53:37 2009 -0300 V4L/DVB (13078): em28xx: fix support for Terratec Cinergy T XS (005e) Make analog audio, dvb and the remote work on a Terratec Cinergy Hybrid XS (em2882). Note by djh: Thanks go out fo Andrej Suligoi for his contribution in providing and testing pretty much the exact same patch as provided by Uros. Between the two of them, they got all the core functionality working for the device. Cc: Andrej Suligoi Signed-off-by: Uroš Vampl Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f91cb65b94114f30cf43738ff923f272e4f2ae13 Author: Devin Heitmueller Date: Wed Sep 30 22:44:19 2009 -0300 V4L/DVB (13077): em28xx: Add support for new variant of KWorld 2800d Seems that the reference design used for the KWorld 2800d switched from the em2860 to em2862, so we need to add the new USB id (and the i2c hash remains so all we need is the default em2862 id. Thanks to Ian Young for reporting the issue and testing the fix. Cc: Ian Young Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 496e9057adf55d0e6c9be3805f0bc61288409317 Author: Devin Heitmueller Date: Thu Sep 24 13:27:24 2009 -0300 V4L/DVB (13076): xc5000: make the definition of the FM input part of the xc5000 config struct Remove hard-coded definition of the xc5000 FM radio input, making it a parameter passed in when doing the attach call. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d7009cdc286d7c9714b357b0e85b3fcbbf9e03a4 Author: Beholder Intl. Ltd. Dmitry Belimov Date: Thu Sep 24 13:13:28 2009 -0300 V4L/DVB (13075): xc5000: add FM radio support Add FM radio for the xc5000 silicon tuner chip. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 798166dbecafa98ec9b28d056774ec2fc80290df Author: David Ellingsworth Date: Wed Sep 23 18:31:26 2009 -0300 V4L/DVB (13073): radio-mr800: set radio frequency only upon success Set radio frequency only upon success. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 16a72f41bb82573d7fe1dfea1cb8356dee307db4 Author: David Ellingsworth Date: Wed Sep 23 18:28:02 2009 -0300 V4L/DVB (13072): radio-mr800: simplify device warnings Simplify device warnings. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d8970e5fd9eace437bc2f1aaff1c2a05fb3448ea Author: David Ellingsworth Date: Wed Sep 23 18:24:47 2009 -0300 V4L/DVB (13071): radio-mr800: preserve radio state during suspend/resume Preserve radio state during suspend/resume. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 30dd4508b97155a3f826f877d5750d8888bc3183 Author: David Ellingsworth Date: Wed Sep 23 18:16:38 2009 -0300 V4L/DVB (13070): radio-mr800: fix behavior of set_stereo function Fix behavior of set_stereo function. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 502d50166cdef6cc8f63ab8c6ab35694ee39f608 Author: David Ellingsworth Date: Wed Sep 23 18:13:50 2009 -0300 V4L/DVB (13069): radio-mr800: ensure the radio is initialized to a consistent state Ensure the radio is initialized to a consistent state. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8a7cd16f1fa31ef6db9cfc16b1eb0356566e974d Author: David Ellingsworth Date: Wed Sep 23 18:09:01 2009 -0300 V4L/DVB (13068): radio-mr800: remove device initialization from open/close Remove device initialization from open/close. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4e3616576e9e65d53f9381b9f334257299c7262e Author: David Ellingsworth Date: Wed Sep 23 18:03:52 2009 -0300 V4L/DVB (13067): radio-mr800: fix potential use after free Fix portential use after free. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 26452bfef4ae4798b96281ad8d3aed6e2d79846e Author: David Ellingsworth Date: Wed Sep 23 17:52:17 2009 -0300 V4L/DVB (13066): radio-mr800: remove device removed indicator Remove device removed indicator Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit eac000a90e70b990c7d847ac40ff1c33a5f00636 Author: David Ellingsworth Date: Wed Sep 23 17:49:36 2009 -0300 V4L/DVB (13065): radio-mr800: simplify locking in ioctl callbacks Simplify locking in ioctl callbacks. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ceb99e1b5a093ae8f439fc55aac28d007145c8ec Author: David Ellingsworth Date: Wed Sep 23 17:45:31 2009 -0300 V4L/DVB (13064): radio-mr800: simplify access to amradio_device Simplify access to amradio_device. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d1939e4c5f053e34dd432b448e221f55586a68ec Author: David Ellingsworth Date: Tue Sep 22 21:48:43 2009 -0300 V4L/DVB (13063): radio-mr800: remove unnecessary local variable Remove unnecessary local variable. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1b8bbb3c0a719f3baac22ea4a7eb1d636383ba3b Author: David Ellingsworth Date: Tue Sep 22 21:43:19 2009 -0300 V4L/DVB (13062): radio-mr800: simplify error paths in usb probe callback Simplify error paths in usb probe callback. Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7a7d92e061ed13052d306cadad6972d52acea931 Author: David Ellingsworth Date: Tue Sep 22 21:37:30 2009 -0300 V4L/DVB (13061): radio-mr800: simplify video_device allocation simplify video_device allocation Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4aebc2893eada9e054a37df8bb342a53f8ca0d2a Author: David Ellingsworth Date: Tue Sep 22 21:22:19 2009 -0300 V4L/DVB (13060): radio-mr800: implement proper locking Implement proper locking Signed-off-by: David Ellingsworth Acked-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0f017212567793ecedf86f709f43ca40f9b84655 Author: Antti Palosaari Date: Mon Sep 21 21:26:37 2009 -0300 V4L/DVB (13058): af9015: enable remote polling when eeprom contains 0x04 Looks like eeprom IR mode byte value 0x04 means there is remote which should be polled. Patch enables polling also in case of 0x04. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e1a7ff84a4c26893ffca19c1c35d008caa89bfde Author: Antti Palosaari Date: Mon Sep 21 20:52:44 2009 -0300 V4L/DVB (13057): af9015: add MSI DIGIVOX mini III remote Support for MSI DIGIVOX mini III remote. Thanks to Aleksandr V. Piskunov Thanks to Roman Cc: Aleksandr V. Piskunov Cc: Roman Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 641342dde7f9cbfcc6b9f6c890c90f99edcae6ca Author: Antti Palosaari Date: Mon Sep 21 18:56:12 2009 -0300 V4L/DVB (13056): af9015: add LeadTek Y04G0051 remote buttons Add missing LeadTek Y04G0051 remote buttons. Thanks to Matthew Skinner Cc: Matthew Skinner Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 0254294f378cd4c50de550ce0a32c70aba668f17 Author: Antti Palosaari Date: Wed Sep 16 20:33:03 2009 -0300 V4L/DVB (13055): af9015: fix few typos Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 486ba12b7ae1edd5549494ae1cbfaa4794d1af5a Author: Antti Palosaari Date: Fri Sep 18 13:37:57 2009 -0300 V4L/DVB (13054): af9015: add USB ID for KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T) Add USB ID 1b80:c161 for KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T). Thanks to Andrew Cruickshank for reporting this. Cc: Andrew Cruickshank Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 8a378e8543f044b3e54ddbbb03c349bf054fcedf Author: S?rgio Fortier Date: Mon Sep 28 04:19:21 2009 -0300 V4L/DVB (13052): DiB0700: EvolutePC TvWay+ USB ISDB-Tb fullseg device support Patch for EvolutePC TvWay+ USB ISDB-Tb fullseg device support. Signed-off-by: S?rgio C Fortier Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit eac1fe1050f223d28ebe5bb73b438d82ffd5b675 Author: Olivier Grenie Date: Wed Sep 23 13:41:27 2009 -0300 V4L/DVB (13051): DiB7000P: improve rebostness of HAS_LOCK indicator Update the dib7000p: The status is HAS_LOCK only if the demod is able to decode the TPS. Sometimes, there is a TPS data lock, even if the demod is not able to decode it (ex: no RF signal). For the STK7770P: correct value for the charge pump Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f8731f4ddedb78693ae05e40aac5c4817f740518 Author: Olivier Grenie Date: Fri Sep 18 04:08:43 2009 -0300 V4L/DVB (13049): dib8000: SNR in 10th of dB dib7000p/dib8000: added pid filtering dib8000: the SNR is in 10th of dB (not in dB) dib7000p and dib8000: added the pid filtering. This feature is enabled by module option (dvb-usb module). Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8171c2059cc4b0507faf3a0e0fdf28cc83d8ac62 Author: Igor M. Liplianin Date: Sat Sep 19 08:37:40 2009 -0300 V4L/DVB (13045): Fix debug messaging for stv0900 demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 61b1e58f0e1b9dd0e6ab7199f19b93948af4baa1 Author: Mauro Carvalho Chehab Date: Sat Sep 26 13:45:03 2009 -0300 V4L/DVB (13044): dib0700: Be less verbose when an IR key is pressed Signed-off-by: Mauro Carvalho Chehab commit 4c5128b30dc079d625bd109a94d5937d14f93ece Author: Mauro Carvalho Chehab Date: Sat Sep 26 13:31:31 2009 -0300 V4L/DVB (13043): Add support for Pixelview SBTVD IR This IR uses NEC protocol. In order to use, dvb_usb_dib0700_ir_proto=0 should be used. Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit aa15c0a347be6d5d16c557ed5b6b72345be48bdd Author: Mauro Carvalho Chehab Date: Sat Sep 26 13:29:35 2009 -0300 V4L/DVB (13042): Add NEC protocol to firmware v1.2 handler Currently, dvb_usb_dib0700_ir_proto is supported only with firmwares older than 1.2. Adds support for it also with the newer firmware. This is needed in order to support PixelView SBTVD IR. Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8d64827172ae680d34d0611a1e865b546e6a5f08 Author: Marek Vasut Date: Wed Sep 23 04:59:24 2009 -0300 V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor Signed-off-by: Marek Vasut Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1 Merge: 7a797cd b8007ef Author: Linus Torvalds Date: Sat Dec 5 09:53:36 2009 -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: (40 commits) tracing: Separate raw syscall from syscall tracer ring-buffer-benchmark: Add parameters to set produce/consumer priorities tracing, function tracer: Clean up strstrip() usage ring-buffer benchmark: Run producer/consumer threads at nice +19 tracing: Remove the stale include/trace/power.h tracing: Only print objcopy version warning once from recordmcount tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used ring-buffer: Move access to commit_page up into function used tracing: do not disable interrupts for trace_clock_local ring-buffer: Add multiple iterations between benchmark timestamps kprobes: Sanitize struct kretprobe_instance allocations tracing: Fix to use __always_unused attribute compiler: Introduce __always_unused tracing: Exit with error if a weak function is used in recordmcount.pl tracing: Move conditional into update_funcs() in recordmcount.pl tracing: Add regex for weak functions in recordmcount.pl tracing: Move mcount section search to front of loop in recordmcount.pl tracing: Fix objcopy revision check in recordmcount.pl tracing: Check absolute path of input file in recordmcount.pl tracing: Correct the check for number of arguments in recordmcount.pl ... commit 7a797cdcca2b3c0031e580203f18d6c9483aaec5 Merge: bb2166c c13d2f7 Author: Linus Torvalds Date: Sat Dec 5 09:53:21 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix trace_marker output tracing: Fix event format export tracing: Fix return value of tracing_stats_read() commit bb2166c898adb5fe29bc450004926802d2a16035 Merge: 0bf7969 3476994 Author: Linus Torvalds Date: Sat Dec 5 09:53:08 2009 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Fix spurious irq seqfile conversion genirq: switch /proc/irq/*/spurious to seq_file irq: Do not attempt to create subdirectories if /proc/irq/ failed irq: Remove unused debug_poll_all_shared_irqs() irq: Fix docbook comments irq: trivial: Fix typo in comment for #endif commit 0bf7969feae831ede7276f7cc73b586ce0902374 Merge: 69f061e e5af022 Author: Linus Torvalds Date: Sat Dec 5 09:52:46 2009 -0800 Merge branch 'core-softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: Fix hung_task_check_count sysctl commit 69f061e0c2ed47304b3eeac7fb7bd5268652dc50 Merge: 6077817 f84d49b Author: Linus Torvalds Date: Sat Dec 5 09:52:33 2009 -0800 Merge branch 'core-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: signal: Print warning message when dropping signals signal: Fix alternate signal stack check commit 607781762e7aae9c976f0a9a8829d4ba3e2da4ab Merge: d0b093a 8bfb2f8 Author: Linus Torvalds Date: Sat Dec 5 09:52:14 2009 -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: (31 commits) rcu: Make RCU's CPU-stall detector be default rcu: Add expedited grace-period support for preemptible RCU rcu: Enable fourth level of TREE_RCU hierarchy rcu: Rename "quiet" functions rcu: Re-arrange code to reduce #ifdef pain rcu: Eliminate unneeded function wrapping rcu: Fix grace-period-stall bug on large systems with CPU hotplug rcu: Eliminate __rcu_pending() false positives rcu: Further cleanups of use of lastcomp rcu: Simplify association of forced quiescent states with grace periods rcu: Accelerate callback processing on CPUs not detecting GP end rcu: Mark init-time-only rcu_bootup_announce() as __init rcu: Simplify association of quiescent states with grace periods rcu: Rename dynticks_completed to completed_fqs rcu: Enable synchronize_sched_expedited() fastpath rcu: Remove inline from forward-referenced functions rcu: Fix note_new_gpnum() uses of ->gpnum rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of ->completed counter rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls ... commit d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5 Merge: 3e72b81 5c82871 Author: Linus Torvalds Date: Sat Dec 5 09:50:22 2009 -0800 Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ratelimit: Make suppressed output messages more useful printk: Remove ratelimit.h from kernel.h ratelimit: Fix/allow use in atomic contexts ratelimit: Use per ratelimit context locking commit 3e72b810e30cdf4655279dd767eb798ac7a8fe5e Merge: 9b269d4 c08f782 Author: Linus Torvalds Date: Sat Dec 5 09:49:59 2009 -0800 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mutex: Fix missing conditions to build mutex_spin_on_owner() mutex: Better control mutex adaptive spinning config locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init() locking: Remove unused prototype locking: Reduce ifdefs in kernel/spinlock.c locking: Make inlining decision Kconfig based commit 9b269d4034c7855ac34f0985cc55ee29bd80e80a Merge: 7b626ac 2ea6dec Author: Linus Torvalds Date: Sat Dec 5 09:49:46 2009 -0800 Merge branch 'core-ipi-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: Add smp_call_function_any() generic-ipi: Fix misleading smp_call_function*() description commit 7b626acb8f983eb83b396ab96cc24b18d635d487 Merge: 1ebb275 4528752 Author: Linus Torvalds Date: Sat Dec 5 09:49:07 2009 -0800 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits) x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree x86/amd-iommu: Remove amd_iommu_pd_table x86/amd-iommu: Move reset_iommu_command_buffer out of locked code x86/amd-iommu: Cleanup DTE flushing code x86/amd-iommu: Introduce iommu_flush_device() function x86/amd-iommu: Cleanup attach/detach_device code x86/amd-iommu: Keep devices per domain in a list x86/amd-iommu: Add device bind reference counting x86/amd-iommu: Use dev->arch->iommu to store iommu related information x86/amd-iommu: Remove support for domain sharing x86/amd-iommu: Rearrange dma_ops related functions x86/amd-iommu: Move some pte allocation functions in the right section x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc x86/amd-iommu: Use get_device_id and check_device where appropriate x86/amd-iommu: Move find_protection_domain to helper functions x86/amd-iommu: Simplify get_device_resources() x86/amd-iommu: Let domain_for_device handle aliases x86/amd-iommu: Remove iommu specific handling from dma_ops path x86/amd-iommu: Remove iommu parameter from __(un)map_single x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs ... commit 1ebb275afcf5a47092e995541d6c604eef96062a Merge: 83fdbfb 26bb750 Author: Linus Torvalds Date: Sat Dec 5 09:47:17 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (31 commits) GFS2: Fix glock refcount issues writeback: remove unused nonblocking and congestion checks (gfs2) GFS2: drop rindex glock to refresh rindex list GFS2: Tag all metadata with jid GFS2: Locking order fix in gfs2_check_blk_state GFS2: Remove dirent_first() function GFS2: Display nobarrier option in /proc/mounts GFS2: add barrier/nobarrier mount options GFS2: remove division from new statfs code GFS2: Improve statfs and quota usability GFS2: Use dquot_send_warning() VFS: Export dquot_send_warning GFS2: Add set_xquota support GFS2: Add get_xquota support GFS2: Clean up gfs2_adjust_quota() and do_glock() GFS2: Remove constant argument from qd_get() GFS2: Remove constant argument from qdsb_get() GFS2: Add proper error reporting to quota sync via sysfs GFS2: Add get_xstate quota function GFS2: Remove obsolete code in quota.c ... commit 83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109 Merge: d9b2c4d c84d6ef Author: Linus Torvalds Date: Sat Dec 5 09:44:57 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (30 commits) TOMOYO: Add recursive directory matching operator support. remove CONFIG_SECURITY_FILE_CAPABILITIES compile option SELinux: print denials for buggy kernel with unknown perms Silence the existing API for capability version compatibility check. LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock(). SELinux: header generation may hit infinite loop selinux: Fix warnings security: report the module name to security_module_request Config option to set a default LSM sysctl: require CAP_SYS_RAWIO to set mmap_min_addr tpm: autoload tpm_tis based on system PnP IDs tpm_tis: TPM_STS_DATA_EXPECT workaround define convenient securebits masks for prctl users (v2) tpm: fix header for modular build tomoyo: improve hash bucket dispersion tpm add default function definitions LSM: imbed ima calls in the security hooks SELinux: add .gitignore files for dynamic classes security: remove root_plug SELinux: fix locking issue introduced with c6d3aaa4e35c71a3 ... commit d9b2c4d0b03c721808c0d259e43a27f1e80205bc Merge: 27d16d0 5fa9167 Author: Linus Torvalds Date: Sat Dec 5 09:42:59 2009 -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: (50 commits) pcmcia: rework the irq_req_t typedef pcmcia: remove deprecated handle_to_dev() macro pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer pcmcia: remove unused "window_t" typedef pcmcia: move some window-related code to pcmcia_ioctl.c pcmcia: Change window_handle_t logic to unsigned long pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page() pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page() pcmcia: Pass struct pcmcia_device to pcmcia_release_window() drivers/pcmcia: remove unnecessary kzalloc pcmcia: correct handling for Zoomed Video registers in topic.h pcmcia: fix printk formats pcmcia: autoload module pcmcia pcmcia/staging: update comedi drivers PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket PCMCIA: ss: allow PCI IRQs > 255 PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket PCMCIA: soc_common: constify soc_pcmcia_socket ops member PCMCIA: sa1111: remove duplicated initializers PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data ... commit 27d16d08717faeaa8afd1b736a096dbaab90f08e Author: David Daney Date: Fri Dec 4 17:44:54 2009 -0800 avr32: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;); Signed-off-by: David Daney Acked-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 5506e68975c346e55f786b554e28e368cdede444 Author: David Daney Date: Fri Dec 4 17:44:53 2009 -0800 s390: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;); Signed-off-by: David Daney Acked-by: Martin Schwidefsky CC: Heiko Carstens CC: linux390@de.ibm.com CC: linux-s390@vger.kernel.org Signed-off-by: Linus Torvalds commit 4ef5651e85589e3aaca704c6d2d7ae7e794e5d25 Author: David Daney Date: Fri Dec 4 17:44:52 2009 -0800 MIPS: Convert BUG() to use unreachable() Use the new unreachable() macro instead of while(1); Signed-off-by: David Daney Acked-by: Ralf Baechle CC: linux-mips@linux-mips.org Signed-off-by: Linus Torvalds commit a5fc5eba4dfcc284e6adcd7fdcd5b43182230d2b Author: David Daney Date: Fri Dec 4 17:44:51 2009 -0800 x86: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;);. When allyesconfig is built with a GCC-4.5 snapshot on i686 the size of the text segment is reduced by 3987 bytes (from 6827019 to 6823032). Signed-off-by: David Daney Acked-by: "H. Peter Anvin" CC: Thomas Gleixner CC: Ingo Molnar CC: x86@kernel.org Signed-off-by: Linus Torvalds commit 38938c879eb0c39edf85d5164aa0cffe2874304c Author: David Daney Date: Fri Dec 4 17:44:50 2009 -0800 Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2) Starting with version 4.5, GCC has a new built-in function __builtin_unreachable() that can be used in places like the kernel's BUG() where inline assembly is used to transfer control flow. This eliminated the need for an endless loop in these places. The patch adds a new macro 'unreachable()' that will expand to either __builtin_unreachable() or an endless loop depending on the compiler version. Change from v1: Simplify unreachable() for non-GCC 4.5 case. Signed-off-by: David Daney Acked-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 0fd7dc7f6c88ba4a46ff472a30d175facc8b6292 Author: Krzysztof Hałasa Date: Wed Nov 18 00:39:01 2009 +0100 IXP4xx: GTWX5715 platform only has two PCI IRQ lines, not four. Signed-off-by: Krzysztof Hałasa commit 8d3fdf31dd2066533861bb57ed7df1ae1b1f5fcc Author: Krzysztof Hałasa Date: Tue Nov 17 18:48:23 2009 +0100 IXP4xx: Introduce IXP4XX_GPIO_IRQ(n) macro and convert IXP4xx platform files. Signed-off-by: Krzysztof Hałasa commit a8b7b34075f693632cd1483b817d4211c7a63257 Author: Krzysztof Hałasa Date: Mon Nov 16 23:24:57 2009 +0100 IXP4xx: move Gemtek GTWX5715 platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit 31bcde37853f2a3795aaac3541d51bd2afc09d66 Author: Krzysztof Hałasa Date: Mon Nov 16 23:03:36 2009 +0100 IXP4xx: Remove unused Motorola PrPMC1100 platform macros. PrPMC1100 is handled by IXDP425 platform code, there is no need for duplicate set of macros. Remove them. Signed-off-by: Krzysztof Hałasa commit 914e7bc28ee2c7083a7b81ffaa789f703eb5f974 Author: Krzysztof Hałasa Date: Mon Nov 16 22:53:53 2009 +0100 IXP4xx: move FSG platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit 395e71276cd394c103931bfb60ceec9a97c0eaee Author: Krzysztof Hałasa Date: Mon Nov 16 21:56:56 2009 +0100 IXP4xx: move DSM G600 platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit 23fa6846a2e2ac6fcb6529f047570244ecbd957c Author: Krzysztof Hałasa Date: Mon Nov 16 16:06:47 2009 +0100 IXP4xx: move NAS100D platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit c1117c63d53cc269193d02383b4275ae5c4cbe49 Author: Krzysztof Hałasa Date: Mon Nov 16 16:02:02 2009 +0100 IXP4xx: move NSLU2 platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit f89f44902af4b88e12c5d2c888915749362198e7 Author: Krzysztof Hałasa Date: Mon Nov 16 15:57:41 2009 +0100 IXP4xx: move Coyote platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit ec66969685ecf04e8a5036369702fa9aec07cc17 Author: Krzysztof Hałasa Date: Mon Nov 16 15:39:11 2009 +0100 IXP4xx: move AVILA platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit 9bf4d676898b1f083a7ee20a0c6aacf2886eb49d Author: Krzysztof Hałasa Date: Mon Nov 16 15:24:41 2009 +0100 IXP4xx: move IXDP425 platform macros to the platform code. Signed-off-by: Krzysztof Hałasa commit ed5b9fa0d1c5ad1e01ff56b9acd3ff52bc783f66 Author: Krzysztof Hałasa Date: Sun Nov 15 18:02:10 2009 +0100 IXP4xx: Extend PCI MMIO indirect address space to 1 GB. IXP4xx CPUs can indirectly access the whole 4 GB PCI MMIO address space (using the non-prefetch registers). Previously the available space depended on the CPU variant, since one of the IXP43x platforms needed more than the usual 128 MB. 1 GB should be enough for everyone, and if not, we can trivially increase it. Signed-off-by: Krzysztof Hałasa commit cba362221b12b102dff1f21b291fdc7b93e24a18 Author: Krzysztof Hałasa Date: Sun Nov 15 01:25:06 2009 +0100 IXP4xx: Fix compilation failure with CONFIG_IXP4XX_INDIRECT_PCI. Instead of including the heavy linux/mm.h for VMALLOC_START, test the addresses against PCI MIN and MAX addresses. Indirect PCI uses 1:1 mapping for MMIO space making this change possible. Signed-off-by: Krzysztof Hałasa commit 58e570d1182a9dc3bc52d8dc508c6bd5b2d279c7 Author: Krzysztof Hałasa Date: Sat Nov 14 22:55:42 2009 +0100 IXP4xx: Drop "__ixp4xx_" prefix from in/out/ioread/iowrite functions for clarity. Signed-off-by: Krzysztof Hałasa commit 28f85cd3f65808cde50bb0e395043f38c3efa1cb Author: Krzysztof Hałasa Date: Sat Nov 14 19:44:44 2009 +0100 IXP4xx: Rename indirect MMIO primitives from __ixp4xx_* to __indirect_*. Signed-off-by: Krzysztof Hałasa commit efec194f576eebca8b0b3ac6e96fea05ae4567c9 Author: Roel Kluin Date: Tue Nov 3 23:05:32 2009 +0100 IXP4xx: Ensure index is positive in irq_to_gpio() and npe_request(). The indexes were signed, so negatives were possible. Signed-off-by: Roel Kluin Signed-off-by: Krzysztof Hałasa commit 9f2c94928a0d713d223b53909734877fe4f340ab Author: Krzysztof Hałasa Date: Wed Nov 11 00:21:48 2009 +0100 ARM: fix insl() and outsl() endianness on IXP4xx architecture. The repetitive in/out functions must preserve order, not value. Signed-off-by: Krzysztof Hałasa commit 8ae45a535b172d350759eec2fcecf4368d4c13d1 Author: Krzysztof Hałasa Date: Sun Oct 18 21:03:08 2009 +0200 IXP4xx: Fix normally-disabled debugging text in drivers/net/arm/ixp4xx_eth.c. Signed-off-by: Krzysztof Hałasa commit 6e30de84ab7c34eaaed13985b501a4fcb5d15c8b Author: Krzysztof Hałasa Date: Thu May 21 21:13:12 2009 +0200 IXP4xx: change the timer base frequency to 66.666000 MHz. Clock generators used by IXP4xx processors are usually 33.333 MHz, sometimes 33.33 MHz and few platforms use 33 MHz. The timers tick twice as fast, that means 66.666, 66.66 or 66 MHz. Current 66.666666 MHz means 10 ppm offset from the usual 66.666 MHz. Signed-off-by: Krzysztof Hałasa commit 0719dc341389882cc834ed18fc9b7fc6006b2b85 Merge: e28edb7 677f4f6 Author: Russell King Date: Sat Dec 5 10:35:33 2009 +0000 Merge branch 'devel-stable' into devel commit e28edb723e64200554194da17617ee6e82de6690 Merge: 2fc4281 01c62c9 43234b1 183bd50 50dcfa0 045868d 6635529 870725d Author: Russell King Date: Sat Dec 5 10:35:18 2009 +0000 Merge branches 'at91', 'ep93xx', 'etm', 'ks8695', 'nuc', 'u300' and 'u8500' into devel commit 6a47081c37b7dd7810ce19e156c1a3bf11987e9a Author: Jari Vanhala Date: Fri Dec 4 10:24:21 2009 -0800 Input: fix memory leak in force feedback core Effects were allocated, but not freed anywhere. Signed-off-by: Jari Vanhala Signed-off-by: Dmitry Torokhov commit a9b0d0e57de88030527a95edea2722851897b7dd Author: Dmitry Torokhov Date: Fri Dec 4 10:24:19 2009 -0800 Input: wistron - remove identification strings from DMI table The driver does not reference identification strings in DMI table and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov commit 9961e25976493f4d50704dafc0e8ff8365181538 Author: Dmitry Torokhov Date: Fri Dec 4 10:24:20 2009 -0800 Input: psmouse - remove identification strings from DMI tables The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov commit c45fc81ec6a9bd6cca42e60b35b31f9df822860b Author: Dmitry Torokhov Date: Fri Dec 4 10:24:19 2009 -0800 Input: atkbd - remove identification strings from DMI table The driver does not reference identification strings in DMI table and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov commit f909b1df0a068f30e252d8dc3e9d45ca25bf266f Author: Dmitry Torokhov Date: Fri Dec 4 10:24:19 2009 -0800 Input: i8042 - remove identification strings from DMI tables The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov commit 75757507e014fa074d25d2883c4ab604999584bd Author: Dmitry Torokhov Date: Fri Dec 4 10:24:19 2009 -0800 DMI: allow omitting ident strings in DMI tables The purpose of dmi->ident is twofold - it may be used by DMI callback functions when composing log messages; it is also used to determine end of DMI table in dmi_check_system() and dmi_first_match(). However, in case when callbacks are not interested in using ident at all it just wastes memory. Let's make entries with empty first match slot serve as end-of-table markers instead. Acked-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit 4832ddda2ec4df96ea1eed334ae2dbd65fc1f541 Author: Leann Ogasawara Date: Fri Dec 4 15:42:22 2009 -0800 x86: ASUS P4S800 reboot=bios quirk Bug reporter noted their system with an ASUS P4S800 motherboard would hang when rebooting unless reboot=b was specified. Their dmidecode didn't contain descriptive System Information for Manufacturer or Product Name, so I used their Base Board Information to create a reboot quirk patch. The bug reporter confirmed this patch resolves the reboot hang. Handle 0x0001, DMI type 1, 25 bytes System Information Manufacturer: System Manufacturer Product Name: System Name Version: System Version Serial Number: SYS-1234567890 UUID: E0BFCD8B-7948-D911-A953-E486B4EEB67F Wake-up Type: Power Switch Handle 0x0002, DMI type 2, 8 bytes Base Board Information Manufacturer: ASUSTeK Computer INC. Product Name: P4S800 Version: REV 1.xx Serial Number: xxxxxxxxxxx BugLink: http://bugs.launchpad.net/bugs/366682 ASUS P4S800 will hang when rebooting unless reboot=b is specified. Add a quirk to reboot through the bios. Signed-off-by: Leann Ogasawara LKML-Reference: <1259972107.4629.275.camel@emiko> Signed-off-by: H. Peter Anvin Cc: commit 9e0b5b2c447ad0caa075a5cfef86def62e1782ff Author: Kleber Sacilotto de Souza Date: Wed Nov 25 00:55:51 2009 -0200 PCI: fix coding style issue in pci_save_state() Remove a stray space in pci_save_state(). Signed-off-by: Kleber Sacilotto de Souza Signed-off-by: Jesse Barnes commit 5d990b627537e59a3a2f039ff588a4750e9c1a6a Author: Chris Wright Date: Fri Dec 4 12:15:21 2009 -0800 PCI: add pci_request_acs Commit ae21ee65e8bc228416bbcc8a1da01c56a847a60c "PCI: acs p2p upsteram forwarding enabling" doesn't actually enable ACS. Add a function to pci core to allow an IOMMU to request that ACS be enabled. The existing mechanism of using iommu_found() in the pci core to know when ACS should be enabled doesn't actually work due to initialization order; iommu has only been detected not initialized. Have Intel and AMD IOMMUs request ACS, and Xen does as well during early init of dom0. Cc: Allen Kay Cc: David Woodhouse Cc: Jeremy Fitzhardinge Cc: Joerg Roedel Signed-off-by: Chris Wright Signed-off-by: Jesse Barnes commit b26a34aa4792b3db2500b8a98cb7702765c1a92e Author: Kenji Kaneshige Date: Fri Nov 6 11:25:13 2009 +0900 PCI: fix BUG_ON triggered by logical PCIe root port removal This problem happened when removing PCIe root port using PCI logical hotplug operation. The immediate cause of this problem is that the pointer to invalid data structure is passed to pcie_update_aspm_capable() by pcie_aspm_exit_link_state(). When pcie_aspm_exit_link_state() received a pointer to root port link, it unconfigures the root port link and frees its data structure at first. At this point, there are not links to configure under the root port and the data structure for root port link is already freed. So pcie_aspm_exit_link_state() must not call pcie_update_aspm_capable() and pcie_config_aspm_path(). This patch fixes the problem by changing pcie_aspm_exit_link_state() not to call pcie_update_aspm_capable() and pcie_config_aspm_path() if the specified link is root port link. ------------[ cut here ]------------ kernel BUG at drivers/pci/pcie/aspm.c:606! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: /sys/devices/pci0000:40/0000:40:13.0/remove CPU 1 Modules linked in: shpchp Pid: 9345, comm: sysfsd Not tainted 2.6.32-rc5 #98 ProLiant DL785 G6 RIP: 0010:[] [] pcie_update_aspm_capable+0x15/0xbe RSP: 0018:ffff88082a2f5ca0 EFLAGS: 00010202 RAX: 0000000000000e77 RBX: ffff88182cc3e000 RCX: ffff88082a33d006 RDX: 0000000000000001 RSI: ffffffff811dff4a RDI: ffff88182cc3e000 RBP: ffff88082a2f5cc0 R08: ffff88182cc3e000 R09: 0000000000000000 R10: ffff88182fc00180 R11: ffff88182fc00198 R12: ffff88182cc3e000 R13: 0000000000000000 R14: ffff88182cc3e000 R15: ffff88082a2f5e20 FS: 00007f259a64b6f0(0000) GS:ffff880864600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00007feb53f73da0 CR3: 000000102cc94000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process sysfsd (pid: 9345, threadinfo ffff88082a2f4000, task ffff88082a33cf00) Stack: ffff88182cc3e000 ffff88182cc3e000 0000000000000000 ffff88082a33cf00 <0> ffff88082a2f5cf0 ffffffff811dff52 ffff88082a2f5cf0 ffff88082c525168 <0> ffff88402c9fd2f8 ffff88402c9fd2f8 ffff88082a2f5d20 ffffffff811d7db2 Call Trace: [] pcie_aspm_exit_link_state+0xf5/0x11e [] pci_stop_bus_device+0x76/0x7e [] pci_stop_bus_device+0x2b/0x7e [] pci_remove_bus_device+0x15/0xb9 [] remove_callback+0x29/0x3a [] sysfs_schedule_callback_work+0x15/0x6d [] worker_thread+0x19d/0x298 [] ? worker_thread+0x148/0x298 [] ? sysfs_schedule_callback_work+0x0/0x6d [] ? autoremove_wake_function+0x0/0x38 [] ? worker_thread+0x0/0x298 [] kthread+0x7d/0x85 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x85 [] ? child_rip+0x0/0x20 Code: 89 e5 8a 50 48 31 c0 c0 ea 03 83 e2 07 e8 b2 de fe ff c9 48 98 c3 55 48 89 e5 41 56 49 89 fe 41 55 41 54 53 48 83 7f 10 00 74 04 <0f> 0b eb fe 48 8b 05 da 7d 63 00 4c 8d 60 e8 4c 89 e1 eb 24 4c RIP [] pcie_update_aspm_capable+0x15/0xbe RSP ---[ end trace 6ae0f65bdeab8555 ]--- Reported-by: Alex Chiang Tested-by: Alex Chiang Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 638bba08282fb50ba4ebde073ad70551b929e0f2 Author: Andrew Patterson Date: Thu Dec 3 10:28:25 2009 -0700 PCI: remove ifdefed pci_cleanup_aer_correct_error_status The pci_cleanup_aer_correct_error_status() function has been #if 0'd out since 2.6.25. Time to remove the dead code. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 6cdfd995a65a52e05b99e3a72a9b979abe73b312 Author: Andrew Patterson Date: Thu Dec 3 10:28:20 2009 -0700 PCI: unconditionally clear AER uncorr status register during cleanup The current implementation of pci_cleanup_aer_uncorrect_error_status only clears either fatal or non-fatal error status bits depending on the state of the I/O channel. This implementation will then often leave some bits set after PCI error recovery completes. The uncleared bit settings will then be falsely reported the next time an AER interrupt is generated for that hierarchy. An easy way to illustrate this issue is to use the aer-inject module to simultaneously inject both an uncorrectable non-fatal and uncorrectable fatal error. One of the errors will not be cleared. This patch resolves this issue by unconditionally clearing all bits in the AER uncorrectable status register. All settings and corrective action strategies are saved and determined before pci_cleanup_aer_uncorrect_error_status is called, so this change should not affect errory handling functionality. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 575939cf548951dde8df0786899ea5a91bb669b2 Author: Yinghai Lu Date: Tue Nov 24 18:05:12 2009 -0800 x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource This allows us to use the BIOS SR-IOV allocations rather than assigning our own later on. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit f9f45604edcf87ac86a9d68ca54106c5fb743719 Author: Kenji Kaneshige Date: Wed Nov 25 21:06:51 2009 +0900 PCI: portdrv: remove redundant definitions Remove unnecessary definitions from portdrv.h and use generic definitions instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 694f88ef7ada0d99e304f687ba92e268a594358b Author: Kenji Kaneshige Date: Wed Nov 25 21:06:15 2009 +0900 PCI: portdrv: remove unnecessary struct pcie_port_data Remove 'port_type' field in struct pcie_port_data(), because we can get port type information from struct pci_dev. With this change, this patch also does followings: - Remove struct pcie_port_data because it no longer has any field. - Remove portdrv private definitions about port type (PCIE_RC_PORT, PCIE_SW_UPSTREAM_PORT and PCIE_SW_DOWNSTREAM_PORT), and use generic definitions instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 40717c39b1e6c064f48a263a27e58642221e8661 Author: Kenji Kaneshige Date: Wed Nov 25 21:05:35 2009 +0900 PCI: portdrv: minor cleanup for pcie_port_device_register Minor cleanups for pcie_port_device_register(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit fbb5de70bbe13ecbebb04226dd6d52b1258dc247 Author: Kenji Kaneshige Date: Wed Nov 25 21:05:01 2009 +0900 PCI: portdrv: add missing irq cleanup Add missing service irqs cleanup in the error code path of pcie_port_device_register(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 1ce5e83063bf388a2c9fa1e3d4d3122146ad305d Author: Kenji Kaneshige Date: Wed Nov 25 21:04:30 2009 +0900 PCI: portdrv: enable device before irq initialization Call pci_enable_device() before initializing service irqs, because legacy interrupt is initialized in pci_enable_device() on some architectures. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dc5351784eb36f1fec4efa88e01581be72c0b711 Author: Kenji Kaneshige Date: Wed Nov 25 21:04:00 2009 +0900 PCI: portdrv: cleanup service irqs initialization This patch cleans up the service irqs initialization as follows: - Remove 'irq_mode' field in pcie_port_data and related definitions, which is not needed because we can get the same information from 'is_msix', 'is_msi' and 'pin' fields in struct pci_dev. - Change the name of 'vectors' argument of assign_interrupt_mode() to 'irqs' because it holds irq numbers actually. People might confuse it with CPU vector or MSI/MSI-X vector. - Change function name assign_interrupt_mode() to init_service_irqs() becasuse we no longer have 'irq_mode' data structure, and new name is more straightforward (IMO). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d013598d9a46befebdfd37195829ce411e4878ea Author: Kenji Kaneshige Date: Wed Nov 25 21:03:27 2009 +0900 PCI: portdrv: check capabilities first Move capability check capability to the beginning of pcie_port_device_register() prevents redundant execution path. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 9e5d0b16dada536dfe2f1e893b6ad0225ff8a2c9 Author: Kenji Kaneshige Date: Wed Nov 25 21:02:51 2009 +0900 PCI: portdrv: move PME capability check No reason to check PME capability outside get_port_device_capability(). Do it in get_port_device_capability(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 2dd60e96b4d52bccd2dd585e776a3449d7b34b8f Author: Kenji Kaneshige Date: Wed Nov 25 21:02:13 2009 +0900 PCI: portdrv: remove redundant pcie type calculation PCIe port type is already stored in 'pcie_type' field of struct pci_dev. So we don't need to get it from pci configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 52a0f24beabe9e89223e367c65a0156dff17265c Author: Kenji Kaneshige Date: Wed Nov 25 21:01:28 2009 +0900 PCI: portdrv: cleanup pcie_device registration In the current port bus driver implementation, pcie_device allocation, initialization and registration are done in separated functions. Doing those in one function make the code simple and easier to read. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 898294c97500b1cdff6edce52fd34e024eb070ec Author: Kenji Kaneshige Date: Wed Nov 25 21:00:53 2009 +0900 PCI: portdrv: remove redundant pcie_port_device_probe We don't need pcie_port_device_probe() because we can get pci device/port type using pci_is_pcie() and 'pcie_type' fields in struct pci_dev. Remove pcie_port_device_probe(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 59353ea30e65ab3ae181d6175e3212e1361c3787 Author: Alex Williamson Date: Mon Nov 30 14:51:44 2009 -0700 PCI: Always set prefetchable base/limit upper32 registers Prior to 1f82de10 we always initialized the upper 32bits of the prefetchable memory window, regardless of the address range used. Now we only touch it for a >32bit address, which means the upper32 registers remain whatever the BIOS initialized them too. It's valid for the BIOS to set the upper32 base/limit to 0xffffffff/0x00000000, which makes us program prefetchable ranges like 0xffffffffabc00000 - 0x00000000abc00000 Revert the chunk of 1f82de10 that made this conditional so we always write the upper32 registers and remove now unused pref_mem64 variable. Signed-off-by: Alex Williamson Signed-off-by: Jesse Barnes commit 04b55c4732780381410e52db0e9bfb7661f2b4b3 Author: Shmulik Ravid Date: Thu Dec 3 22:27:51 2009 +0200 PCI: read-modify-write the pcie device control register when initiating pcie flr The pcie_flr routine writes the device control register with the FLR bit set clearing all other fields for the FLR duration. Among other fields, the Max_Payload_Size is also cleared which can cause errors if there are transactions lurking in the HW pipeline. The patch replaces the blank write with read-modify-write of the control register keeping the other fields intact. Signed-off-by: Shmulik Ravid Signed-off-by: Jesse Barnes commit bb965401fd2afa26629b244e7bb2e48a117dc238 Author: Yinghai Lu Date: Tue Nov 24 18:21:21 2009 -0800 PCI: show dma_mask bits in /sys So we can catch if the driver sets an incorrect dma_mask. Reviewed-by: Grant Grundler Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit c6a415761c59adabb53699c84e5cb42868d97c67 Author: Yinghai Lu Date: Wed Nov 25 16:28:50 2009 -0800 PCI: add debug output for DMA mask info This allows us to find out what DMA mask is used for each PCI device at boot time; useful for debugging. After the patch: ehci_hcd 0000:00:02.1: using 31bit consistent DMA mask e1000 0000:0b:01.0: using 64bit DMA mask e1000 0000:0b:01.0: using 64bit consistent DMA mask e1000e 0000:04:00.0: using 64bit DMA mask e1000e 0000:04:00.0: using 64bit consistent DMA mask ixgb 0000:0c:01.0: using 64bit DMA mask ixgb 0000:0c:01.0: using 64bit consistent DMA mask aacraid 0000:86:00.0: using 32bit DMA mask aacraid 0000:86:00.0: using 32bit consistent DMA mask aacraid 0000:86:00.0: using 64bit DMA mask aacraid 0000:86:00.0: using 64bit consistent DMA mask qla2xxx 0000:0c:02.0: using 64bit consistent DMA mask qla2xxx 0000:0c:02.1: using 64bit consistent DMA mask lpfc 0000:06:00.0: using 64bit DMA mask lpfc 0000:06:00.1: using 64bit DMA mask pata_amd 0000:00:06.0: using 32bit DMA mask pata_amd 0000:00:06.0: using 32bit consistent DMA mask mptsas 0000:0c:04.0: using 64bit DMA mask mptsas 0000:0c:04.0: using 64bit consistent DMA mask forcedeth 0000:00:08.0: using 39bit DMA mask forcedeth 0000:00:08.0: using 39bit consistent DMA mask niu 0000:02:00.0: using 44bit DMA mask niu 0000:02:00.0: using 44bit consistent DMA mask sata_nv 0000:00:05.0: using 32bit DMA mask sata_nv 0000:00:05.0: using 32bit consistent DMA mask ib_mthca 0000:03:00.0: using 64bit DMA mask ib_mthca 0000:03:00.0: using 64bit consistent DMA mask Reviewed-by: Grant Grundler Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 5c788a695ab5740413d9f9c0035d0d7aeef1c708 Author: Jesse Barnes Date: Fri Dec 4 15:18:01 2009 -0800 PCI: ibmphp_hpc: don't release hw sem twice if kthread stops If we stop the kthread, we may end up up'ing the sem twice, which seems unintended. Reported-by: Dan Carpenter Signed-off-by: Jesse Barnes commit 6070d81eb5f2d4943223c96e7609a53cdc984364 Author: Adam Buchbinder Date: Fri Dec 4 15:47:01 2009 -0500 tree-wide: fix misspelling of "definition" in comments "Definition" is misspelled "defintion" in several comments; this patch fixes them. No code changes. Signed-off-by: Adam Buchbinder Signed-off-by: Jiri Kosina commit febe29d957c5076ff6a9fa49f39b01f1e48d1c04 Author: Adam Buchbinder Date: Fri Dec 4 15:24:22 2009 -0500 reiserfs: fix misspelling of "journaled" "Journaled" is misspelled "journlaled" in an output string; this patch fixed it. No changes in functionality. Signed-off-by: Adam Buchbinder Signed-off-by: Jiri Kosina commit d29cecda036f251aee4947f47eea0fe9ed8cc931 Author: Johannes Berg Date: Fri Dec 4 14:25:43 2009 -0800 mac80211: fix reorder buffer release My patch "mac80211: correctly place aMPDU RX reorder code" uses an skb queue for MPDUs that were released from the buffer. I intentially didn't initialise and use the skb queue's spinlock, but in this place forgot that the code variant that doesn't touch the spinlock is needed. Thanks to Christian Lamparter for quickly spotting the bug in the backtrace Reinette reported. Reported-by: Reinette Chatre Bug-identified-by: Christian Lamparter Tested-by: Reinette Chatre Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f56874bd7e8bee73ed6a1cf80dcec2753616262 Merge: 47e1c32 159bcfe Author: David S. Miller Date: Fri Dec 4 13:25:15 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit f195e2bff3000b8bc251ee6f685e0f027eec6f25 Author: Andreas Schwab Date: Tue May 19 15:38:01 2009 +0200 m68k: ptrace fixes This fixes the following issues in ptrace: - when single stepping into the signal handler stop at the first insn of the handler - handle non-zero stkadj when accessing pc and sr in ptregs - correctly handle PT_SR in PTRACE_POKEUSR - report -EIO when trying to read unknown offset in PTRACE_PEEKUSR Additionally, the handling of the special case that PT_SR accesses a 16 bit word instead of a 32 bit word has been moved into get_reg/put_reg. Signed-off-by: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit faa47b466935e73251b18b17d51455b06ed65764 Author: Andreas Schwab Date: Sun May 10 21:14:52 2009 +0200 m68k: use generic code for ptrace requests Remove all but PTRACE_{PEEK,POKE}USR and PTRACE_{GET,SET}{REGS,FPREGS} from arch_ptrace and let the rest be handled by generic code. Define PTRACE_SINGLEBLOCK to enable singleblock tracing. [Geert] Not yet applicable for m68knommu Signed-off-by: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit 4f672ce298e1b53a2f16571ef87810d0f73bfb1f Author: Geert Uytterhoeven Date: Wed Mar 18 23:29:27 2009 +0100 rtc: Add an RTC driver for the Ricoh RP5C01 Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo commit 4f9b9bba1dd1489909f4cb339233ced979663297 Author: Geert Uytterhoeven Date: Wed Mar 18 23:29:27 2009 +0100 rtc: Add an RTC driver for the Oki MSM6242 Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo commit 159bcfeb9123c91f0dc885a42b6387a98192f896 Author: Samuel Ortiz Date: Thu Dec 3 11:40:18 2009 +0100 iwmc3200wifi: Enable wimax core through module parameter When debugging the wifi firmware, we need to disable the wimax core to gain some memory space. The default value will keep the wimax core enabled. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 43b5ffe1162a7fbaa89f1c392a28ac54c2e932f7 Author: Samuel Ortiz Date: Thu Dec 3 11:40:17 2009 +0100 iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter Wifi and wimax coexistence mode is set by wifi at boot time. There can be several modes, defined by priority tables. User space components can decide which one to select by writing to /sys/module/iwmc3200wifi/parameters/wiwi with this patch, before bringing the interface up. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 1ee9d426ff8ae8312137fc9407eff23ca81cef26 Author: Samuel Ortiz Date: Thu Dec 3 11:40:16 2009 +0100 iwmc3200wifi: Coex table command does not expect a response When sending the wiwi coexistence priority table, we should not tell the LMAC that we want a response. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit f330d4f9dfd50c1870a3c4b4b3f855e78eb9ceaa Author: Samuel Ortiz Date: Thu Dec 3 11:40:15 2009 +0100 iwmc3200wifi: Update wiwi priority table This update follows the firmware engineers recommendations. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 250cce26d5d03337aec4ff8405121f026adb4a89 Author: Reinette Chatre Date: Wed Dec 2 12:53:01 2009 -0800 iwlwifi: driver version track kernel version The driver version number is a remnant from when there was an out-of-tree iwlwifi driver. Now that the driver forms part of kernel source we do not need a separate driver version. Instead, we now use the kernel version as driver version. We maintain the previous tags used to indicate which components the driver has been compiled with. Signed-off-by: Reinette Chatre Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 212fb57519a65c8e15bd3f5db87c3328fcde88de Author: Wey-Yi Guy Date: Wed Dec 2 12:53:00 2009 -0800 iwlwifi: indicate uCode type when fail dump error/event log error_event_table_ptr is only set upon receipt of REPLY_ALIVE. Until then both event log and error log will fail. Add information to indicate which uCode encounter the failure case. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd3709b546f0113b41f0ecceaf3452a073739bbc Author: Wey-Yi Guy Date: Wed Dec 2 12:52:59 2009 -0800 iwl3945: remove duplicated event logging code In the process of improving uCode event logging capability, the new implementation was introduced without removing the existing implementation. The event log will be dumped to dmesg twice. Remove the old implementation to only log the event once upon sys assert or request by user. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit df98a4967002d0df88d92f89662261e3a7867cf7 Author: Johannes Berg Date: Wed Dec 2 11:20:36 2009 +0100 b43: fix two warnings My gcc appears to be able to see past the function boundary and notices that the variable 'behaviour' could be used uninitialised: drivers/net/wireless/b43/leds.c: In function ‘b43_leds_register’: drivers/net/wireless/b43/leds.c:339: warning: ‘behaviour’ may be used uninitialized in this function drivers/net/wireless/b43/leds.c: In function ‘b43_leds_init’: drivers/net/wireless/b43/leds.c:262: warning: ‘behaviour’ may be used uninitialized in this function because b43_led_get_sprominfo() didn't initialise it in all cases. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 52ce3e9a7db754b78cf2cbabc87013f921b25b28 Author: Zhu Yi Date: Wed Dec 2 14:24:37 2009 +0800 ipw2100: fix rebooting hang with driver loaded Add PCI .shutdown method so that we can disable the device during shutdown or reboot. Without this, the reboot doesn't work well on some platforms. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2124 Tested-by: pablo Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 269ac5fd2d75b118d76a2291e28796527db2f3f8 Author: Kalle Valo Date: Tue Dec 1 10:47:15 2009 +0200 cfg80211: indent regulatory messages with spaces The regulatory messages in syslog look weird: kernel: cfg80211: Regulatory domain: US kernel: ^I(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) kernel: ^I(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) kernel: ^I(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) Indent them with four spaces instead of the tab character to get prettier output. Signed-off-by: Kalle Valo Acked: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6646a664e3b60bf3e5db676e0626e6ccd71b3363 Author: Zhu Yi Date: Tue Dec 1 11:48:50 2009 +0800 iwmc3200wifi: fix NULL pointer dereference in pmkid update When handling IWM_CMD_PMKID_FLUSH command, the bssid and pmkid in pmksa are all NULL. Check it before memcpy. Signed-off-by: Zhu Yi Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit 914828fad09269292be1bfa3dfbe78d064f76068 Author: Jouni Malinen Date: Sun Nov 29 14:29:42 2009 +0200 mac80211: Fix TX status reporting for injected data frames An earlier optimization on removing unnecessary traffic on cooked monitor interfaces ("mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces ") ended up removing quite a bit more than just unnecessary traffic. It was not supposed to remove TX status reporting for injected frames, but ended up doing it by checking the injected flag in skb->cb only after that field had been cleared with memset.. Fix this by taking a local copy of the injected flag before skb->cb is cleared. This broke user space applications that depend on getting TX status notifications for injected data frames. For example, STA inactivity poll from hostapd did not work and ended up kicking out stations even if they were still present. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a9a29ce674ac62e7bfcb6c1404ca86cda4782988 Author: Gabor Juhos Date: Fri Nov 27 12:01:35 2009 +0100 ath9k: enable 2GHz band only if the device supports it Currently, the 2GHz band is enabled unconditionally, even if the device does not support it. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 1f351e3840dcf25aaddec2d908c3ab06ae105ee6 Author: Michael Buesch Date: Wed Nov 25 22:55:11 2009 +0100 airo: Fix integer overflow warning On BigEndian gcc complains: drivers/net/wireless/airo.c: In function ‘sniffing_mode’: drivers/net/wireless/airo.c:4809: warning: integer overflow in expression Fix this by doing the bitwise AND on the host-endian value. Signed-off-by: John W. Linville commit a5186e997524578b4ba91390ad947c767450dac8 Author: Gertjan van Wingerde Date: Tue Nov 24 23:11:32 2009 +0100 rt2x00: Fix padding bug on L2PAD devices. While reviewing the l2pad function to align both the header and the payload on a DMA-capable boundary a bug was discovered where the payload would not be properly aligned. The header_align value was used where the payload_align value should have been used. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1014eb6ec95b18f890101e99385f05539c0c2f01 Author: Jean Tourrilhes Date: Tue Nov 24 10:47:08 2009 -0800 WE: Fix set events not propagated I've just noticed that some events are no longer propagated for some wireless drivers. Basically, SET request with a extra payload for driver without commit handler. The fix is pretty simple, see attached. Actually, a few lines below this line, you will see that the event generation for simple SET (iwpoint-less ?) is done properly, and this other event generation does not need fixing. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit 316a4d966cae3c2dec83ebb1ee1a3515f97b30ff Author: Larry Finger Date: Mon Nov 23 18:42:36 2009 -0600 b43legacy: avoid PPC fault during resume For PPC architecture with PHY Revision < 3, a read of the register B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43legacy_status() returns a value of 2 (B43legacy_STAT_STARTED); however, one finds that the driver is unable to associate after resuming from hibernation unless this routine returns 1. To satisfy both conditions, the routine is rewritten to return TRUE whenever b43legacy_status() returns a value < 2. This patch fixes the second problem listed in the postings for Red Hat Bugzilla #538523. Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit c2ff581acab16c6af56d9e8c1a579bf041ec00b1 Author: Larry Finger Date: Mon Nov 23 18:40:45 2009 -0600 b43: avoid PPC fault during resume The routine b43_is_hw_radio_enabled() has long been a problem. For PPC architecture with PHY Revision < 3, a read of the register B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43_status() returns a value of 2 (B43_STAT_STARTED) (BUG 14181). Fixing that results in Bug 14538 in which the driver is unable to reassociate after resuming from hibernation because b43_status() returns 0. The correct fix would be to determine why the status is 0; however, I have not yet found why that happens. The correct value is found for my device, which has PHY revision >= 3. Returning TRUE when the PHY revision < 3 and b43_status() returns 0 fixes the regression for 2.6.32. This patch fixes the problem in Red Hat Bugzilla #538523. Signed-off-by: Larry Finger Tested-by: Christian Casteyde Signed-off-by: John W. Linville commit 54987386ee3790f3900de4df2ed4deb0e18dfc9f Author: Christof Schmitt Date: Tue Nov 24 16:54:18 2009 +0100 [SCSI] zfcp: Remove flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP The flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP is never set and hence can be removed. This is a leftover from the time when zfcp had to decide whether the target supports a "logical unit reset" or not. Nowadays, the SCSI midlayer calls the eh_device_reset_handler or the eh_target_reset_handler and zfcp simply maps this to a "logical unit reset" or a "target reset". Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0fdd21330a9d7bc6790eae0aed768052c315ae44 Author: Christof Schmitt Date: Tue Nov 24 16:54:17 2009 +0100 [SCSI] zfcp: Activate fc4s attributes for zfcp in FC transport class Enable the display of supported and active fc4s for zfcp in the FC transport class. zfcp only supports FCP, so simply hard-code this information. The zfcp hbaapi already has this information hardcoded, but this would allow to switch from the coding in the zfcp hbaapi to the common FC transport attributes in the future. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit af4de36d911ab907b92c5f3f81ceff8474ed7485 Author: Christof Schmitt Date: Tue Nov 24 16:54:16 2009 +0100 [SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED In case the SCSI error recovery starts because of a SCSI command timeout, but then something else triggers the rport to be deleted, the SCSI error recovery will run to the end and set the SCSI device offline. To prevent this, call the FC transport function fc_block_scsi_eh which waits until the rport leaves the BLOCKED state. This guarantees that communication is possible if the rport is ONLINE, or the SCSI devices will be removed if the rport state switches to NOT_PRESENT. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 4c571c659e9d41332b6981ca5379047681ce9d2f Author: Christof Schmitt Date: Tue Nov 24 16:54:15 2009 +0100 [SCSI] zfcp: Update FSF error reporting The SCSI midlayer retries commands based on the remote port state and the command status reported by the driver. Returning DID_TRANSPORT_DISRUPTED is a better approach, use this for reporting FSF errors back to the SCSI midlayer. See http://marc.info/?l=linux-scsi&m=125668044215051&w=2 as reference. There is also no need in special treatment of ABORTED commands, so remove the ZFCP_STATUS_FSFREQ_ABORTED, the commands are then returned with DID_TRANSPORT_DISRUPTED. Also remove the ZFCP_STATUS_FSFREQ_RETRY: It is useless, no retry is happening in the FSF layer and nobody checks the state of this flag. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ee744622c65cd66824e8dd1b9509e515c800de14 Author: Christof Schmitt Date: Tue Nov 24 16:54:14 2009 +0100 [SCSI] zfcp: Improve ELS ADISC handling Introduce kmem_cache for ELS ADISC data to guarantee the required hardware alignment and free the allocated memory in case the send failes. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7c7dc196814b9e1d5cc254dc579a5fa78ae524f7 Author: Christof Schmitt Date: Tue Nov 24 16:54:13 2009 +0100 [SCSI] zfcp: Simplify handling of ct and els requests Remove some redundancies in FC related code and trace: - drop redundant data from SAN trace (local s_id that only changes during link down, ls_code that is already part of payload, d_id in ct response trace that is always the same as in ct request trace) - use one common fsf struct to hold zfcp data for ct and els requests - leverage common fsf struct for FC passthrough job data, allocate it with dd_bsg_data for passthrough requests and unify common code for ct and els passthrough request - simplify callback handling in zfcp_fc Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 800c0cad962dcf630cabf3efdc5983619e73d4c9 Author: Christof Schmitt Date: Tue Nov 24 16:54:12 2009 +0100 [SCSI] zfcp: Remove ZFCP_DID_MASK Instead of assigning 4 bytes with the highest byte masked out, use a 3 byte array with the ntoh24 and h24ton helper functions, thus eliminating the need for the ZFCP_DID_MASK. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bd0072ecc449fb2ea8f6a2c9f6ff308f3ae0b078 Author: Christof Schmitt Date: Tue Nov 24 16:54:11 2009 +0100 [SCSI] zfcp: Move WKA port to zfcp FC code The well-known-address (WKA) port handling code is part of the FC code in zfcp. Move everything WKA related to the zfcp_fc files and use the common zfcp_fc prefix for structs and functions. Drop the unused key management service while renaming the struct, no request could ever reach this service in zfcp and it is obsolete anyway. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dbf5dfe9dbcecf159139eec25ad256738cbc3715 Author: Christof Schmitt Date: Tue Nov 24 16:54:10 2009 +0100 [SCSI] zfcp: Use common code definitions for FC CT structs Use common code definitions for FC GPN_FT and GID_PN instead of inventing private ones. Move the private structs still required inside zfcp to zfcp_fc header file. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9d05ce2c0a6704ff84df02cbb3baef94fcac4f5d Author: Christof Schmitt Date: Tue Nov 24 16:54:09 2009 +0100 [SCSI] zfcp: Use common code definitions for FC ELS structs Use common code definitions for FC plogi, logo, rscn and adisc structs instead of inventing private ones. Move the private struct for issuing ELS ADISC inside zfcp to zfcp_fc header file. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 4318e08c84e4916ac463002ffb7f9901ddb3c385 Author: Christof Schmitt Date: Tue Nov 24 16:54:08 2009 +0100 [SCSI] zfcp: Update FCP protocol related code Use common data structures for FCP CMND, FCP RSP and related definitions and remove zfcp private definitions. Split the FCP CMND setup and FCP RSP evaluation code in seperate functions. Use inline functions to not negatively impact the I/O path. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 8830271c4819d86d8e87202a1fe8da0bb58912a2 Author: Christof Schmitt Date: Tue Nov 24 16:54:07 2009 +0100 [SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport If an error occurs that triggers the call to fc_remote_port_delete, ideally this call would happen before any I/O is passed back to the SCSI midlayer through scsi_done. The SCSI midlayer will retry the commands and fc_remote_port_chkready will return the correct status code. But with the delay between calling scsi_done in softirq context and the call to fc_remote_port_delete from the workqueue, there is a window where zfcp returns DID_ERROR. This leads to SCSI error recovery which then leads to offline SCSI devices since all recovery actions will fail with the rport now being blocked. In this window, zfcp has to return DID_IMM_RETRY just as the FC transport class would do in fc_remote_port_chkready for the blocked fc_rport. As soon as the fc_rport is BLOCKED, fc_remote_port_chkready will do the right thing. Additionally, there are two more cases to catch in zfcp_scsi_queuecommand: - After the port has been opened, the unit has to be opened. During this period I/O has to be retried. This can also be handled with DID_IMM_RETRY. - If the access to the unit fails, but the port is good, then this single unit cannot be accessed and I/O to this unit has to fail without involving the FC transport class. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9eae07ef6bb5988163d8bb82cd952905db47b721 Author: Swen Schillig Date: Tue Nov 24 16:54:06 2009 +0100 [SCSI] zfcp: Assign scheduled work to driver queue The port_scan work was scheduled to the work_queue provided by the kernel. This resulted on SMP systems to a likely situation that more than one scan_work were processed in parallel. This is not required and openes the possibility of race conditions between the removal of invalid ports and the enqueue of just scanned ports. This patch synchronizes the scan_work tasks by scheduling them to adapter local work_queue. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6b183334c23969d52d4d9f775da554480d05ca4d Author: Swen Schillig Date: Tue Nov 24 16:54:05 2009 +0100 [SCSI] zfcp: Remove STATUS_COMMON_REMOVE flag as it is not required anymore The flag ZFCP_STATUS_COMMON_REMOVE was used to indicate that a resource is not ready to be used or about to be removed from the system. This is now better done by an improved list handling and therefore the additional indicator is not required anymore. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c1fad4176464281e776022dee7d029144afbeb13 Author: Christof Schmitt Date: Tue Nov 24 16:54:04 2009 +0100 [SCSI] zfcp: Implement module unloading With the reference counting for zfcp data structures, it is now possible to implement module unloading again. Module unloading requires to free all data structures in the module exit function. This is done by unregistering zfcp from s390 cio and the SCSI midlayer first in the module exit function. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d9742b42b5c76e2a3a39de0d187fac4f6852134e Author: Christof Schmitt Date: Tue Nov 24 16:54:03 2009 +0100 [SCSI] zfcp: Merge trace code for fsf requests in one function The latencies traced per fsf request are traced for sysfs output and for blktrace, each in one function. Simplify the tracing code by merging both tracing functions into one. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 25458eb791acf0e5e65183c5adb3918d8d71d756 Author: Christof Schmitt Date: Tue Nov 24 16:54:02 2009 +0100 [SCSI] zfcp: Access ports and units with container_of in sysfs code When accessing port and unit attributes, use container_of instead of dev_get_drvdata. This eliminates some code checker warnings about aliased access of data structures. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b42aeceb35c59484056b0eea81203a0911ebb50d Author: Swen Schillig Date: Tue Nov 24 16:54:01 2009 +0100 [SCSI] zfcp: Remove suspend callback The callback for suspend is not required because it contains exactly the same functionality as the _set_offline routine does. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit de3dc57214a1466034ecc4d4ffb10331d34c09a3 Author: Swen Schillig Date: Tue Nov 24 16:54:00 2009 +0100 [SCSI] zfcp: Remove global config_mutex The global config_mutex was required for the serialization of a configuration change within the zfcp driver. This global locking is now obsolete and can be removed. The requirement of serializing the access to a zfcp_adapter reference via a ccw_device is realized wth a static spinlock. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f3450c7b917201bb49d67032e9f60d5125675d6a Author: Swen Schillig Date: Tue Nov 24 16:53:59 2009 +0100 [SCSI] zfcp: Replace local reference counting with common kref Replace the local reference counting by already available mechanisms offered by kref. Where possible existing device structures were used, including the same functionality. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ecf0c7721b104c0ce9c8ca534c911f6310cf92a8 Author: Swen Schillig Date: Tue Nov 24 16:53:58 2009 +0100 [SCSI] zfcp: Replace global config_lock with local list locks The global config_lock was used to protect the configuration organized in independent lists. It is not necessary to have a lock on driver level for this purpose. This patch replaces the global config_lock with a set of local list locks. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0a55256d158c18e4821c248a295b7f8f4423660f Author: Christof Schmitt Date: Tue Nov 24 16:53:57 2009 +0100 [SCSI] libfc: Add target reset flag to FCP header file While the target reset task management function has been deprecated in newer specs, it is still in use by SCSI FC drivers and there is no real replacement. Add the target reset flag to the FCP header file to allow usage of this definition in SCSI FC drivers. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 63e27fb80c2010678681cef7b528ab8af3624fe9 Author: Yi Zou Date: Fri Nov 20 14:55:24 2009 -0800 [SCSI] libfc: add support of receiving ELS_RLS Upon receiving ELS_RLS, send the Link Error Status Block (LESB) back. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b84056bf68404a5fe06b452ea9790b9927e793a6 Author: Yi Zou Date: Fri Nov 20 14:55:19 2009 -0800 [SCSI] fcoe, libfc: add get_lesb() to allow LLD to fill the link error status block (LESB) Add a member function pointer as get_lesb to libfc_function_template so LLD can fill the LESB based on its own statistics. For fcoe, it fills the LESB as a fcoe_fc_els_lesb struct according to FC-BB-5. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b21a0c397eea722ff84bbeaf5e6e732a06b69896 Author: Yi Zou Date: Fri Nov 20 14:55:14 2009 -0800 [SCSI] libfc: add fcoe_fc_els_lesb to fc_fcoe.h for FC-BB-5 LESB definitions Add struct fcoe_fc_els_lesb as described in FC-BB-5 LESB for FCoE. It has the same size as LESB defined in FC-FS-3 (struct fc_els_lesb) but members have different meanings according to FC-BB-5. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f3da80e76142d63a6849556461906fbe118d1442 Author: Yi Zou Date: Fri Nov 20 14:55:08 2009 -0800 [SCSI] libfcoe: add tracking FIP Missing Discovery Advertisement count Add tracking the Missing Discovery Advertisement count for FIP Fiber Channel Forwarder (FCF) as described in FC-BB-5 Rev2.0 for LESB. The time is 1.5 times the FKA_ADV_PERIOD of the corresponding FCF. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2ec8493f962d55ae85c6716db414c645a6578333 Author: Yi Zou Date: Fri Nov 20 14:55:02 2009 -0800 [SCSI] libfcoe: add tracking FIP Virtual Link Failure count Add tracking the Virtual Link Failure count when either we have found the FCF as "aged" or we are receiving FIP Clear Virtual Link from the FCF. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8cdffdccd948ea4872b7b65280bc04f2fa93fc96 Author: Yi Zou Date: Fri Nov 20 14:54:57 2009 -0800 [SCSI] libfcoe: add checking disable flag in FIP_FKA_ADV When the D bit is set if the FKA_ADV_Period of the FIP Discovery Advertisement, the ENode should not transmit period ENode FIP Keep Alive and VN_Port FIP Keep Alive (FC-BB-5 Rev2, 7.8.3.13). Note that fcf->flags is taken directly from the fip_header, I am claiming one bit for the purpose of the FIP_FKA_Period D bit as FIP_FL_FK_ADV_B, and use FIP_HEADER_FLAGS as bitmask for bits used in fip_header. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6580bbd0afe6ba1be5d53b331e92a7690046c923 Author: Yi Zou Date: Fri Nov 20 14:54:52 2009 -0800 [SCSI] libfc: add FC-BB-5 LESB counters to fcoe_dev_stats FC-BB-5 Rev2.0, Clause 7.10 extends the FC-LS-3 LESB for FC-BB_E. We are already tracking Link Failure Count so add the rest in this patch. For VLinkFailureCount and MissDiscAdvCount, they are part of the per-cpu fcoe_dev_stats. For SymbolErrorCount, ErroredBlockCount, and FCSErrorCount, they are defined in IEEE 802.3-2008 and are per LLD. They are expected to come from LLD. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 859b7b649ab58ee5cbfb761491317d5b315c1b0f Author: Chris Leech Date: Fri Nov 20 14:54:47 2009 -0800 [SCSI] fcoe: allow SCSI-FCP to be processed directly in softirq context Allow FCP frames to bypass the FCoE receive processing threads and handle them directly in softirq context, if they are received on the correct CPU. This preserves the queuing to threads for scaling out receive processing to multiple CPUs, but allows FCoE-aware multi-queue network drivers that direct frames to the originating CPUs to handle FCP processing with less scheduling latency. Only FCP is handled directly, because libfc makes use of mutexes in ELS handling routines. The bulk of this change is just moving the FCoE receive processing out of the receive thread function, leaving behind just the thread and queue management. The interesting bits are in fcoe_rcv() Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 70d919fbd9ab78f3eca5ea7bd060fefd7b508641 Author: Yi Zou Date: Fri Nov 20 14:54:41 2009 -0800 [SCSI] libfc: fix payload size passed to fc_frame_alloc() in fc_lport_els_request Frame header room is already incluced, just pass the length of payload. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2a7045212cef90337588f72f5dabf497f5f93a90 Author: James Smart Date: Wed Nov 18 15:41:46 2009 -0500 [SCSI] lpfc 8.3.6 : Update lpfc driver version to 8.3.6 Signed-off-by: James Smart Signed-off-by: James Bottomley commit a747c9ce56533e376993473321d96ec8c23a3e43 Author: James Smart Date: Wed Nov 18 15:41:10 2009 -0500 [SCSI] lpfc 8.3.6 : Hardware related fixes and changes Hardware related Fixes and Changes. - Added new Adapter IDs and update default Adapter names. - Added PCI read after EQarm doorbell PCI write to flush the write and avoid spurrious interrupts when in INTx mode. - Phase out use of ONLINE registers. - Fix for lost MSI interrupt Signed-off-by: James Smart Signed-off-by: James Bottomley commit 1c6f4ef5d6be7ef4cbe92a86286217971f52e2cd Author: James Smart Date: Wed Nov 18 15:40:49 2009 -0500 [SCSI] lpfc 8.3.6 : Fix critical errors Fix errors relating to crashes and hangs. - Fix crash due to list corruption while unloading driver. - Fix panic during pci-hot-plug testing. - Fix panic when unmapping luns. - Fixed total_scsi_bufs counting could cause exhausted memory. - Fixed locking issue causing hang. - Fixed the call from lpfc_new_scsi_buf_s3 to use lpfc_release_scsi_buf_s3. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 891478a2442d8d0077651bc8316afaec8d85dd4d Author: James Smart Date: Wed Nov 18 15:40:23 2009 -0500 [SCSI] lpfc 8.3.6 : Fix AER issues Fix AER issues. - Made AER sysfs entry point return "Operation not permitted" to OneConnect HBAs - Stop and abort all I/Os on HBA for AER uncorrectable non-fatal error handling Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5ffc266ee7a62741ebee89ede15049ec0f02fa75 Author: James Smart Date: Wed Nov 18 15:39:44 2009 -0500 [SCSI] lpfc 8.3.6 : FC Protocol Fixes FC protocol fixes. - Fix send sequence logic to handle multi SGL IOCBs. - Fix FDISC completion always setting VPORT state to failed. - Ported the fix on reporting of max_vpi to uppper layer. - Fix incorrect number of Vports allowed to be created. - Fixed Dead FCoE port after creating vports. - Added handling of ELS request for Reinstate Recovery Qualifier (RRQ) - Handle unsolicited CT exchange initiator receiving CT exchange ABTS - Migrate LUN queue depth ramp up code to scsi mid-layer. - Made ABTS WQE go to the same WQ as the WQE to be aborted. - Fix Vport does not rediscover after FCF goes away. - Fixed lpfc_unreg_vfi failure after devloss timeout. - Fixed RPI bit leak. - Fix hbq pointer corruption during target discovery. Signed-off-by: James Smart Signed-off-by: James Bottomley commit c868595d5686e97183bc1ad85502835d81d7a457 Author: James Smart Date: Wed Nov 18 15:39:16 2009 -0500 [SCSI] lpfc 8.3.6 : FCoE Protocol Fixes FCoE Protocol fixes. - Fixed FIP frame designation for ELS commands. - Fix CVL received on Port 1 not processed by driver. - Fix Zeroed frame on wire after FLOGI - Fix vport keep-alive does not contain the correct WWN. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 832151f45806613f203c4c0308c1566d882b971f Author: Roel Kluin Date: Tue Nov 17 14:53:22 2009 -0800 [SCSI] st: fix test of value range in st_set_options() value cannot logically be less than START and greater than BUFFERSIZE. #define EXTENDED_SENSE_START 18 // vi include/scsi/scsi_cmnd.h +105 #define SCSI_SENSE_BUFFERSIZE 96 [akpm@linux-foundation.org: fix warning] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 1acf3b06f77a48b1607534408866473fb8018a65 Author: Randy Dunlap Date: Tue Nov 17 14:53:20 2009 -0800 [SCSI] fix func names in kernel-doc Fix scsi_devinfo.c kernel-doc function names to match actual function names. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0899638688f223fd9e9fee60d662665e11693d12 Author: Martin Michlmayr Date: Mon Nov 16 20:49:25 2009 +0200 [SCSI] osd_protocol.h: Add missing #include include/scsi/osd_protocol.h uses ALIGN() without an #include , leading to: | include/scsi/osd_protocol.h:362: error: implicit declaration of function 'ALIGN' Signed-off-by: Martin Michlmayr Signed-off-by: Boaz Harrosh Cc: Stable Tree Signed-off-by: James Bottomley commit aa9fffbe2c4db4557248c5c626a85bf3c7867044 Author: Boaz Harrosh Date: Mon Nov 16 20:48:38 2009 +0200 [SCSI] libosd: Error handling revamped Administer some love to the osd_req_decode_sense function * Fix a bad bug with osd_req_decode_sense(). If there was no scsi residual, .i.e the request never reached the target, then all the osd_sense_info members where garbage. * Add grossly missing in/out_resid to osd_sense_info and fill them in properly. * Define an osd_err_priority enum which divides the possible errors into 7 categories in ascending severity. Each category is also assigned a Linux return code translation. Analyze the different osd/scsi/block returned errors and set the proper osd_err_priority and Linux return code accordingly. * extra check a few situations so not to get stuck with inconsistent error view. Example an empty residual with an error code, and other places ... Lots of libosd's osd_req_decode_sense clients had this logic in some form or another. Consolidate all these into one place that should actually know about osd returns. Thous translating it to a more abstract error. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit eff21490c91f981126f0ead3c081dde4f425d387 Author: Boaz Harrosh Date: Mon Nov 16 20:47:47 2009 +0200 [SCSI] libosd: Bugfix of error handling in attributes-list decoding When an error was detected in an attribute list do to a target bug. We would print an error but spin endlessly regardless. Fix it. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 71ecb74b15377a6c0e0e6ea95d4b549580fb4d48 Author: Boaz Harrosh Date: Mon Nov 16 20:47:07 2009 +0200 [SCSI] libosd: bug in osd_req_decode_sense_full() The (never tested) osd_sense_attribute_identification case has never worked. The loop was never advanced on. Fix it to work as intended. On 10/30/2009 04:39 PM, Roel Kluin wrote: I found this by code analysis, searching for while loops that test a local variable, but do not modify the variable. Reported-by: Roel Kluin Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 2cdd6410e5a1665823f2a048fc7f8f6a8384be1d Author: Boaz Harrosh Date: Sun Nov 29 16:26:45 2009 +0200 [SCSI] libosd: osd_dev_info: Unique Identification of an OSD device Define an osd_dev_info structure that Uniquely identifies an OSD device lun on the network. The identification is built from unique target attributes and is the same for all network/SAN machines. osduld_info_lookup() - NEW New API that will lookup an osd_dev by its osd_dev_info. This is used by pNFS-objects for cross network global device identification. And by exofs multy-device support, the device info is specified in the on-disk exofs device table. osduld_device_info() - NEW Given an osd_dev handle returns its associated osd_dev_info. The ULD fetches this information at startup and hangs it on each OSD device. (This is a fast operation that can be called at any condition) osduld_device_same() - NEW With a given osd_dev at one hand and an osd_dev_info at another, we would like to know if they are the same device. Two osd_dev handles can be checked by: osduld_device_same(od1, osduld_device_info(od2)); osd_auto_detect_ver() - REVISED Now returns an osd_dev_info structure. Is only called once by ULD as before. See added comments for how to use. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit d6ae4333e648492721a098bdc329bbd82d25eb67 Author: Boaz Harrosh Date: Sun Nov 29 16:25:26 2009 +0200 [SCSI] osduld: Use device->release instead of internal kref The true logic of this patch will be clear in the next patch where we use the class_find_device() API. When doing so the use of an internal kref leaves us a narrow window where a find is started while the actual object can go away. Using the device's kobj reference solves this problem because now the same kref is used for both operations. (Remove and find) Core changes * Embed a struct device in uld_ structure and use device_register instead of devie_create. Set __remove to be the device release function. * __uld_get/put is just get_/put_device. Now every thing is accounted for on the device object. Internal kref is removed. * At __remove() we can safely de-allocate the uld_ structure. (The function has moved to avoid forward declaration) Some cleanups * Use class register/unregister is cleaner for this driver now. * cdev ref-counting games are no longer necessary I have incremented the device version string in case of new bugs. Note: Previous bugfix of taking the reference around fput() still applies. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 89f5e1f2f13b1079b8d7ff7d3ade345b7ad7c009 Author: Boaz Harrosh Date: Mon Nov 16 20:44:02 2009 +0200 [SCSI] osduld: Ref-counting bug fix If scsi has released the device (logout), and exofs has last reference on the osduld_device it will be freed by osd_uld_release() within the call to fput(). But this will oops in cdev_release() which is called after the fops->release. (cdev is embedded within osduld_device). __uld_get/put pair makes sure we have a cdev for the duration of fput() Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit c7d2dc2a204fa37bdf607d4d062dfd14e392aaf1 Author: Boaz Harrosh Date: Mon Nov 16 20:41:03 2009 +0200 [SCSI] libosd: osd_sense: OSD_CFO_PERMISSIONS Add one more important cdb_field_offset that can be returned with scsi_invalid_field_in_cdb. It is the offset of the permissions_bit_mask field in the capabilities structure. Interestingly, the offset is the same for V1/V2 Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit d531b37929f412de09e9ad711fdd5b04fa39aca1 Author: Boaz Harrosh Date: Mon Nov 16 20:39:25 2009 +0200 [SCSI] libosd: osd_dev_is_ver1 - Minor API cleanup define a new osd_dev_is_ver1 that operates on devices and the old osd_req_is_ver1 uses that new API. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0d48fcca1ff5d106b0ac6770a31b13e3630b244a Author: James Smart Date: Fri Oct 2 15:17:08 2009 -0400 [SCSI] lpfc 8.3.5: Update the lpfc driver version to 8.3.5 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 45ed119035b27f240345b06e090d559874e3677a Author: James Smart Date: Fri Oct 2 15:17:02 2009 -0400 [SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes This patch includes the following changes: - Fixed Panic/Hang when using polling mode for fcp commands - Added support for Read_rev mbox bits indicating FIP mode of HBA - Optimize performance of slow-path handling of els responses - Add code to cleanup orphaned unsolicited receive sequences - Fixed Devloss timeout when multiple initiators are in same zone Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0d87841997125971b7a39d21d1435054f91884c3 Author: James Smart Date: Fri Oct 2 15:16:56 2009 -0400 [SCSI] lpfc 8.3.5: Add AER support Signed-off-by: James Smart Signed-off-by: James Bottomley commit 6a9c52cf22e4ca13816bb2bd9899129cd4445de7 Author: James Smart Date: Fri Oct 2 15:16:51 2009 -0400 [SCSI] lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging This patch include the following fixes and changes: - Fix crash when "error" is echoed to board_mode sysfs parameter - Fix FCoE Parameter parsing in regions 23 - Fix driver crash when creating vport with large number of targets on SLI4 - Fix bug with npiv message being logged when it is not supported by the adapter - Fix a potential dereferencing mailbox structure after free bug - Fix firmware crash after vport create with high target count - Error out requests to set board_mode to warm restart via sysfs on SLI4 HBAs - Fix Block guard logging - Fix a memory corruption issue during GID_FT IO prep - Fix crash while processing unsolicited FC frames - Fix failed to allocate XRI message is not a critical failure - Update and fix formatting in some log messages - Fix missing new line characters in log messages - Removed the use of the locally defined FC transport layer related macros - Check the rsplen in lpfc_handle_fcp_err function before using rsplen Signed-off-by: James Smart Signed-off-by: James Bottomley commit 6669f9bb902b8c3f5e33cb8c32c8c0eec6ed68ed Author: James Smart Date: Fri Oct 2 15:16:45 2009 -0400 [SCSI] lpfc 8.3.5: fix VPI registration, error clean up and add support for vlink events This patch includes the following fixes and new features: - Fix mask size for CT field in WQE - Fix VPI base not used when unregistering VPI on port 1. - Fix UNREG_VPI mailbox command to unreg the correct VPI - Fixed Check for aborted els command - Fix error when trying to load driver with wrong firmware on FCoE HBA. - Fix bug with probe_one routines not putting the Scsi_Host back upon error - Add support for Clear Virtual Link Async Events - Add support for unsolicited CT exchange sequence abort - Add 0x0714 OCeXXXXX PCI ID Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4d9ab994e214d35107017c342aca42477b137316 Author: James Smart Date: Fri Oct 2 15:16:39 2009 -0400 [SCSI] lpfc 8.3.5: fix reset path, ELS ordering and discovery issues This patch includes the following fixes: - Fixed panic during HBA reset. - Fixed FCoE event tag passed in resume_rpi. - Fix out of order ELS commands - Fixed discovery issues found during VLAN testing. - Fix UNREG_VPI failure on extended link pull - Fixed crash while processing unsolicited FC frames. - Clear retry count in the delayed ELS handler - Fixed discovery failure during quick link bounce. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 1796e72291b2b6aafaec5954e666d0b5a95da935 Author: Mike Christie Date: Wed Nov 11 16:34:36 2009 -0600 [SCSI] libiscsi: hook into ramp up/down handling It is rare to get a queue full with iscsi, because targets seem to just reduce the iscsi cmd window. However, there is at least one iscsi target that will throw a queue full when overloaded. This hooks the iscsi code in to the ramp up/down code, so we can handle it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b20d038dff877566694181578c49c31616d622cd Author: Mike Christie Date: Wed Nov 11 16:34:35 2009 -0600 [SCSI] iser: set tgt and lu reset timeout When iser enabled lu reset support it did not set the bit to allow userspace to get/set the timeout. This sets the tgt and lu reset timeout bits. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit fdd46dcbe4468a1f47a2cc9be442d11c3d21dd68 Author: Mike Christie Date: Wed Nov 11 16:34:34 2009 -0600 [SCSI] iscsi class: modify handling of replacement timeout This patch modifies the replacement/recovery_timeout so it works more like the fc fast io fail tmo. If userspace tries to set the replacement/recovery_timeout to less than zero, we will turn off the forced recovery cleanup. If userspace sets the value to 0 then we will force the recovery cleanup immediately. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3fe5ae8b4c4d3a82c755074878da7ddb9dde381e Author: Mike Christie Date: Wed Nov 11 16:34:33 2009 -0600 [SCSI] libiscsi: add warm target reset tmf support This implements warm target reset tmf support for the scsi-ml target reset callback. Previously we would just drop the session in that callback. This patch will now try a target reset and if that fails drop the session. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5d12c05e29fc8715e3e32f57a8cced9290d87c55 Author: Mike Christie Date: Wed Nov 11 16:34:32 2009 -0600 [SCSI] libiscsi: Check TMF state before sending PDU Patch and mail from both MikeC and HannesR: Before we're trying to send a PDU we have to check whether a TMF is active. If so and if the PDU will be affected by the TMF we should allow only Data-out PDUs to be sent. If fast_abort is set, no Data-out PDUs will be sent while a LUN reset is being processed for a affected LUN. fast_abort is now ingored during a ABORT TASK tmf. We will not send any Data-outs for a task if the task is being aborted. Signed-off-by: Mike Christie Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 4f704dc03297406ea5d53b85c4666c60f69000bf Author: Mike Christie Date: Wed Nov 11 16:34:31 2009 -0600 [SCSI] libiscsi: fix login/text checks in pdu injection code For some reason we used to check for the the immediate bit set and the opcocde in many places instead of just masking the opcode. In the passthrough code this is a problem because userspace may or may not have set the immediate bit and it does not have to. This fixes up the opcode checks in the passthrough code, so we mask off the opcode then check against the iscsi proto definition like is done in other places. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 24246de77503978cfcd7e76f06404e60e399992f Author: Mike Christie Date: Wed Nov 11 16:34:30 2009 -0600 [SCSI] bnx2i: use common iscsi suspend queue This just has bnx2i use the iscsi_suspend_queue helper. The suspend works as follows: When ep_poll has succeeed iscsid will call conn_bind, the LLD will then call iscsi_conn_bind which will clear the suspend bit. When ep_disconnect is called (or if there is a conn error) we set the suspend bit. For the ep_disconnect case I added a helper in the previous kernel that will take the session lock to make sure iscsi_queuecommand/xmit_task is not running and it will set the suspend bit. Signed-off-by: Mike Christie Acked-by: Anil Veerabhadrappa Signed-off-by: James Bottomley commit 627511e3e67553b04f6917c03e39b797df210e04 Author: Takahiro Yasui Date: Tue Nov 10 16:22:19 2009 -0500 [SCSI] scsi_devinfo: update Hitachi entries (v2) Four models, OPEN-/DF400/DF500/DISK-SUBSYSTEM, can handle REPORT_LUN, and the BLIST_REPORTLUN2 flag needs to be set. And DF600 doesn't require any flags because it returns ANSI 03h (SPC). Signed-off-by: Takahiro Yasui Signed-off-by: James Bottomley commit 3f9daedfcb197d784c6e7ecd731e3aa9859bc951 Author: Mike Christie Date: Thu Nov 5 11:37:28 2009 -0600 [SCSI] add scsi target reset support to scsi ioctl The scsi ioctl code path was missing scsi target reset support. This patch just adds it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2bc1c59dbdefdb6f9767e06efb86bbdb2923a8be Author: Mike Christie Date: Thu Nov 5 11:18:09 2009 -0600 [SCSI] fc class: fail fast bsg requests If the port state is blocked and the fast io fail tmo has fired then this patch will fail bsg requests immediately. This is needed if userspace is sending IOs to test the transport like with fcping, so it will not have to wait for the dev loss tmo. With this patch he bsg req fast io fail code behaves like the normal and sg io/passthrough fast io fail. Signed-off-by: Mike Christie Acked-By: James Smart Signed-off-by: James Bottomley commit 97ee20886cfd257a7818087c1638ca60b9ffd192 Author: jack_wang Date: Thu Nov 5 22:33:51 2009 +0800 [SCSI] pm8001: Fixes for tag alloc, error goto and code cleanup Allocate right size for bitmap tag,fix error goto and cleanup print message and undocable commemts. patch attached. Signed-off-by: Lindar Liu Signed-off-by: Jack Wang Signed-off-by: James Bottomley commit 72d0baa089ebd058cdb8b87fde835e9157c4597a Author: jack_wang Date: Thu Nov 5 22:33:35 2009 +0800 [SCSI] pm8001: enhance IOMB process modules We set interupt cascading count of outbound queue to get better performance, correct some unnecessary return values and some noisy print messages. patch attached. Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Signed-off-by: James Bottomley commit d0b68041bdd0e5ea6dae1210541bf124443d72ec Author: jack_wang Date: Thu Nov 5 22:32:31 2009 +0800 [SCSI] pm8001: add reinitialize SPC parameters before phy start Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Signed-off-by: James Bottomley commit d139b9bd0e52dda14fd13412e7096e68b56d0076 Author: James Bottomley Date: Thu Nov 5 13:33:12 2009 -0600 [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects Some of our virtual SCSI hosts don't have a proper bus parent at the top, which can be a problem for doing DMA on them This patch makes the host device cache a pointer to the physical bus device and provides an extra API for setting it (the normal API picks it up from the parent). This patch also modifies the qla2xxx and lpfc vport logic to use the new DMA host setting API. Acked-By: James Smart Cc: Stable Tree Signed-off-by: James Bottomley commit 5917290ce9b376866b165d02a5ed88d5ecdb32d0 Author: Chandra Seetharaman Date: Fri Sep 11 10:20:35 2009 -0700 [SCSI] scsi_dh: create sysfs file, dh_state for all SCSI disk devices Create the sysfs file, dh_state even if the new SCSI device is not in the any of the device handler's internal lists. Signed-Off-by: Chandra Seetharaman Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit cd7560cb69489c6b798b61897449989b4e972327 Author: Roel Kluin Date: Wed Nov 4 00:38:44 2009 +0100 [SCSI] qlogicpti: add missing parentheses `+' has a higher precedence than `?' so the condition always evaluates to true and this is preprocessed to `7*((ql) - 1)' Signed-off-by: Roel Kluin Acked-by: David S. Miller Signed-off-by: James Bottomley commit b94f8951bf256674eca3f2a490df17521442afef Author: Joe Eykholt Date: Tue Nov 3 11:50:21 2009 -0800 [SCSI] libfc fcoe: increase ELS and CT timeouts The FC-LS spec. says ELS timeouts should be 2 x R_A_TOV. The FC-GS spec. says CT timeouts should be 3 x R_A_TOV. We've been using E_D_TOV for both of those. Change for all ELS and CT requests except FLOGI, which we leave at 2 seconds (using E_D_TOV). One could argue that R_A_TOV is locally determined until after FLOGI succeeds. This does change FLOGI for vports which becomes FDISC. This does not change the REC/SRR timeout which is 2 seconds. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit be276cbe1bd680ab1f6c297017dd658e5a6b10d2 Author: Yi Zou Date: Tue Nov 3 11:50:16 2009 -0800 [SCSI] libfcoe: Do not pad FIP keep-alive to full frame size According to the FC-BB-5 Rev2.0, 7.8.6.2, we should not pad FIP keep-alive frames. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4ae1e19f251335a24ce6cd13f08b4af560ed8765 Author: Vasu Dev Date: Tue Nov 3 11:50:10 2009 -0800 [SCSI] libfc: fix an issue of pending exch/es after i/f destroyed or rmmod fcoe All exches must be freed before its EM mempool destroyed in this case but currently some exches could be still pending in their scheduled delayed work after EM mempool is destroyed causing this issue discussed and reported in this latest email thread:- http://www.open-fcoe.org/pipermail/devel/2009-October/004788.html This patch fixes this issue by adding dedicated work queue thread fc_exch_workqueue for exch delayed work and then flush this work queue before destroying EM mempool. The cancel_delayed_work_sync cannot be called during final fc_exch_reset due to lport and exch locking ordering, so removes related comment block not relevant any more with this patch. Reported-by: Joe Eykholt Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 18fa11efc279c20af5eefff2bbe814ca067e51ae Author: Chris Leech Date: Tue Nov 3 11:50:05 2009 -0800 [SCSI] libfc, fcoe: fixes for highmem skb linearize panics There are cases outside of our control that may result in a transmit skb being linearized in dev_queue_xmit. There are a couple of bugs in libfc/fcoe that can result in a panic at that point. This patch contains two fixes to prevent those panics. 1) use fast cloning instead of shared skbs with dev_queue_xmit dev_queue_xmit doen't want shared skbuffs being passed in, and __skb_linearize will BUG if the skb is shared. FCoE is holding an extra reference around the call to dev_queue_xmit, so that when it returns an error code indicating the frame has been dropped it can maintain it's own backlog and retransmit. Switch to using fast skb cloning for this instead. 2) don't append compound pages as > PAGE_SIZE skb fragments fc_fcp_send_data will append pages from a scatterlist to the nr_frags[] if the netdev supports it. But, it's using > PAGE_SIZE compound pages as a single skb_frag. In the highmem linearize case that page will be passed to kmap_atomic to get a mapping to copy out of, but kmap_atomic will only allow access to the first PAGE_SIZE part. The memcpy will keep going and cause a page fault once is crosses the first boundary. If fc_fcp_send_data uses linear buffers from the start, it calls kmap_atomic one PAGE_SIZE at a time. That same logic needs to be applied when setting up skb_frags. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cc0136c2e9c10e889cb36e39710c0eb10707b396 Author: Yi Zou Date: Tue Nov 3 11:49:59 2009 -0800 [SCSI] fcoe: Fix using VLAN ID in creating lport's WWWN/WWPN If the underlying netdev is a VLAN device, make sure the VLAN ID is integrated into the WWNN/WWPN name generation. Also added/updated the comments to reflect this change. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 349e11faa84ebdd6e484572cfe66f2cf4cb483a1 Author: Mike Christie Date: Tue Nov 3 11:49:54 2009 -0800 [SCSI] libfc: do not use DID_NO_CONNECT for pkt alloc failures. DID_NO_CONNECT is not a nice value to use for pkt alloc failures, because you can probably retry and IO will become available again. For the device reset callout, we do not want to set the scsi command result for the above reason, and because we do not need to set the scsi_cmd->result in this path. We and other drivers do not set it for success for example, and we do not set it for other failure. And scsi-ml does not send every command through this path, and it is not expecting us to use the scsi_cmnd struct like a cmd coming thruogh queuecommand. I think it is more for storage in case we need a cmd struct for a tmf and to give us certain params like the LUN. Patch was made over scsi-misc today. Signed-off-by: Mike Christie Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 75ea89ef63d9ca37f190aebb7da061070005ac6e Author: Yi Zou Date: Tue Nov 3 11:49:49 2009 -0800 [SCSI] fcoe: Fix setting lport's WWNN/WWPN to use san mac address We are still using netdev->dev_addr to generate lport's WWNN/WWPN even if the LLD has support for NETDEV_HW_ADDR_T_SAN. Instead, we should just use the fip->ctl_src_addr, which is the NETDEV_HW_ADDR_T_SAN if LLD supports it or it is just the netdev->dev_addr if it does not. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5bab87e6d465d54a2b5899e0f583d42f00dbee2e Author: Yi Zou Date: Tue Nov 3 11:49:43 2009 -0800 [SCSI] fcoe: Fix getting san mac for VLAN interface Make sure we are get the SAN MAC address from the real netdev if the input netdev is a VLAN device. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit bf361707c81f8e8e43e332bfc8838bae76ae021a Author: Yi Zou Date: Tue Nov 3 11:49:38 2009 -0800 [SCSI] fcoe: Fix checking san mac address This was fixed before in 7a7f0c7 but it's introduced again recently. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 76d8737c9dda1593d52887c8a11bf3359e447896 Author: Joe Eykholt Date: Tue Nov 3 11:49:32 2009 -0800 [SCSI] fnic: enable bsg pass-thru for fcping Add initialization of .bsg_request in the scsi_transport_fc template so that fcping works. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ab593b187391bdd03ccad2968972a2e118a88cd4 Author: Joe Eykholt Date: Tue Nov 3 11:49:27 2009 -0800 [SCSI] libfc: register FC4 features with the FC switch Customers and certification tests have pointed out that we don't show up on the switch management software as an initiator. On some MDS switches 'show fcns database' command shows libfc initiators as 'fcp' not 'fcp:init' like other initiators. On others switches, I think the switch gets the features by doing a PRLI, but it may be only certain models or under certain configurations. Fix this by registering our FC4 features with the RFF_ID CT request after local port login and after the RFT_ID. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 78112e5558064cb4d2e355aed87b2036fcdfe3dd Author: Joe Eykholt Date: Tue Nov 3 11:49:22 2009 -0800 [SCSI] fnic: Add FIP support to the fnic driver Use libfcoe as a common FIP implementation with fcoe. FIP or non-FIP mode is fully automatic if the firmware supports and enables it. Even if FIP is not supported, this uses libfcoe for the non-FIP handling of FLOGI and its response. Use the new lport_set_port_id() notification to capture successful FLOGI responses and port_id resets. While transitioning between Ethernet and FC mode, all rx and tx FC frames are queued. In Ethernet mode, all frames are passed to the exchange manager to capture FLOGI responses. Change to set data_src_addr to the ctl_src_addr whenever it would have previously been zero because we're not logged in. This seems safer so we'll never send a frame with a 0 source MAC. This also eliminates a special case for sending FLOGI frames. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 386309ce927a308d7742a6fb24a536d3383fbd49 Author: Joe Eykholt Date: Tue Nov 3 11:49:16 2009 -0800 [SCSI] libfcoe: fcoe: simplify receive FLOGI response There was a locking problem where the fip->lock was held during the call to update_mac(). The rtnl_lock() must be taken before the fip->lock, not the other way around. This fixes that. Now that fcoe_ctlr_recv_flog() is called only from the response handler to a FLOGI request, some checking can be eliminated. Instead of calling update_mac(), just fill in the granted_mac address for the passed-in frame (skb). Eliminate the passed-in source MAC address since it is also in the skb. Also, in fcoe, call fcoe_set_src_mac() directly instead of going thru the fip function pointer. This will generate less code. Then, since fip isn't needed for LOGO response, use lport as the arg. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e6d8a1b0b53a156979120dd0593c1867b8ea89d3 Author: Joe Eykholt Date: Tue Nov 3 11:49:11 2009 -0800 [SCSI] libfc: add host number to lport link up/down messages. The libfc link up/down messages don't indicate which port is changing. The Port ID will often be 0. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 093bb6a2d378ee83fc6ab886c772b6be86abb5a8 Author: Joe Eykholt Date: Tue Nov 3 11:49:05 2009 -0800 [SCSI] libfc: add set_fid function to libfc template This is to notify the LLD when an FC_ID is assigned to the local port. The fnic driver needs to push the assigned FC_ID to firmware. It currently does this by intercepting the FLOGI responses, and in order to make that code more common with FIP and NPIV, it makes more sense to wait until the local port has completely handled the FLOGI or FDISC response. Also, when we fix point-to-point FC_ID assignment, we'll need this callback as well. Add a call to the libfc template, which is called whenever the local port FC_ID is being assigned. It defaults to fc_lport_set_fid(), supplied by libfc. As additional benefit of this function, the LLD may determine the MAC address that caused the change by looking at the received frame. We also print the assigned port ID as long as it isn't 0. Setting port ID to 0 happens often in reset while retrying FLOGI, and would be uninteresting. This replaces the previous message which didn't identify the host adapter instance. patch v2 note: changed one word in a comment. "intercepted" -> "provided". Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 52a6690d3f0cb7414c34b1e26c569b32d4987662 Author: Joe Eykholt Date: Tue Nov 3 11:49:00 2009 -0800 [SCSI] libfc: fix fc_els_resp_type to correct display of CT responses Local port debug messages were using fc_els_resp_type() which showed all CT responses as rejects. Handle CT responses correctly based by inspecting fh_type. I decided not to rename the function to keep the patch smaller. We could call it just fc_resp_type() or fc_elsct_resp_type(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5f9a056db9c7973c46337ec8d034323aa72bf206 Author: Joe Eykholt Date: Tue Nov 3 11:48:55 2009 -0800 [SCSI] libfc: fix symbolic name registrations smashing skb data The strncpy for RSPN_ID and RSNN_NN requests was padding past the allocated frame size. Get the string length before filling in the ct header. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6049d95a8a223e2dc3a476dea9f0fbc9b580f38f Author: Joe Eykholt Date: Tue Nov 3 11:48:50 2009 -0800 [SCSI] libfc: fix RNN_ID smashing skb payload The code that filled in the name server RNN_ID (register node name) request had somehow gotten a line in it from the RFT_ID code which copies 32 bytes of data over the relatively short payload. This caused some corruption and hangs. Simply deleted the extraneous line. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 59d925168457805572f40fb12bd399e89775b3ff Author: john fastabend Date: Tue Nov 3 11:48:44 2009 -0800 [SCSI] fcoe: add check to fail gracefully in bonding mode This patch adds a check to fail gracefully when the netdevice is bonded. Previously, the error was detected but the stack would continue to load. This resulted in a partially enabled fcoe intance and errors when the fcoe instance was destroy. Signed-off-by: John Fastabend Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4e5ad003ae07999593bb58ffb7ea646700647390 Author: Yi Zou Date: Tue Nov 3 11:48:39 2009 -0800 [SCSI] fcoe: remove extra function decalrations Remove the two extra function decalartions in fcoe.c. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f31f2a1c3215e96fbff2152486d0fb590f72634e Author: Joe Eykholt Date: Tue Nov 3 11:48:32 2009 -0800 [SCSI] libfcoe: don't send ELS in FIP mode if no FCF selected If link is up, but no FCF is selected, don't send any ELS frames. This came up when an fnic received a multicast advertisement but no solitited advertisments, so no FCF was selected. It tried to send FLOGIs anyway. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit dd42dac4ecd1799077c132aab35d3c36b26d4d8c Author: Joe Eykholt Date: Tue Nov 3 11:48:27 2009 -0800 [SCSI] libfcoe: FIP should report link to libfc whether selected or not The fnic driver with FIP is reporting link up, even though it's down. When the interface is shut down by the switch, we receive a clear virtual link, and set the state reported to libfc as down, although we still report it up. Clearly wrong. That causes the subsequent link down event not to be reported, and /sys shows the host "Online". Currently, in FIP mode, if an FCF times out, then link to libfc is reported as down, to stop FLOGIs. That interferes with the LLD link down being reported. Users really need to know the physical link information, to diagnose cabling issues, so physical link status should be reported to libfc. If the selected FCF needs to be reported, that should be done separately, in a later patch. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1f4aed818d26eb9ed54520fbeb85d5ee691baa94 Author: Joe Eykholt Date: Tue Nov 3 11:48:22 2009 -0800 [SCSI] libfcoe: fip: allow FIP receive to be called from IRQ. FIP's fcoe_ctlr_recv() function was previously only called from the soft IRQ in FCoE. It's not performance critical and is more convenient for some drivers to call it from the IRQ level. Just Change to use skb_queue()/dequeue() which uses spinlock_irqsave instead of separate locking with _bh locks. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 0f51c2e54c0bfdb6b02c53f6d7dd9b35f91821b6 Author: Joe Eykholt Date: Tue Nov 3 11:48:16 2009 -0800 [SCSI] libfcoe: fip: use SCSI host number to identify debug messages. Use scsi host number to identify debug messages. Previously, no instance information was given, so if multiple ports were active, it became confusing. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 22bcd225bfe2107725228758137d2109befa942a Author: Joe Eykholt Date: Tue Nov 3 11:48:11 2009 -0800 [SCSI] libfcoe: Allow FIP to be disabled by the driver Allow FIP to be disabled by the driver for devices that want to use libfcoe in non-FIP mode. The driver merely sets the fcoe_ctlr mode to the state which should be entered when the link comes up. The default is auto. No change is needed for fcoe.c which uses auto mode. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 84c3e1ad08d4be018a95e7a9964bf3dbc8cf8857 Author: Vasu Dev Date: Tue Nov 3 11:48:06 2009 -0800 [SCSI] libfc: adds can_queue ramp up Adds last_can_queue_ramp_down_time and updates this on every ramp down. If last_can_queue_ramp_down_time is not zero then do ramp up on any IO completion in added fc_fcp_can_queue_ramp_up. Reset last_can_queue_ramp_down_time to zero once can_queue is ramped up to added max_can_queue limit, this is to avoid any more ramp up attempts on subsequent IO completion. The ramp down and up are skipped for FC_CAN_QUEUE_PERIOD to avoid infrequent changes to can_queue, this required keeping track of ramp up time also in last_can_queue_ramp_up_time. Adds code to ramp down can_queue if lp->qfull is set, with added new ramp up code the can_queue will be increased after FC_CAN_QUEUE_PERIOD, therefore it is safe to do ramp down without fsp in this case and will avoid thrash. This required fc_fcp_can_queue_ramp_down locking change so that it can be called with Scsi_Host lock held. Removes si->throttled and fsp state FC_SRB_NOMEM, not needed with added ramp up code. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c46be11a683acc1ccf86883ea906f171b90ff29a Author: Vasu Dev Date: Tue Nov 3 11:48:00 2009 -0800 [SCSI] libfc: reduce can_queue for all FCP frame allocation failures Currently can_queue is reduced only if frame alloc fails during fc_fcp_send_data but frame alloc can fail at several other places in FCP data path and can_queue needs to be reduced for any FCP frame alloc failure. This patch adds fc_fcp_frame_alloc for all FCP frame allocations and if fc_frame_alloc fails in fc_fcp_frame_alloc then reduce can_queue in fc_fcp_frame_alloc, this will reduce can_queue for all FCP frame alloc failures. This required moving fc_fcp_reduce_can_queue up, to build without adding its prototype. Also renamed fc_fcp_reduce_can_queue to fc_fcp_can_queue_ramp_down. Removes fc_fcp_reduce_can_queue calling from fc_fcp_recv since not needed with added fc_fcp_frame_alloc reducing can_queue. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a7bbc7f40aa01eefef3d367349e1e6e87881a305 Author: Vasu Dev Date: Tue Nov 3 11:47:55 2009 -0800 [SCSI] fcoe, libfc: use single frame allocation API Cleans up frame allocation APIs to have just single fc_frame_alloc API. Removes _fc_frame_alloc, renames __fc_frame_alloc to _fc_frame_alloc. Modifies fc_fcp_send_data for removed _fc_frame_alloc, fc_fcp_send_data was the only user of removed _fc_frame_alloc. Also Adds check in fc_frame_alloc to do mod by 4 for only non-zero len value. This patch is prep work to fix can_queue reducing in next patch. Single fc_frame_alloc API helps in fixing can_queue reducing in next patch. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1875f27e291d05711f15a8a3d486abfeaf385931 Author: Robert Love Date: Tue Nov 3 11:47:50 2009 -0800 [SCSI] fcoe: Formatting cleanups and commenting Added kernel-doc comment blocks to all structures and functions. Renamed fc_lport instances rom lp to lport to be inline with our naming convention. Renamed all misnamed net_device instances to netdev to be inline with our naming convention. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 70b51aabf3b03fbf8d61c14847ccce4c69fb0cdd Author: Robert Love Date: Tue Nov 3 11:47:45 2009 -0800 [SCSI] libfcoe: formatting and comment cleanups Ensures that there are kernel-doc style comments for all routines and structures. There were also a few instances of fc_lport's named 'lp' which were switched to 'lport' as per the libfc/libfcoe/fcoe naming convention. Also, emacs 'indent-region' and 'tabify' were ran on libfcoe.c. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3a3b42bf89a9b90ae9ed2c57fdc378e5473a0ef9 Author: Robert Love Date: Tue Nov 3 11:47:39 2009 -0800 [SCSI] libfc: Formatting cleanups across libfc This patch makes a variety of cleanup changes to all libfc files. This patch adds kernel-doc headers to all functions lacking them and attempts to better format existing headers. It also add kernel-doc headers to structures. This patch ensures that the current naming conventions for local ports, remote ports and remote port private data is upheld in the following manner. struct instance (i.e. variable name) -------------------------------------------------- fc_lport lport fc_rport rport fc_rport_libfc_priv rpriv fc_rport_priv rdata I also renamed dns_rp and ptp_rp to dns_rdata and ptp_rdata respectively. I used emacs 'indent-region' and 'tabify' on all libfc files to correct spacing alignments. I feel sorry for anyone attempting to review this patch. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a51ab39606042e76a483547620699530caa12c40 Author: Steve Ma Date: Tue Nov 3 11:47:34 2009 -0800 [SCSI] libfc, fcoe: Add FC passthrough support This is the Open-FCoE implementation of the FC passthrough support via bsg interface. Passthrough support is added to both N_Ports and VN_Ports. Signed-off-by: Steve Ma Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5868287460b0fc243e828a0b856cd53d8bf45739 Author: Robert Love Date: Tue Nov 3 11:47:28 2009 -0800 [SCSI] libfc: Add routine to copy data from a buffer to a SG list When handling the multi-frame responses of fc pass-thru requests, a code segment similar to fc_fcp_recv_data (routine to receive inbound SCSI data) is used in the response handler. This patch is to add a routine, called fc_copy_buffer_to_sglist(), to handle the common function of copying data from a buffer to a scatter- gather list in order to avoid code duplication. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 07aac328342d6ca1725d901e1c5da8a1aa88f557 Author: Robert Love Date: Tue Nov 3 11:47:23 2009 -0800 [SCSI] libfc: Export FC headers Export fc_els.h, fc_fs.h, fc_gs.h and fc_ns.h so that they may be used by applications. This will be needed for FC Passthrough applications like fcping, but could be used by other applications. Fix to include to exported files provided by Chris Leech . Signed-off-by: Robert Love Signed-off-by: James Bottomley commit dc8596d303bb306da9ab5326fa6209710de86b8b Author: Chris Leech Date: Tue Nov 3 11:47:18 2009 -0800 [SCSI] fcoe: vport symbolic name support Allow a vport specific string to be appended to the port symbolic name. The new symbolic name is sent to the name server after it is set. This currently messes with libhbalinux, which is looking for the fcoe "fcoe over " string and expects whatever comes after the "over" to be a network interface name only. Adds an EXPORT_SYMBOL to libfc for fc_frame_alloc_fill, which is needed to allow fcoe to allocate a frame of variable length for the RSPN request. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c914f7d16df6420cfd4c09399957425ba9c21f47 Author: Chris Leech Date: Tue Nov 3 11:47:12 2009 -0800 [SCSI] libfc: combine name server registration request functions Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 7cccc157119be9b3f57e03a5ae197ba0a6a8a89f Author: Chris Leech Date: Tue Nov 3 11:47:07 2009 -0800 [SCSI] libfc: combine name server registration response handlers They all do the same thing, so combine them into a single function. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c9866a548024c33e30f35a14bbcb71ba78266383 Author: Chris Leech Date: Tue Nov 3 11:47:01 2009 -0800 [SCSI] libfc: Register Symbolic Port Name (RSPN_ID) Register the fc_host symbolic name as the symbolic port name with the fabric name server. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5baa17c3e66fc2e414f501b2dd59b962dfc64919 Author: Chris Leech Date: Tue Nov 3 11:46:56 2009 -0800 [SCSI] libfc: Register Symbolic Node Name (RSNN_NN) Register the fc_host symbolic name as the symbolic node name with the fabric name server. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c9c7bd7a5e7321aa96289c9b48fdbcc828c105e6 Author: Chris Leech Date: Tue Nov 3 11:46:51 2009 -0800 [SCSI] libfc: RNN_ID may be required before RSNN_NN with some switches One could interpret FC-GS-5 to say that an explicit RNN_ID is required before RSNN_NN is allowed to succeed, which is why RNN_ID was not obsoleted along with RPN_ID acording to this document: ftp://ftp.t11.org/t11/member/fc/gs-5/05-546v2.pdf Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 28cc0e31d874af05244da421e05565f2ba72fd5c Author: Chris Leech Date: Tue Nov 3 11:46:46 2009 -0800 [SCSI] libfc: RPN_ID is obsolete and unnecessary RPN_ID has been obsolete per FC-GS-5 for several years. The port name is registered implicitly as part of FLOGI, and it is undesirable for ports to change a registered port name using RPN_ID while logged into the fabric. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9a05753b23c171b6a45e393ec2b9bc034d31bec8 Author: Chris Leech Date: Tue Nov 3 11:46:40 2009 -0800 [SCSI] fcoe: NPIV vport create/destroy Add NPIV vport create and destroy handlers and register them with the FC transport. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e9084bb8b4414dc1cfb840ac5a86fac23fccd013 Author: Chris Leech Date: Tue Nov 3 11:46:34 2009 -0800 [SCSI] fcoe: add a separate scsi transport template for NPIV vports Right now it's exactly the same as the physical port template, and there is no way to create a port on anything other than the netdev. When the vport_create entry point gets hooked up it will create lports on top of vport devices, which will use this. Rename scsi_transport_fcoe_sw to fcoe_transport_template to be more clear with naming now that there are two templates. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 11b561886643d4e23d0fd58c205d830a448dd0a2 Author: Chris Leech Date: Tue Nov 3 11:46:29 2009 -0800 [SCSI] libfcoe, fcoe: libfcoe NPIV support The FIP code in libfcoe needed several changes to support NPIV 1) dst_src_addr needs to be managed per-n_port-ID for FPMA fabrics with NPIV enabled. Managing the MAC address is now handled in fcoe, with some slight changes to update_mac() and a new get_src_addr() function pointer. 2) The libfc elsct_send() hook is used to setup FCoE specific response handlers for FIP encapsulated ELS exchanges. This lets the FCoE specific handling know which VN_Port the exchange is for, and doesn't require tracking OX_IDs. It might be possible to roll back to the full FIP frame in these, but for now I've just stashed the contents of the MAC address descriptor in the skb context block for later use. Also, because fcoe_elsct_send() just passes control on to fc_elsct_send(), all transmits still come through the normal frame_send() path. 3) The NPIV changes added a mutex hold in the keep alive sending, the lport mutex is protecting the vport list. We can't take a mutex from a timer, so move the FIP keep alive logic to the link work struct. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit db36c06cc6802d03bcba08982377f7c03a3cda7f Author: Chris Leech Date: Tue Nov 3 11:46:24 2009 -0800 [SCSI] libfc, libfcoe: FDISC ELS for NPIV Add FDISC ELS handling to libfc and libfcoe, treat it the same as FLOGI where appropriate. Add checking for NPIV support in the FLOGI LS_ACC service parameters. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8faecddb212d502b1b77936498b9a82b13c4ff44 Author: Chris Leech Date: Tue Nov 3 11:46:19 2009 -0800 [SCSI] libfc: vport link handling and fc_vport state managment NPIV vports are managed in libfc by changing their virtual link state when the parent N_Ports internal state changes. The vport link is only online when the N_Port is in a ready state (logged into the fabric). vport_state is updated as needed in this patch as well, currently the states LINKDOWN, INITIALIZING, ACTIVE, DSIABLED, and NO_FABRIC_SUPP are used. This also changes the fc_host port_state handling to differentiate between LINKDOWN and OFFLINE. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 174e1ebffd30a7599b889900089f7acef944cc6b Author: Chris Leech Date: Tue Nov 3 11:46:14 2009 -0800 [SCSI] libfc: add some generic NPIV support routines to libfc Adds a function to create a new VN_Port instances, which share the EM list with the N_Port, VN_Port lookup by fabric ID when responding to a new request (otherwise the exchange lookup from the N_Ports EM list is trusted to return an exchange with a cached lport value for the correct VN_Port), a pointer to a fc_vport structure for VN_Ports, and flags to indicate if an N_Port supports NPIV and if the switch/fabric allows it. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 86221969e20a2f60ce104160dc836a964974673b Author: Chris Leech Date: Tue Nov 3 11:46:08 2009 -0800 [SCSI] libfc: changes to libfc_host_alloc to consolidate initialization with allocation I'd like to keep basic initialization together with allocation, which means this can't just be a tail-call to scsi_host_alloc. This is needed to create a generic libfc host allocation routine for NPIV VN_Ports, which will share the exchange ID space (through sharing exchange manager structures) with the parent lport. In order to clone the exchange manager list when the lport is allocated, the list head must be initialized earlier. Also, update fnic to use the libfc_host_alloc so that later changes do not break it. (contribution by Joe Eykholt) Signed-off-by: Chris Leech Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 93e6d5ab9969a9200752658677eafd96772302f0 Author: Robert Love Date: Tue Nov 3 11:46:03 2009 -0800 [SCSI] libfc: Move libfc_init and libfc_exit to fc_libfc.c These routines are for the libfc kernel module and should be in the libfc .c file. Moving the libfc __init routine into fc_libfc.c caused the creation of the fc_setup_fcp() and fc_destroy_fcp() routines so that scsi_pkt_cachep was not exposed outside of fc_fcp.c. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8866a5d9075b7129194576f5f810e85a693c40ba Author: Robert Love Date: Tue Nov 3 11:45:58 2009 -0800 [SCSI] libfc: Add libfc/fc_libfc.[ch] for libfc internal routines include/scsi/libfc.h is currently loaded with common code shared between libfc's sub-modules as well as shared between libfc and fcoe. Previous patches attempted to move out non-common code. This patch creates two files for common libfc routines that will not be shared with fcoe, fnic or any other LLDs. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 255f6386b816b2bc0c251af0ee4985ad5a8461b7 Author: Robert Love Date: Tue Nov 3 11:45:52 2009 -0800 [SCSI] libfc: Remove fc_fcp_complete This function is never used, let's remove it. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1a7b75ae719754c77ccd4d18b0d258ae5db38a25 Author: Robert Love Date: Tue Nov 3 11:45:47 2009 -0800 [SCSI] libfc: Move non-common routines and prototypes out of libfc.h This patch moves all non-common routines and function prototypes out of libfc.h and into the appropriate .c files. It makes these routines 'static' when necessary and removes any unnecessary EXPORT_SYMBOL statements. A result of moving the fc_exch_seq_send, fc_seq_els_rsp_send, fc_exch_alloc and fc_seq_start_next prototypes out of libfc.h is that they were no longer being imported into fc_exch.c when libfc.h was included. This caused errors where routines in fc_exch.c were looking for undefined symbols. To fix this this patch reorganizes fc_seq_alloc, fc_seq_start_next and fc_seq_start_next_locked. This move also made it so that fc_seq_start_next_locked did not need to be prototyped at the top of fc_exch.c. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2171c225f641c5402e4c47180d791a612278040e Author: Robert Love Date: Tue Nov 3 11:45:42 2009 -0800 [SCSI] fcoe: Increase FCOE_MAX_LUN to 0xFFFF (65535) The maximum number of LUNs was far too low. This value is what most other FC HBAs are using. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2e76f7670b33a3b0bdf015ed1459e4b417a40ce0 Author: Abhijeet Joglekar Date: Tue Nov 3 11:45:37 2009 -0800 [SCSI] fnic: Allocate OS interrupt resources just before enabling interrupts The OS interrupt vectors were getting allocated before the interrupt resources were mapped from hardware. For Legacy interrupts, since they are shared with other devices, as soon as an interrupt is registered with the OS, it can fire while the fnic isr resource is still unmapped. This can cause crash because of access to unmapped resources. For MSIX and MSI, since interrupts are not shared with other devices, this problem didnt happen, because the interrupt is enabled as the last step before returning from _probe. For Legacy however, since the interrupt is shared, the handler can be called as soon as it is registered. Solution is to register interrupt handlers with OS as last step before enabling device interrupts. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 65d430fa99cbd0e88d09a3343f697c51fc8a7009 Author: Christof Schmitt Date: Fri Oct 30 17:59:29 2009 +0100 [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh Move the duplicated code from FC LLDs to SCSI FC transport class. Acked-by: James Smart Acked-by: Giridhar Malavali Acked-by: Abhijeet Joglekar Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 03b147083a2f9a2a3fbbd2505fa88ffa3c6ab194 Author: Jiri Slaby Date: Wed Sep 23 16:15:35 2009 +0200 [SCSI] scsi_lib: fix potential NULL dereference Stanse found a potential NULL dereference in scsi_kill_request. Instead of triggering BUG() in 'if (unlikely(cmd == NULL))' branch, the kernel will Oops earlier on cmd dereference. Move the dereferences after the if. Signed-off-by: Jiri Slaby Signed-off-by: James Bottomley commit f619106bdd9d197c947f07108af57946f19a7f7e Author: adam radford Date: Fri Oct 23 14:52:33 2009 -0700 [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 [jejb: fix up for new queue depth code] Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 1e49f78505b2c4df193614d774bf46d067cda7d8 Author: Douglas Gilbert Date: Thu Oct 29 01:48:31 2009 -0400 [SCSI] scsi_debug: fix Thin provisioning support While testing scsi_debug with these patches I found a problem with the Block Limits VPD page function. The length returned by the inquiry_evpd_b0() function was too short. A patch to fix that and a cosmetic change (that the form factor of scsi_debug is less than 1.8 inches) is attached. Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley commit 851b164231d1117673aa44c00c7622e48b7dfcf4 Author: Alok Kataria Date: Tue Oct 13 14:51:05 2009 -0700 [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. This is a driver for VMware's paravirtualized SCSI device, which should improve disk performance for guests running under control of VMware hypervisors that support such devices. Signed-off-by: Alok N Kataria Signed-off-by: James Bottomley commit 96e6586556dfa80112f42895be93c561582d9930 Author: Chandra Seetharaman Date: Wed Oct 21 09:23:04 2009 -0700 [SCSI] scsi_dh: Make alua hardware handler's activate() async Make the activate function asynchronous by using blk_execute_rq_nowait() Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 4e2ef86cd5ce057b60acea33bb71c06676e71888 Author: Chandra Seetharaman Date: Wed Oct 21 09:22:58 2009 -0700 [SCSI] scsi_dh: Make hp hardware handler's activate() async Make the activate function asynchronous by using blk_execute_rq_nowait() Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 970f3f47e7c97c0bfe9f91356943b55ac389cb1d Author: Chandra Seetharaman Date: Wed Oct 21 09:22:51 2009 -0700 [SCSI] scsi_dh: Make rdac hardware handler's activate() async Batch up MODE_SELECT in rdac device handler. LSI RDAC storage has the capability of handling mode selects for multiple luns in a same command. Make use of that ability to send as few MODE SELECTs as possible to the storage controller as possible. This patch creates a work queue and queues up activate requests when a MODE SELECT is sent down the wire. When that MODE SELECT completes, it compiles queued up activate requests for multiple luns into a single MODE SELECT. This reduces the time to do failover/failback of large number of LUNS. Signed-off-by: Babu Moger Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 3ae31f6a7b6e442fc6a92f29330fbad230dc3992 Author: Chandra Seetharaman Date: Wed Oct 21 09:22:46 2009 -0700 [SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous Make scsi_dh_activate() function asynchronous, by taking in two additional parameters, one is the callback function and the other is the data to call the callback function with. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 42e62a74377bcbb526565a31aa18da8f712b93ee Author: Christof Schmitt Date: Thu Oct 15 17:47:11 2009 -0700 [SCSI] zfcp: Adapt change_queue_depth for queue full tracking Adapt the change_queue_depth callback in zfcp for the new reason parameter. Simply pass each call back to the SCSI midlayer, there are no resource adjustments necessary for zfcp. Signed-off-by: Christof Schmitt Removes check for (depth <= default_depth) in case of SCSI_QDEPTH_RAMP_UP call back, not needed after added max_queue_depth per sdev. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 229b8d72f3eccf97e8a9e22436e8fc303b3483cd Author: Vasu Dev Date: Thu Oct 15 17:47:06 2009 -0700 [SCSI] libfc: add queue_depth ramp up Adjust queue_depth on fc_change_queue_depth call back with reason SCSI_QDEPTH_RAMP_UP, no additional resource adjustments necessary for libfc. Signed-off-by: Vasu Dev Acked-by: Robert Love Signed-off-by: James Bottomley commit 4a84067dbfce436b81779e585bf712b02ceee552 Author: Vasu Dev Date: Thu Oct 22 15:46:33 2009 -0700 [SCSI] add queue_depth ramp up code Current FC HBA queue_depth ramp up code depends on last queue full time. The sdev already has last_queue_full_time field to track last queue full time but stored value is truncated by last four bits. So this patch updates last_queue_full_time without truncating last 4 bits to store full value and then updates its only current usages in scsi_track_queue_full to ignore last four bits to keep current usages same while also use this field in added ramp up code. Adds scsi_handle_queue_ramp_up to ramp up queue_depth on successful completion of IO. The scsi_handle_queue_ramp_up will do ramp up on all luns of a target, just same as ramp down done on all luns on a target. The ramp up is skipped in case the change_queue_depth is not supported by LLD or already reached to added max_queue_depth. Updates added max_queue_depth on every new update to default queue_depth value. The ramp up is also skipped if lapsed time since either last queue ramp up or down is less than LLD specified queue_ramp_up_period. Adds queue_ramp_up_period to sysfs but only if change_queue_depth is supported since ramp up and queue_ramp_up_period is needed only in case change_queue_depth is supported first. Initializes queue_ramp_up_period to 120HZ jiffies as initial default value, it is same as used in existing lpfc and qla2xxx. -v2 Combined all ramp code into this single patch. -v3 Moves max_queue_depth initialization after slave_configure is called from after slave_alloc calling done. Also adjusted max_queue_depth check to skip ramp up if current queue_depth is >= max_queue_depth. -v4 Changes sdev->queue_ramp_up_period unit to ms when using sysfs i/f to store or show its value. Signed-off-by: Vasu Dev Tested-by: Christof Schmitt Tested-by: Giridhar Malavali Signed-off-by: James Bottomley commit 14caf44c69184ed72d46a2f883311daf27a4192f Author: Vasu Dev Date: Thu Oct 15 17:46:55 2009 -0700 [SCSI] fcoe, libfc: fix an libfc issue with queue ramp down in libfc The cmd_per_lun value is used by scsi-ml as fall back lowest queue_depth value but in case of libfc cmd_per_lun is set to same value as max queue_depth = 32. So this patch reduces cmd_per_lun value to 3 and configures each lun with default max queue_depth 32 in fc_slave_alloc. Signed-off-by: Vasu Dev Acked-by: Robert Love Signed-off-by: James Bottomley commit 5c20848a096fb1880ded99816be79d78ca1cd696 Author: Mike Christie Date: Thu Oct 15 17:46:50 2009 -0700 [SCSI] libfc: convert to scsi_track_queue_full This converts the libfc using scsi_track_queue_full to track the queue full from the change_queue_depth callback. Signed-off-by: Mike Christie Signed-off-by: Vasu Dev Acked-by: Robert Love Signed-off-by: James Bottomley commit 42a6a91833f1e0f5ee5b5ef98e9f00167b615f46 Author: Mike Christie Date: Thu Oct 15 17:46:44 2009 -0700 [SCSI] scsi error: have scsi-ml call change_queue_depth to handle QUEUE_FULL This has scsi-ml call the change_queue_depth functions when we get a QUEUE_FULL. It will only change the queue depth if change_queue_depth is set because the LLD may have to modify some internal resources, so I thought this would be the safest route. Signed-off-by: Mike Christie -v2 Limits change_queue_depth to only all luns of target by adding channel check while iterating for all luns of Scsi_Host. This is same as currently qla2xxx FC HBA does on QUEUE_FULL event. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit e881a172dac4d9ea3b2a1540041d872963c269bd Author: Mike Christie Date: Thu Oct 15 17:46:39 2009 -0700 [SCSI] modify change_queue_depth to take in reason why it is being called This patch modifies scsi_host_template->change_queue_depth so that it takes an argument indicating why it is being called. This will be used so that if a LLD needs to do some extra processing when handling queue fulls or later ramp ups, it can do so. This is a simple port of the drivers setting a change_queue_depth callback. In the patch I just have these LLDs adjust the queue depth if the user was requesting it. Signed-off-by: Mike Christie [Vasu.Dev: v2 Also converted pmcraid_change_queue_depth and then verified all modules compile using "make allmodconfig" for any new build warnings on X86_64. Updated original description after combing two original patches from Mike to make this patch git bisectable.] Signed-off-by: Vasu Dev [jejb: fixed up 53c700] Signed-off-by: James Bottomley commit dbf9bfe615717d1145f263c0049fe2328e6ed395 Author: jack wang Date: Wed Oct 14 16:19:21 2009 +0800 [SCSI] pm8001: add SAS/SATA HBA driver This driver supports PMC-Sierra PCIe SAS/SATA 8x6G SPC 8001 chip based host adapters. Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Signed-off-by: Tom Peng Signed-off-by: Kevin Ao Signed-off-by: James Bottomley commit 35e6601903fc41e48e9b6722a49cc5acc7065c51 Author: Jayamohan Kallickal Date: Fri Oct 23 11:53:49 2009 +0530 [SCSI] be2iscsi: Adding Ring Mode Wrb's V3 This patch adds support for ring based wrbs Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit bfead3b2cb4607c71831423c3ee97d22cd0c9dcb Author: Jayamohan Kallickal Date: Fri Oct 23 11:52:33 2009 +0530 [SCSI] be2iscsi: Adding msix and mcc_rings V3 This patch enables msix for be2iscsi. It also enables use of mcc_rings for fw commands. Since the mcc eq creation is dependent on msix I am sending as one patch Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit b4a9c7ede96e90f7b1ec009ce7256059295e76df Author: Joe Eykholt Date: Wed Oct 21 16:28:30 2009 -0700 [SCSI] libfc: fix free of fc_rport_priv with timer pending Timer crashes were caused by freeing a struct fc_rport_priv with a timer pending, causing the timer facility list to be corrupted. This was during FC uplink flap tests with a lot of targets. After discovery, we were doing an PLOGI on an rdata that was in DELETE state but not yet removed from the lookup list. This moved the rdata from DELETE state to PLOGI state. If the PLOGI exchange allocation failed and needed to be retried, the timer scheduling could race with the free being done by fc_rport_work(). When fc_rport_login() is called on a rport in DELETE state, move it to a new state RESTART. In fc_rport_work, when handling a LOGO, STOPPED or FAILED event, look for restart state. In the RESTART case, don't take the rdata off the list and after the transport remote port is deleted and exchanges are reset, re-login to the remote port. Note that the new RESTART state also corrects a problem we had when re-discovering a port that had moved to DELETE state. In that case, a new rdata was created, but the old rdata would do an exchange manager reset affecting the FC_ID for both the new rdata and old rdata. With the new state, the new port isn't logged into until after any old exchanges are reset. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4b53662bd594941e5e5e540baaaff6a3e66d062c Author: Abhijeet Joglekar Date: Wed Oct 21 16:28:25 2009 -0700 [SCSI] fnic: Pad the unused bytes of CDB to 0s Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f9bdc3da4c9c2af4886bc6a562effc05cbf75234 Author: Abhijeet Joglekar Date: Wed Oct 21 16:28:19 2009 -0700 [SCSI] fnic: Set max_cmd_len to driver supported CDB length Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit d5cf4b28e13989ace24cf26de1e1debec18e9685 Author: Abhijeet Joglekar Date: Wed Oct 21 16:28:14 2009 -0700 [SCSI] fnic: Process all cq entries per ISR Driver was processing a fixed max number of cq descriptors per ISR. For instance, for the SCSI IO queue, number of IOs processed per ISR were 8. If hardware writes 9 cq descriptors to the cq and generates an interrupt, driver would process only 8 descriptors and decrement the outstanding credit count by 8. Unless another interrupt event happens, the hw does not generate any additional interrupt. This results in the cq descriptor sitting in the queue without being procesed and can cause IO timeouts and aborts. Modify all ISR functions to process all queued cq descriptors in one shot. Since bulk of ELS frame processing is done in thread context and bulk of SCSI IO processing is done in soft ISR deferred context, the cycles spent in the ISR per cq descriptor is small. Signed-off-by: Herman Lee Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8f550f937e9fdafa5c37e348e214aecec851ef3f Author: Chris Leech Date: Wed Oct 21 16:28:09 2009 -0700 [SCSI] libfc: fix memory corruption caused by double frees and bad error handling I was running into several different panics under stress, which I traced down to a few different possible slab corruption issues in error handling paths. I have not yet looked into why these exchange sends fail, but with these fixes my test system is much more stable under stress than before. fc_elsct_send() could fail and either leave the passed in frame intact (failure in fc_ct/els_fill) or the frame could have been freed if the failure was is fc_exch_seq_send(). The caller had no way of knowing, and there was a potential double free in the error handling in fc_fcp_rec(). Make fc_elsct_send() always free the frame before returning, and remove the fc_frame_free() call in fc_fcp_rec(). While fc_exch_seq_send() did always consume the frame, there were double free bugs in the error handling of fc_fcp_cmd_send() and fc_fcp_srr() as well. Numerous calls to error handling routines (fc_disc_error(), fc_lport_error(), fc_rport_error_retry() ) were passing in a frame pointer that had already been freed in the case of an error. I have changed the call sites to pass in a NULL pointer, but there may be more appropriate error codes to use. Question: Why do these error routines take a frame pointer anyway? I understand passing in a pointer encoded error to the response handlers, but the error routines take no action on a valid pointer and should never be called that way. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b7a727f1af953b00352d3a4b6c458c6e2872f94b Author: Yi Zou Date: Wed Oct 21 16:28:03 2009 -0700 [SCSI] fcoe: Call ndo_fcoe_enable/disable to turn FCoE feature on/off in LLD Calls ndo_fcoe_enabled() of the associated netdev upon creating the FCoE instance to make sure LLD has all necessary resources allocated and setup properly before passing FCoE traffic. Similarly, calls ndo_fcoe_disable() upon destroying the FCoE instance on the associated netdev to allow the LLD to release all allocated resources for FCoE. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit d37322a43ebac79eef417149f5696390cf8872db Author: Yi Zou Date: Wed Oct 21 16:27:58 2009 -0700 [SCSI] libfc: Fix frags in frame exceeding SKB_MAX_FRAGS in fc_fcp_send_data In case of sequence offload, in fc_fcp_send_data(), the skb_fill_page_info() called may end up adding more frags to the skb_shinfo(fp_skb(fp))->frags[], exceeding SKB_MAX_FRAGS, this eventually corrupts the memory. I am adding the FR_FRAME_SG_LEN back, but as SKB_MAX_FRAGS -1, leaving 1 for our fcoe_eof_crc page. And send will be broken into multiple large sends if the frame already contains more frags than skb handle. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 7221d7e59d1c675828b6de50b757cd8282011a5d Author: Yi Zou Date: Wed Oct 21 16:27:52 2009 -0700 [SCSI] fcoe: Use NETIF_F_FCOE_MTU flag to set up max frame size (lport->mfs) Add a define of FCOE_MTU as 2158 bytes and use FCOE_MTU when the LLD is found to support NETIF_F_FCOE_MTU. The lport->mfs is then calculated out of the 2158 FCOE_MTU. Otherwise, we stick with the netdev->mtu, i.e., LAN MTU. Also, change the notification on NETDEV_CHANGEMTU event to bypass changing mfs when LAN MTU is changed if NETIF_F_FCOE_MTU is supported. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8eca355fa8af660557fbdd5506bde1392eee9bfe Author: Mike Christie Date: Wed Oct 21 16:27:44 2009 -0700 [SCSI] fcoe: initialize return value in fcoe_destroy When doing echo ethX > /sys..../destroy I am getting errors when the tear down succeeds. It looks like the reason for this is because the rc var is not getting set when the destruction works. This just sets it to zero. Signed-off-by: Mike Christie Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e95147d8fa4e63bf6d8ff249f074d0047338fc61 Author: Vasu Dev Date: Wed Oct 21 16:27:39 2009 -0700 [SCSI] libfc: removes unused disc_work and ex_list Reported-by: Alex Lyakas Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3f127ad97a985d43b3cdf4b644e77a775b6035d4 Author: Vasu Dev Date: Wed Oct 21 16:27:33 2009 -0700 [SCSI] libfc: adds missing exch release for accepted RRQ Adds missing exch release when RRQ is accepted by calling fc_seq_ls_acc. Adds common exch release for fc_exch_els_rrq by use of out label. Reported-by: Alex Lyakas Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 89f19a59de0ec4626c64d90d2f5e255961cab879 Author: Vasu Dev Date: Wed Oct 21 16:27:28 2009 -0700 [SCSI] libfc: removes initializing fc_cpu_order and fc_cpu_mask per lport Initializing these libfc globals per lport could mess up exch allocation/free for existing lport. So this patch moves their initialization to fc_setup_exch_mgr so that these globals gets initialized only once for libfc. Reported-by: Alex Lyakas Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 22655ac22289d7b7def8ef2d72eafe5024bd57fe Author: Joe Eykholt Date: Wed Oct 21 16:27:22 2009 -0700 [SCSI] libfc: don't WARN_ON in lport_timeout for RESET state It's possible and harmless to get FLOGI timeouts while in RESET state. Don't do a WARN_ON in that case. Also, split out the other WARN_ONs in fc_lport_timeout, so we can tell which one is hit by its line number. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1b69bc062c2a4c8f3e15ac69f487afec3aa8d774 Author: Joe Eykholt Date: Wed Oct 21 16:27:17 2009 -0700 [SCSI] libfc: lport: fix minor documentation errors Fix minor errors. A debug message said an RLIR was received instead of ECHO. "Expected" was misspelled in several places. Fix a type cast from u32 to __be32. Rob, Some of these may have been also taken care of in your other doc cleanup patch. Feel free to fold them in. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4347fa66878e079766258bc0d077c350cb31a799 Author: Yi Zou Date: Wed Oct 21 16:27:12 2009 -0700 [SCSI] libfc: Fix wrong scsi return status under FC_DATA_UNDRUN This bug is exposed when there is a link flap in LLD. Particularly, when it happens right after a SCSI write command is sent out, no FCP_DATA is sent, causing fsp->status_code to be set as FC_DATA_UNDRUN in fc_fcp_complete_locked even no SCSI status is received. Consequently, fc_io_compl treats this as DID_OK. This results in SCSI returning successful to the initial I/O request even there is no DATA actually sent. Particularly, if you run an I/O tool w/ data verification on, the read back for verification is gonna fail. This is fixed here by checking when FC_DATA_UNDRUN happens, SCSI status is received w/ FC_SRB_RCV_STATUS set in fsp->state. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c340111dbb48482cd23f4e441deff9169be9bc6f Author: Robert Love Date: Wed Oct 21 16:27:06 2009 -0700 [SCSI] libfc: Remove unused fc_lport pointer from fc_fcp_pkt_abort This argument isn't used, let's not pass it into the routine. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 473e28563fbb038515d4616546297483d3727c02 Author: Robert Love Date: Wed Oct 21 16:27:01 2009 -0700 [SCSI] libfc, fcoe: Don't EXPORT_SYMBOLS unnecessarily These are a few functions that were not used by other modules. They did not need to be exported so this patch removes the EXPORT_SYMBOLS call for each. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b04d023cf5b7f4113cc4a09405c2fe8003bfe37d Author: Yi Zou Date: Wed Oct 21 16:26:55 2009 -0700 [SCSI] fcoe: remove redundant checking of netdev->netdev_ops Remove the redundant checking of netdev->netdev_ops as it will never be NULL. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5e472d077f45de4f37365171bd742f18b3ef20de Author: Yi Zou Date: Wed Oct 21 16:26:50 2009 -0700 [SCSI] libfc: fix ddp in fc_fcp for 0 xid xid 0 was used as an indication of invalid xid before but now xid 0 can be used as a valid exchange i. This patch fixes the ddp completion in fcp layer, i.e., in fc_fcp.c:fc_fcp_ddp_done() function, to make sure it does not use xid 0 for indication of an invalid xid, instead, it now uses use FC_XID_UNKNOWN for such indication. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 85b5893ca97c69e409ecbb5ee90a5d99882369c4 Author: Joe Eykholt Date: Wed Oct 21 16:26:45 2009 -0700 [SCSI] libfc: fix typo in retry check on received PRLI A received Fibre Channel ELS PRLI request contains a bit that indicates whether the remote port supports certain retry processing sequences. The test for this bit was somehow coded to use multiply instead of AND! This case would apply only for target mode operation, and it is unlikely to be noticed as an initiator. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8da85e451d1e9c37bd2846f032c9d5ffa1234d1f Author: Brian King Date: Mon Oct 19 15:07:55 2009 -0500 [SCSI] ibmvfc: Driver version 1.0.7 Bump driver version to 1.0.7. Signed-off-by: Brian King Signed-off-by: James Bottomley commit d31429e1517c007781dfc68aed9b39cb5d3350a1 Author: Brian King Date: Mon Oct 19 15:07:54 2009 -0500 [SCSI] ibmvfc: Add FC Passthru support Adds support for FC passthru via BSG. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4a5c4a5ed2b8b7fac68368e7ab8cb415dd006418 Author: Brian King Date: Mon Oct 19 15:07:53 2009 -0500 [SCSI] ibmvfc: Fix adapter cancel flags for terminate_rport_io When issuing a Cancel to the virtual fibre channel adapter, the interface specifies a flags field for the client to indicate what kind of error recovery is being performed. Fix up these flags for terminate_rport_io to indicate an abort task set rather than a target reset. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 861890c62d46bd29c73d75fc907aeffd1c4eee06 Author: Brian King Date: Mon Oct 19 15:07:49 2009 -0500 [SCSI] ibmvfc: Remove unnecessary parameter to ibmvfc_init_host Remove a parameter to ibmvfc_init_host which is always set to zero by all callers. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7043110550f19c1556ad18dc4d63b1c9eaf9e4fd Author: Brian King Date: Mon Oct 19 15:07:48 2009 -0500 [SCSI] ibmvfc: Fix locking in ibmvfc_remove Need to grab the host lock around the call to ibmvfc_link_down. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 230934a6fe2f44d14ef840639f010c9cf4da098f Author: Brian King Date: Mon Oct 19 15:07:47 2009 -0500 [SCSI] ibmvfc: Fixup TMF response handling When processing the response to either a LUN reset, target reset, or an abort task set, the ibmvfc driver needs to treat as success receiving a response with a non-zero status in the response IU along with a general transport error with the FCP response code being zero. The VIOS currently guarantees this cannot happen, but a future version of VIOS may allow this to be returned, so ensure we handle this response combination correctly for TMFs, as we already do for SCSI commands. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 44d9269481bb43df445adf464b06ff031e67d7ea Author: Martin K. Petersen Date: Thu Oct 15 14:45:27 2009 -0400 [SCSI] scsi_debug: Thin provisioning support This version fixes 64-bit modulo on 32-bit as well as inadvertent map updates when TP was disabled. Implement support for thin provisioning in scsi_debug. No actual memory de-allocation is taking place. The intent is to emulate a thinly provisioned storage device, not to be one. There are four new module options: - unmap_granularity specifies the granularity at which to track mapped blocks (specified in number of logical blocks). 2048 (1 MB) is a realistic value for disk arrays although some may have a finer granularity. - unmap_alignment specifies the first LBA which is naturally aligned on an unmap_granularity boundary. - unmap_max_desc specifies the maximum number of ranges that can be unmapped using one UNMAP command. If this is 0, only WRITE SAME is supported and UNMAP will cause a check condition. - unmap_max_blocks specifies the maximum number of blocks that can be unmapped using a single UNMAP command. Default is 0xffffffff. These parameters are reported in the new and extended block limits VPD. If unmap_granularity is specified the device is tagged as thin provisioning capable in READ CAPACITY(16). A bitmap is allocated to track whether blocks are mapped or not. A WRITE request will cause a block to be mapped. So will WRITE SAME unless the UNMAP bit is set. Blocks can be unmapped using either WRITE SAME or UNMAP. No accounting is done to track partial blocks. This means that only whole blocks will be marked free. This is how the array people tell me their firmwares work. GET LBA STATUS is also supported. This command reports whether a block is mapped or not, and how long the adjoining mapped/unmapped extent is. The block allocation bitmap can also be viewed from user space via: /sys/bus/pseudo/drivers/scsi_debug/map Signed-off-by: Martin K. Petersen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f57e4502cea471c69782d4790c71d8414ab49a9d Author: Martin K. Petersen Date: Thu Oct 15 14:43:23 2009 -0400 [SCSI] scsi: Add missing command definitions Add definitions for UNMAP, WRITE SAME{16,32} and GET LBA STATUS commands. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 54a3b30e758ec90c5cf860637e28b2d1142af18e Author: Giridhar Malavali Date: Tue Oct 13 15:16:53 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k7 Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 0f00a206ccb1dc644b6770ef25f185610fee6962 Author: Lalit Chandivade Date: Tue Oct 13 15:16:52 2009 -0700 [SCSI] qla2xxx: Properly handle UNDERRUN completion statuses. Correct issues where the lower scsi-status would be improperly cleared, instead, allow the midlayer to process the status after the proper residual-count checks are performed. Finally, validate firmware status flags prior to assigning values from the FCP_RSP frame. Signed-off-by: Lalit Chandivade Signed-off-by: Michael Hernandez Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 531a82d1bd73152130b9e3b1f3e2e875c6cff7cd Author: Andrew Vasquez Date: Tue Oct 13 15:16:51 2009 -0700 [SCSI] qla2xxx: Properly re-register FC4/FDMI after physical and logical link disruptions. Original code would not register FC4 nor FDMI information after a logical tear-down of an VFC link. Code now triggers registration date during processing of a 'Report ID Acquisition IOCB', which is submitted after a FLOGI or FDISC completes. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 9ca1d01f7aa035553501a34054ea17e7537eb07e Author: Andrew Vasquez Date: Tue Oct 13 15:16:50 2009 -0700 [SCSI] qla2xxx: Properly check FCP_RSP response-info field after TMF completion. Original code discarded response-info field information and assumed the command completed successfully without verifying the target's status within the FCP_RSP packet. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit f3a0a77e8df2f5c78648ce5971176e610dbc35c0 Author: Andrew Vasquez Date: Tue Oct 13 15:16:49 2009 -0700 [SCSI] qla2xxx: Retrieve firmware's maximum number of supported FCFs. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit b5d0329f424df20c67d0d9ee979fbd2b8b5ed74d Author: Giridhar Malavali Date: Tue Oct 13 15:16:48 2009 -0700 [SCSI] qla2xxx: Set the size of the host buffer used to fetch DCBX and XGMAC parameters to 4K. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 29c5397fc1d28f9b75057644ce8e546671d2a9a9 Author: Lalit Chandivade Date: Tue Oct 13 15:16:47 2009 -0700 [SCSI] qla2xxx: Reread firmware versions information after an ISP abort. In some case, the MPI and PHY versions when retrieved after the Execute-FW mailbox-command are incorrect (255.255.255.255). Instead, query the information after the check for firmware ready is done in the abort ISP path. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit bdab23da71c36904693d276c8b28308dc94642aa Author: Andrew Vasquez Date: Tue Oct 13 15:16:46 2009 -0700 [SCSI] qla2xxx: Display additional mailbox registers during AEN handling. The mailbox register values may assist in debugging efforts. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 3420d36cac2f1d28fc99290de12dd66dfaf65d8e Author: Andrew Vasquez Date: Tue Oct 13 15:16:45 2009 -0700 [SCSI] qla2xxx: Add firmware-dump kobject uevent notification. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit f8ceafde6f5bf6b4b7087c7f5e9da1b2a5284a2e Author: Jing Huang Date: Fri Sep 25 12:29:54 2009 -0700 [SCSI] bfa: fixed checkpatch errors for bfad files This patch fixes checkpatch errors/warnings in bfad files. Signed-off-by: Jing Huang Signed-off-by: James Bottomley commit 677f4f64e4b2336682f0e15c69b206ade6f6b131 Merge: 4567c4a fedea67 Author: Russell King Date: Fri Dec 4 17:34:50 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 4567c4a89693416ccca02d32109bce967e9c1ade Merge: 602fd7c 19d6c13 Author: Russell King Date: Fri Dec 4 17:34:16 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable commit 602fd7c36728a04e61a442c9755e7d454501266c Merge: d7931d9 88d2704 Author: Russell King Date: Fri Dec 4 17:33:54 2009 +0000 Merge branch 'for-rmk' of git://git.fluff.org/bjdooks/linux into devel-stable Conflicts: arch/arm/Kconfig commit bc2c0303226ec716854d3c208c7f84fe7aa35cd7 Author: Ian Campbell Date: Fri Jun 5 11:58:37 2009 +0100 xen: try harder to balloon up under memory pressure. Currently if the balloon driver is unable to increase the guest's reservation it assumes the failure was due to reaching its full allocation, gives up on the ballooning operation and records the limit it reached as the "hard limit". The driver will not try again until the target is set again (even to the same value). However it is possible that ballooning has in fact failed due to memory pressure in the host and therefore it is desirable to keep attempting to reach the target in case memory becomes available. The most likely scenario is that some guests are ballooning down while others are ballooning up and therefore there is temporary memory pressure while things stabilise. You would not expect a well behaved toolstack to ask a domain to balloon to more than its allocation nor would you expect it to deliberately over-commit memory by setting balloon targets which exceed the total host memory. This patch drops the concept of a hard limit and causes the balloon driver to retry increasing the reservation on a timer in the same manner as when decreasing the reservation. Also if we partially succeed in increasing the reservation (i.e. receive less pages than we asked for) then we may as well keep those pages rather than returning them to Xen. Signed-off-by: Ian Campbell Cc: Stable Kernel commit 3d65c9488cadd2f11bd4d60c7266e639ece5d0d6 Author: Gianluca Guida Date: Thu Jul 30 22:54:36 2009 +0100 Xen balloon: fix totalram_pages counting. Change totalram_pages when a single page is added/removed to the ballooned list. This avoid totalram_pages to be set erroneously to max_pfn at boot. Signed-off-by: Gianluca Guida Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 846954b0a32f4ae953e082eabd178e7a98dd2efd Author: Vivek Goyal Date: Fri Dec 4 10:36:43 2009 -0500 blkio: Allow CFQ group IO scheduling even when CFQ is a module o Now issues of blkio controller and CFQ in module mode should be fixed. Enable the cfq group scheduling support in module mode. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 3e2520668970aab5a764044a298e987aafc1f63d Author: Vivek Goyal Date: Fri Dec 4 10:36:42 2009 -0500 blkio: Implement dynamic io controlling policy registration o One of the goals of block IO controller is that it should be able to support mulitple io control policies, some of which be operational at higher level in storage hierarchy. o To begin with, we had one io controlling policy implemented by CFQ, and I hard coded the CFQ functions called by blkio. This created issues when CFQ is compiled as module. o This patch implements a basic dynamic io controlling policy registration functionality in blkio. This is similar to elevator functionality where ioschedulers register the functions dynamically. o Now in future, when more IO controlling policies are implemented, these can dynakically register with block IO controller. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 9d6a986c0b276085f7944cd8ad65f4f82aff7536 Author: Vivek Goyal Date: Fri Dec 4 10:36:41 2009 -0500 blkio: Export some symbols from blkio as its user CFQ can be a module o blkio controller is inside the kernel and cfq makes use of interfaces exported by blkio. CFQ can be a module too, hence export symbols used by CFQ. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit b69f2292063d2caf37ca9aec7d63ded203701bf3 Author: Louis Rilling Date: Fri Dec 4 14:52:42 2009 +0100 block: Fix io_context leak after failure of clone with CLONE_IO With CLONE_IO, parent's io_context->nr_tasks is incremented, but never decremented whenever copy_process() fails afterwards, which prevents exit_io_context() from calling IO schedulers exit functions. Give a task_struct to exit_io_context(), and call exit_io_context() instead of put_io_context() in copy_process() cleanup path. Signed-off-by: Louis Rilling Signed-off-by: Jens Axboe commit 61cc74fbb87af6aa551a06a370590c9bc07e29d9 Author: Louis Rilling Date: Fri Dec 4 14:52:41 2009 +0100 block: Fix io_context leak after clone with CLONE_IO With CLONE_IO, copy_io() increments both ioc->refcount and ioc->nr_tasks. However exit_io_context() only decrements ioc->refcount if ioc->nr_tasks reaches 0. Always call put_io_context() in exit_io_context(). Signed-off-by: Louis Rilling Signed-off-by: Jens Axboe commit 86e1d57e4f24ca27ce813bdc2afaac4adafcbaf4 Merge: baf9226 ac2c92e Author: Takashi Iwai Date: Fri Dec 4 16:22:45 2009 +0100 Merge branch 'topic/hda' into for-linus commit baf9226667734579e344f612ed39f727079cad51 Merge: 57648cd 43f0de8 Author: Takashi Iwai Date: Fri Dec 4 16:22:41 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 57648cd52b1848c6885bdbd948d113d52f3ddd43 Merge: 7959832 fb716c0 Author: Takashi Iwai Date: Fri Dec 4 16:22:37 2009 +0100 Merge branch 'topic/misc' into for-linus commit 79598324838a25cc378ecbb8c29dd1e3d3951d35 Merge: 8ee763b b00615d Author: Takashi Iwai Date: Fri Dec 4 16:22:32 2009 +0100 Merge branch 'topic/core-change' into for-linus commit 2fc42814d8a9dd757abc7f80fbf11e9247e97d40 Merge: c6baa19 29cb8d0 Author: Russell King Date: Fri Dec 4 15:00:08 2009 +0000 Merge branch 'pending-dma-streaming' (early part) into devel commit c6baa1963c2a76ffdb157e8b9a5a55b30046b125 Merge: 5cb2faa 26a26d3 Author: Russell King Date: Fri Dec 4 15:00:00 2009 +0000 Merge branch 'pending-dma-coherent' into devel commit 5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834 Merge: e0ee985 6060e8d Author: Russell King Date: Fri Dec 4 14:59:47 2009 +0000 Merge branch 'pending-misc' (early part) into devel commit 6060e8df517847bf445ebc61de7d4d9c7faae990 Author: Russell King Date: Sun Oct 25 14:12:27 2009 +0000 ARM: I-cache: flush executable mappings in flush_cache_range() Dirk Behme reported instability on ARM11 SMP (VIPT non-aliasing cache) caused by the dynamic linker changing protection on text pages to write GOT entries. The problem is due to an interaction between the write faulting code providing new anonymous pages which are incoherent with the I-cache due to write buffering, and the I-cache not having been invalidated. a4db94d plugs the hole with the data cache coherency. This patch provides the other half of the fix by flushing the I-cache in flush_cache_range() for VM_EXEC VMAs (which is what we have when the region is being made executable again.) This ensures that the I-cache will be up to date with the newly COW'd pages. Note: if users are writing instructions, then they still need to use the ARM sys_cacheflush API to ensure that the caches are correctly synchronized. Signed-off-by: Russell King commit ea201dbb78651c71c56e440b8b3132906bc7456d Author: Russell King Date: Sun Oct 25 14:31:40 2009 +0000 ARM: I-cache: avoid flushing in flush_cache_mm() flush_cache_mm() is called in two cases: 1. when a process exits, just before the page tables are torn down. We can allow the stale lines to evict themselves over time without causing any harm. 2. when a process forks, and we've allocated a new ASID. The instruction cache issues are dealt with as pages are brought into the new process address space. Flushing the I-cache here is therefore unnecessary. However, we must keep the VIPT aliasing D-cache flush to ensure that any dirty cache lines are not written back after the pages have been reallocated for some other use - which would result in corruption. Signed-off-by: Russell King commit 9e95922b1016ac941db7edcf6b6088b3c2e916c8 Author: Russell King Date: Sun Oct 25 13:35:13 2009 +0000 ARM: I-cache: Add invalidation for VIVT ASID tagged caches Signed-off-by: Russell King commit 115b22474eb1905da2f606a057da3455833333d3 Author: Catalin Marinas Date: Tue Nov 24 18:54:07 2009 +0100 ARM: 5794/1: Flush the D-cache during copy_user_highpage() The I and D caches for copy-on-write pages on processors with write-allocate caches become incoherent causing problems on application relying on CoW for text pages (dynamic linker relocating symbols in a text page). This patch flushes the D-cache for such pages. Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f91fb05d826a43063fa0aa2ec30c23d3993a208d Author: Russell King Date: Sat Oct 24 23:05:34 2009 +0100 ARM: Remove __flush_icache_all() from __flush_dcache_page() Both call sites for __flush_dcache_page() end up calling __flush_icache_all() themselves, so having __flush_dcache_page() do this as well is wasteful. Remove the duplicated icache flushing. Signed-off-by: Russell King commit 2df341edf6b8a2db7f414d00faeadccbdd9844ab Author: Russell King Date: Sat Oct 24 22:58:40 2009 +0100 ARM: Move __flush_icache_all() out of flush_pfn_alias() Signed-off-by: Russell King commit 7b0a1003e780193e2a11c27f5059c26b65f60679 Author: Russell King Date: Sat Oct 24 14:11:59 2009 +0100 ARM: Reduce __flush_dcache_page() visibility Signed-off-by: Russell King commit e02f0e868a2664c1f5d72cd9a7fc08b4c4309169 Author: Justin P. Mattock Date: Fri Dec 4 00:36:35 2009 -0800 doc: Fix a typo in slub.txt. Signed-off-by: Justin P. Mattock Signed-off-by: Jiri Kosina commit 336e8683b9a8921049d0e6bb0ca5e18160828ec6 Author: Giuseppe Scrivano Date: Thu Dec 3 17:01:41 2009 +0100 inotify: remove superfluous return code check Signed-off-by: Giuseppe Scrivano Signed-off-by: Jiri Kosina commit 870571a2ef6fb2d6306673b4376fec93d441e013 Author: Rudy Matela Date: Wed Nov 25 10:20:20 2009 -0300 hdlc: spelling fix in find_pvc() comment Signed-off-by: Rudy Matela Signed-off-by: Jiri Kosina commit 1b35edaf9ff33ee44db24aa38060061927a89185 Author: Dr. David Alan Gilbert Date: Sun Nov 22 14:53:15 2009 +0000 doc: fix regulator docs cut-and-pasteism Minor copy-and-pasteism in the regulator docs (against git from today): Signed-off-by: Dave Gilbert Signed-off-by: Jiri Kosina commit 86185af927bebbb094f686ce5e3c908c7a418f4c Author: Krzysztof Halasa Date: Sun Nov 15 19:14:07 2009 +0100 mtd: Fix comment in Kconfig IXDP425 and Coyote aren't based on IXP2000 but on IXP425. Signed-off-by: Krzysztof Halasa Signed-off-by: Jiri Kosina commit bebd04cc4569844effbdae49c01a48e57fa77864 Author: Krzysztof Halasa Date: Sun Nov 15 18:57:24 2009 +0100 doc: Fix IRQ chip docs This patch updates the IRQ docs to match reality. Signed-off-by: Krzysztof Halasa Signed-off-by: Jiri Kosina commit af901ca181d92aac3a7dc265144a9081a86d8f39 Author: André Goddard Rosa Date: Sat Nov 14 13:09:05 2009 -0200 tree-wide: fix assorted typos all over the place That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: André Goddard Rosa Signed-off-by: Jiri Kosina commit 972b94ffb90ea6d20c589d9a47215df103388ddd Author: Krzysztof Halasa Date: Wed Nov 11 00:55:27 2009 +0100 drivers/ata/libata-sff.c: comment spelling fixes Comment spelling fixes and whitespace adjustment. Signed-off-by: Krzysztof Halasa Signed-off-by: Jiri Kosina commit e281d75e21ca4a876044d1dd5fa2f4336c7c43d0 Author: Davidlohr Bueso Date: Wed Nov 4 15:30:34 2009 -0300 fix typos/grammos in Documentation/edac.txt Trivial patch fixes some typos in the Documentation/edac.txt file. Acked-by: Doug Thompson Signed-off-by: Davidlohr Bueso Signed-off-by: Jiri Kosina commit 8a74770353d540d9b7641d22ea0401966f14cf2a Author: Thadeu Lima de Souza Cascardo Date: Fri Oct 30 18:03:39 2009 -0200 sysctl: add missing comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit be030e653f1f31b75684e0e9bca160f8dc7e7aa5 Author: Alberto Bertogli Date: Sat Oct 31 18:26:52 2009 -0300 fs/debugfs/inode.c: fix comment typos Signed-off-by: Alberto Bertogli Signed-off-by: Jiri Kosina commit 96c085db0a0f22895917f09cf942853186b892fd Author: Thiago Farina Date: Sun Nov 1 16:47:35 2009 -0500 sgivwfb: Make use of ARRAY_SIZE. Cleanup the usage of DBE_VT_SIZE since the kernel already defines the same macro for the same propose. Also clean up a surrounding whitespaces. Signed-off-by: Thiago Farina Signed-off-by: Jiri Kosina commit 809aaaae162e58696c61e1d0c156cfe16bd309e2 Author: Brandon Philips Date: Thu Oct 29 17:01:49 2009 -0700 sky2: fix sky2_link_down copy/paste comment error Fix copy/paste comment error from sky2_link_up to sky2_link_down. Signed-off-by: Brandon Philips Signed-off-by: Jiri Kosina commit fbfecd3712f917ca210a55c157233d88b785896b Author: Uwe Kleine-König Date: Wed Oct 28 20:11:04 2009 +0100 tree-wide: fix typos "couter" -> "counter" This patch was generated by git grep -E -i -l 'couter' | xargs -r perl -p -i -e 's/couter/counter/' Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit bf48aabb894fd0639ab72a26e8abbd7683ef23c2 Author: Uwe Kleine-König Date: Wed Oct 28 20:11:03 2009 +0100 tree-wide: fix typos "offest" -> "offset" This patch was generated by git grep -E -i -l 'offest' | xargs -r perl -p -i -e 's/offest/offset/' Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit fb3d38b9904888aa8e36d88b2388dc70934b2169 Author: Liuweni Date: Mon Nov 2 15:55:03 2009 +0100 fix kerneldoc for set_irq_msi() Signed-off-by: Liuweni Signed-off-by: Jiri Kosina commit 137f1188ef2747e987cbb469e6a54dde3350cb51 Author: Thadeu Lima de Souza Cascardo Date: Thu Oct 22 17:34:29 2009 -0200 spidev: fix double "of of" in comment Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 83cf0a9b86ba12664ab0648f5afb118c981371e9 Author: Jean Delvare Date: Tue Oct 20 11:11:52 2009 +0200 comment typo fix: sybsystem -> subsystem Signed-off-by: Jean Delvare Signed-off-by: Jiri Kosina commit f1970c48ef06ece4e23765501976507ab52b0edd Author: Felipe Contreras Date: Mon Oct 19 01:54:29 2009 +0300 ipc: fix unused variable warning Commit a0d092f introduced the following warning: ipc/msg.c: In function ?msgctl_down?: ipc/msg.c:415: warning: ?msqid64? may be used uninitialized in this function The gcc warning in this case is actually bogus, as msqid64 is touched only iff cmd == IPC_SET, and in such case, copy_msqid_from_user() initializes it properly. Signed-off-by: Felipe Contreras Signed-off-by: Jiri Kosina commit e9de25dda359c9272998daddeae7788376a44e41 Author: Peng Tao Date: Mon Oct 19 14:48:13 2009 +0800 mm: fix comments for invalidate_inode_pages2() invalidate_inode_pages2() returns -EBUSY *NOT* -EIO if any pages could not be invalidated. Signed-off-by: Peng Tao Signed-off-by: Jiri Kosina commit 1e04b7ae709d19d5c9f69c64e1e30253018ce102 Author: Thadeu Lima de Souza Cascardo Date: Thu Oct 15 16:44:00 2009 -0300 sdio_uart: coding style fixes Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 94e2bd688820aed72b4f8092f88c2ccf64e003de Author: Thadeu Lima de Souza Cascardo Date: Fri Oct 16 15:20:49 2009 +0200 tree-wide: fix some typos and punctuation in comments fix some typos and punctuation in comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 65cb76baa1058d17d51ce948b697cdbd5dc97421 Author: Ozan Çağlayan Date: Tue Oct 13 08:37:09 2009 +0300 ehci-hcd: Fix typo in an error message The correct word is handshake. Signed-off-by: Ozan Çağlayan Signed-off-by: Jiri Kosina commit cb711a1931363b8ad4dc98df4a92c262ced8eeb4 Author: Wim Van Sebroeck Date: Sun Nov 15 13:44:54 2009 +0000 [WATCHDOG] iTCO_wdt.c - cleanup chipset documentation Cleanup the documentation about the supported chipsets. Signed-off-by: Wim Van Sebroeck commit 79e8941dda254505bb8af37b3a009165dfb7e98a Author: Seth Heasley Date: Wed Nov 11 02:24:01 2009 +0100 [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak Add the Intel Ibex Peak (PCH) Device IDs to iTCO_wdt.c. Signed-off-by: Seth Heasley Signed-off-by: Wim Van Sebroeck commit e02f838eedef1533f7a1bcf21fe724c3c93093f9 Author: Ben Dooks Date: Fri Oct 30 00:30:25 2009 +0000 [WATCHDOG] CPUFREQ: S3C24XX Watchdog frequency scaling support. Add support for CPU frequency scaling to the S3C24XX Watchdog driver. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit fedea672a3aab3b99d03e69805ee423c73af1961 Author: Robert Schwebel Date: Thu Dec 3 20:30:34 2009 +0100 mx31moboard: fix typo Currently, linux-next breaks due to a typo introduced in commit 33c4d91928bea4444b067e620496befbeb87029c This patch fixes it. Signed-off-by: Robert Schwebel Cc: Valentin Longchamp Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 3c764b7a654668dd04905841d6024f7b6aa843a5 Author: Shaohua Li Date: Fri Dec 4 13:12:06 2009 +0100 cfq-iosched: make nonrot check logic consistent cfq_arm_slice_timer() has logic to disable idle window for SSD device. The same thing should be done at cfq_select_queue() too, otherwise we will still see idle window. This makes the nonrot check logic consistent in cfq. Tests in a intel SSD with low_latency knob close, below patch can triple disk thoughput for muti-thread sequential read. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 06a5bad898b332b8c6525fc8c4d1c1c9a8df65de Author: Curtis Wald Date: Fri Dec 4 07:10:26 2009 -0500 powerpc/44x: Fix PCI node in Yosemite DTS The stanza for PCI was copied from Bamboo which has four PCI slots. Yosemite only has one PCI slot which is mapped to IDSEL 12, ADDR 22, IRQ2 Vector 25, INTA. Signed-off-by: Curtis Wald Signed-off-by: Josh Boyer commit 2e991cfa9b9b508725a7b56174b6aade895772b2 Author: pbathija@amcc.com Date: Mon Nov 23 13:06:13 2009 +0000 powerpc/44x: Fix DMA ranges in DTS file for Katmai board. Set PCI-E node inbound DMA ranges size to 4GB for correct boot up of Katmai. Signed-off-by: Pravin Bathija Acked-by: Feng Kan Acked-by: Prodyut Hazarika Acked-by: Loc Ho Acked-by: Tirumala Reddy Marri Acked-by: Victor Gallardo Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 43f0de8d0298e624e6c3bf2185b6003a59b331bd Author: Mark Brown Date: Fri Nov 27 16:43:53 2009 +0000 S3C64XX: Staticise platform data for PCM devices The symbols aren't declared and don't need to be exported, they go along with the device structure. Signed-off-by: Mark Brown Acked-by: Ben Dooks commit 3482594802d80a595ca50b16d3a25bcc1eb480c8 Author: Joonyoung Shim Date: Fri Dec 4 15:12:10 2009 +0900 ASoC: Rename controls with a / in wm_hubs This renames from a character / to : of controls. A / occurs below error messages. ASoC: Failed to create IN2RP/VXRP debugfs file ASoC: Failed to create IN2LP/VXRN debugfs file Signed-off-by: Joonyoung Shim Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 237e5bc4e51813e9d8ba9da0f63e7acc608882d7 Author: Jens Axboe Date: Fri Dec 4 10:07:38 2009 +0100 io controller: quick fix for blk-cgroup and modular CFQ It's currently not an allowed configuration, so express that in Kconfig. Signed-off-by: Jens Axboe commit f2eecb91522686edf8199947b77f435a4031d92f Author: Jens Axboe Date: Fri Dec 4 10:06:35 2009 +0100 cfq-iosched: move IO controller declerations to a header file They should not be declared inside some other file that's not related to CFQ. Signed-off-by: Jens Axboe commit 6a5a0b9139b19dd1a107870269a35bc9cf18d2dc Author: Magnus Damm Date: Fri Dec 4 06:42:35 2009 +0000 sh: include empty zero page in romImage This patch updates the romImage code to include the empty_zero_page contents from vmlinux. Without this patch the empty zero page is lef uninitialized. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7705d548cbe33f18ea7713b9a07aa11047aaeca4 Author: Dmitry Torokhov Date: Thu Dec 3 23:21:14 2009 -0800 Input: psmouse - do not carry DMI data around DMI tables use considerable amount of memory. Mark them as __initconst so they will be discarded once module is loaded. Signed-off-by: Dmitry Torokhov commit 6e8a0d11a088ed51b1b649d3a1127a7bda3700a0 Author: Paul Mundt Date: Fri Dec 4 16:22:11 2009 +0900 sh: Make associative cache writes fatal on all SH-4A parts. Now that associative cache writes are no longer needed by the SH-4/SH-4A cache flush code, associative write support can be explicitly disabled for all SH-4A parts. This makes any associative write throw an exception, as this behaviour can not be assumed to exist on future parts. Signed-off-by: Paul Mundt commit a781d1e5ff6277f80ff3c9503775521bc64cf131 Author: Matt Fleming Date: Fri Dec 4 16:18:11 2009 +0900 sh: Drop associative writes for SH-4 cache flushes. When flushing/invalidating the icache/dcache via the memory-mapped IC/OC address arrays, the associative bit should only be used in conjunction with virtual addresses. However, we currently flush cache lines based on physical address, so stop using the associative bit. It is a better strategy to use non-associative writes (and physical tags) for flushing the caches anyway, because flushing by virtual address (as with the A-bit set) requires a valid TLB entry for that virtual address. If one does not exist in the TLB no exception is generated and the flush is silently ignored. This is also future-proofing for SH-4A parts which are gradually phasing out associative writes to the cache array due to the aforementioned case of certain flushes silently turning in to nops. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit f72a28aba92d5a599c8a772e443aa8f079b3091f Author: Dmitry Torokhov Date: Thu Dec 3 22:24:15 2009 -0800 Input: matrix-keypad - switch to using dev_pm_ops Acked-by: Rafael J. Wysocki Signed-off-by: Dmitry Torokhov commit 7e01c949989b984c074469e04ab99c47367c7187 Author: Paul Mundt Date: Fri Dec 4 15:14:52 2009 +0900 sh: Partial revert of copy/clear_user_highpage() optimizations. These still require more testing, so revert them for now. We keep the off-by-1 in the fixmap colouring and drop the rest. Signed-off-by: Paul Mundt commit 6afaf8a484cbbfd2ccf58a4e5396d1f280469789 Author: Sebastian Andrzej Siewior Date: Sun Nov 29 19:46:02 2009 +0100 UBI: flush wl before clearing update marker ubiupdatevol -t does the following: - ubi_start_update() - set_update_marker() - for all LEBs ubi_eba_unmap_leb() - clear_update_marker() - ubi_wl_flush() ubi_wl_flush() physically erases all PEB, once it returns all PEBs are empty. clear_update_marker() has the update marker written after return. If there is a power cut between the last two functions then the UBI volume has no longer the "update" marker set and may have some valid LEBs while some of them may be gone. If that volume in question happens to be a UBIFS volume, then mount will fail with |UBIFS error (pid 1361): ubifs_read_node: bad node type (255 but expected 6) |UBIFS error (pid 1361): ubifs_read_node: bad node at LEB 0:0 |Not a node, first 24 bytes: |00000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff if there is at least one valid LEB and the wear-leveling worker managed to clear LEB 0. The patch waits for the wl worker to finish prior clearing the "update" marker on flash. The two new LEB which are scheduled for erasing after clear_update_marker() should not matter because they are only visible to UBI. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Artem Bityutskiy Cc: stable@kernel.org commit 8144a7dd51712ab58d052f4df4420768ec5489ef Author: Paul Mundt Date: Fri Dec 4 13:57:40 2009 +0900 sh: Add default uImage rule for se7724, ap325rxa, and migor. Signed-off-by: Paul Mundt commit a65d0d79c49ca6e220f770e49416e924fd9ecaec Author: Magnus Damm Date: Thu Dec 3 12:31:45 2009 +0000 sh: allow runtime pm without suspend/resume callbacks This patch updates the Runtime PM code for SuperH Mobile to allow drivers to have NULL as pm or callback value. With this in place there is no need for no-op functions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1c2e36cc9bbd60b8ba1eaa0768da57cf7f7cc570 Author: Kuninori Morimoto Date: Wed Dec 2 09:36:18 2009 +0000 sh: mach-ecovec24: Remove un-defined settings for VPU The setting of VPU need not be changed from default. And current setting value is not defined on SH7724 Reported-by: Goda Yusuke Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 82b33221784850c32831826619546b848997d80e Author: Kuninori Morimoto Date: Wed Dec 2 09:35:42 2009 +0000 sh: mach-ecovec24: LCDC drive ability become high Drive ability for LCDC become high for safety, became there is strange individual specificity board in mass production Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 7e213481d606e41ffb917e42eb88b1586333444b Author: Magnus Damm Date: Tue Dec 1 13:38:52 2009 +0000 sh: fix sh7724 VEU3F resource size Fix one-off VEU3F size error for sh7724. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b1516803d5274386256bef4972dfbf8c9eed5165 Author: Guennadi Liakhovetski Date: Tue Dec 1 09:54:46 2009 +0000 serial: sh-sci: Fix too early port disabling. Currently serial ports on SH CPUs get disabled too early, because the sci_tx_empty() routine claims to not be able to detect whether the transmission has been completed and just always returns TIOCSER_TEMT. This results in corrupt output of last characters if the port is not open for reading at the same time. It is however possible to detect whether transmission has been completed. Use the TEND bit of the status register for this. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit aa1a750ecb3412f69fe34081b249aa978154f360 Author: Dave Airlie Date: Fri Dec 4 11:51:34 2009 +1000 drm/radeon/kms: quirk for Gigabyte RV515 card, DVI+VGA not 2xDVI. Similiar to other quirks for RV515, this card has no second DVI port. Signed-off-by: Dave Airlie commit 96c612427edab65dddd88ad61d732501cc5f128d Author: Steven King Date: Fri Nov 13 12:18:37 2009 -0800 m68knommu: export clk_* symbols in clk.c export the clk_* stubs defined in arch/m68knommu/platform/coldfire/clk.c so they can be used by modules. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 53749f735a5b79156b56e75ee379be9e299b5e4b Author: Tim Abbott Date: Sun Oct 18 13:23:55 2009 -0400 m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 995bcd3dc1924095ddda45d0f8ece6bf6124d74e Author: Tim Abbott Date: Sun Oct 18 13:23:54 2009 -0400 m68knommu: Move __init_end out of the .init section. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit a90a44ee901a1892473864d1a6c267dd04f2c96d Author: Tim Abbott Date: Sun Oct 18 13:23:53 2009 -0400 m68knommu: Move __init_begin out of the .init section. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 84bd75715509c862eb9f536c4181dfa2b6d408dc Author: Tim Abbott Date: Sun Oct 18 13:23:52 2009 -0400 m68knommu: Use more macros inside the .init section. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 49612a5fa574227db9eb14b0dd4befcf4e273a73 Author: Tim Abbott Date: Sun Oct 18 13:23:51 2009 -0400 m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit d6cd1f0c38c9820472fb898cb6fa1b3fc42a85a8 Author: Tim Abbott Date: Sun Oct 18 13:23:50 2009 -0400 m68knommu: Make THREAD_SIZE available to assembly files. Signed-off-by: Tim Abbott Cc: Greg Ungerer Signed-off-by: Greg Ungerer commit f4bed4fb17417085d00e4fd1dc285db0330e5945 Author: Tim Abbott Date: Sun Oct 18 13:23:49 2009 -0400 m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 10f204e5ad4e0c72aa007c00cb76c1d5a577032d Author: Greg Ungerer Date: Fri Oct 30 14:58:58 2009 +1000 m68knommu: rename BSS define in linker script The "BSS" define name now used in asm-generic/vmlinux.lds.h (introduced in commit ef53dae8658cf0e93d380983824a661067948d87) clashes with the internal "BSS" define in the m68knommu vmlinux.lds.S linker script. So rename it. Signed-off-by: Greg Ungerer commit c23b6538d08c8da5e401b8d7c912b322e8ec9c26 Author: Greg Ungerer Date: Tue Jul 7 15:32:08 2009 +1000 m68knommu: add a task_pt_regs() macro Add a task_pt_regs() macro as per the CONFIG_UTRACE requirements. Signed-off-by: Greg Ungerer commit 193f087d492c566a211d01942c0f6b395f34f2ab Author: Greg Ungerer Date: Tue Jul 7 15:54:54 2009 +1000 m68knommu: define arch_has_single_step() and friends Towards adding CONFIG_UTRACE support for non-mmu m68k add arch_has_single_step, and its support functions user_enable_single_step() and user_disable_single_step(). Signed-off-by: Greg Ungerer commit 588baeac38829304390b690142376d2c71ac5c9f Author: Lennart Sorensen Date: Fri Sep 18 13:49:36 2009 -0400 m68knommu: add uboot commandline argument passing support This patch adds m68knommu support for getting the kernel command line arguments from uboot, including the passing of an initrd image from uboot. We use this on a 5270/5271 based board, and have used it on the 5271evb development board. It is based on a patch found in the linux-2.6-denx git tree, although that tree seems to have had lots of other changes since which are not in the main Linus kernel. I believe this will work on all coldfires, although other m68knommu might be missing the _init_sp stuff in head.S as far as I can tell. I only have the coldfire to test on. Signed-off-by: Lennart Sorensen Signed-off-by: Greg Ungerer commit b0d22d66fd485316653b8db4c16139eeae5a0266 Author: Steven King Date: Thu Oct 15 12:54:41 2009 -0700 m68knommu: Coldfire GPIO corrections Pin 0 of the EPORT is not connected on the 523x, 5271, 5275 and 528x and the TIMER on the 523x has 8 pins, not 4. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit d6f80e3a2a8c49f3e9c350b15f510c6eb8c1770d Author: Uwe Kleine-König Date: Thu Oct 1 10:28:15 2009 +0200 m68knommu: move mcf_remove to .devexit.text The function mcf_remove is used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Uwe Kleine-König Cc: Len Sorensen Cc: Greg Kroah-Hartman Cc: Alan Cox Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Ungerer commit df11303c90406426847255ba498607f15a472a0a Author: Konrad Rzeszutek Wilk Date: Thu Dec 3 10:31:57 2009 -0500 xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. In Xen-paravirt mode, VM_IO flag signifies that the page frame number (PFN) is actually a machine frame number (MFN). This is correct for memory backed by PCI devices, but wrong for memory allocated from System RAM where the PFN != MFN. During page faults, pages with VM_IO, get assigned to special domain I/O domain and as said, the PFN is interpreted as MFN. When Xen hypervisor modifies the PTE it interprets the PFN as the MFN, complains and fails the PTE modification. The end result is an infinitive page fault in the domain. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge commit a9b5ff99c34e3f6ca7ad7fa01deba2df1108465e Author: Konrad Rzeszutek Wilk Date: Thu Dec 3 10:31:58 2009 -0500 fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. The framebuffers (screenbase) these drivers present are actually vmalloc-ed pages. There is no need for them to have the VM_IO flag set. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge Acked-by: Jaya Kumar commit 7164bb4393cef668d3da281fa1c599a6673ea768 Author: Konrad Rzeszutek Wilk Date: Thu Dec 3 10:31:56 2009 -0500 fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag. Most users (except sh_mobile_lcdcfb.c) get their framebuffer from vmalloc. Setting VM_IO is not necessary as the memory obtained from vmalloc is System RAM type and is not susceptible to PCI memory constraints. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge Acked-by: Jaya Kumar commit 0088dbdb809e8799cb8f26da5ac64b15201fa99d Author: Alex Deucher Date: Thu Dec 3 16:28:02 2009 -0500 drm/radeon/kms: rs6xx/rs740: clamp vram to aperture size Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 722f29434e72188b2d20f9b41f4b5952073ed568 Author: Alex Deucher Date: Thu Dec 3 16:18:19 2009 -0500 drm/radeon/kms: fix vram setup on rs600 also fix up rs690 mem width. should fix fdo bug 25408 Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 8de21525439e6b5bb8d8c81e49094d867bf82f6d Author: Alex Deucher Date: Thu Dec 3 12:15:54 2009 -0500 drm/radeon/kms: fix legacy crtc2 dpms noticed by Matthijs Kooijman on fdo bug 22140 Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 500b758725314ab1b5316eb0caa5b0fa26740e6b Author: Alex Deucher Date: Wed Dec 2 11:46:52 2009 -0500 drm/radeon/kms: handle vblanks properly with dpms on avivo chips Copied from pre-avivo code. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 4e3f9b78ff917cc5c833858fdb5d96bc262e0bf3 Author: Alex Deucher Date: Tue Dec 1 14:49:50 2009 -0500 drm/radeon/kms: Add quirk for HIS X1300 board Board is DVI+VGA, not DVI+DVI Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 4c4f5413c3208da7621cd29baac1fbdca89181b2 Author: Alex Deucher Date: Wed Dec 2 00:59:37 2009 -0500 drm/radeon/kms: don't use bios dividers for lvds on r4xx R4xx cards don't have lvds pll dividers since they use atom. should fix rh bug 541562 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d684076627a4561ea698bf7652a1a1baabdcdbdc Author: Rafał Miłecki Date: Tue Nov 10 22:26:21 2009 +0100 drm/radeon/kms: fix ring info in debugfs on r600+ Signed-off-by: Rafał Miłecki Acked-by: Jerome Glisse Signed-off-by: Dave Airlie commit 93e7de7b37cb6c75032007e5b84e1305f1705485 Author: Rafał Miłecki Date: Wed Nov 4 23:34:10 2009 +0100 drm/radeon/kms: fix typo in define: engine -> memory Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit c142c3e5e3e826bdeca77062ec44be558ff2f6b9 Author: Rafał Miłecki Date: Fri Nov 6 11:38:34 2009 +0100 drm/radeon/kms/pm: fix typos Unit typo noticed by taiu on IRC Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 01d01ba947670cf58f22119fc126fdf39078f6ba Author: Dave Airlie Date: Fri Dec 4 10:18:02 2009 +1000 drm/mm: fixup typo in debug functions. Free and used were reversed. Signed-off-by: Dave Airlie commit 47e1c323069bcef0acb8a2b48921688573f5ca63 Author: Eric Dumazet Date: Thu Dec 3 00:49:01 2009 +0000 tcp: fix a timewait refcnt race After TCP RCU conversion, tw->tw_refcnt should not be set to 1 in inet_twsk_alloc(). It allows a RCU reader to get this timewait socket, while we not yet stabilized it. Only choice we have is to set tw_refcnt to 0 in inet_twsk_alloc(), then atomic_add() it later, once everything is done. Location of this atomic_add() is tricky, because we dont want another writer to find this timewait in ehash, while tw_refcnt is still zero ! Thanks to Kapil Dakhane tests and reports. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 13475a30b66cdb9250a34052c19ac98847373030 Author: Eric Dumazet Date: Wed Dec 2 22:31:19 2009 +0000 tcp: connect() race with timewait reuse Its currently possible that several threads issuing a connect() find the same timewait socket and try to reuse it, leading to list corruptions. Condition for bug is that these threads bound their socket on same address/port of to-be-find timewait socket, and connected to same target. (SO_REUSEADDR needed) To fix this problem, we could unhash timewait socket while holding ehash lock, to make sure lookups/changes will be serialized. Only first thread finds the timewait socket, other ones find the established socket and return an EADDRNOTAVAIL error. This second version takes into account Evgeniy's review and makes sure inet_twsk_put() is called outside of locked sections. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff Author: Suresh R Date: Thu Dec 3 16:15:52 2009 -0800 be2net: Add support for ethtool self test This patch adds support for ethtool selftest. From: Suresh R Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 49d09007879ce7bee36ab453c73e97c00adce884 Author: Eric Dumazet Date: Thu Dec 3 16:06:13 2009 -0800 tcp: diag: Dont report negative values for rx queue Both netlink and /proc/net/tcp interfaces can report transient negative values for rx queue. ss -> State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB -6 6 127.0.0.1:45956 127.0.0.1:3333 netstat -> tcp 4294967290 6 127.0.0.1:37784 127.0.0.1:3333 ESTABLISHED This is because we dont lock socket while computing tp->rcv_nxt - tp->copied_seq, and another CPU can update copied_seq before rcv_next in RX path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3320eae51d6e4c65b4733bf4d87de3b833973a1f Author: Tristram Ha Date: Thu Dec 3 11:06:42 2009 +0000 net: Fix ks8851 snl NULL pointer dereference Oops This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run. Signed-off-by: Tristram Ha Signed-off-by: David S. Miller commit fc4a7489663250360cd40d5adf06a08d1c5d54df Author: Patrick Mullaney Date: Thu Dec 3 15:59:22 2009 -0800 netdevice: provide common routine for macvlan and vlan operstate management Provide common routine for the transition of operational state for a leaf device during a root device transition. Signed-off-by: Patrick Mullaney Acked-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 012093f6d5d89e6ed6e89c55c383f84b1cff7a78 Author: Michael Chan Date: Thu Dec 3 15:58:00 2009 -0800 bnx2: Refine VPD logic. - Replace magic values with constants - Simplify length calculation and fix a bug Based on valuable feedback from Ben Hutchings Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b471446cb376e2d1a4ceb4695059acfc3437f32 Author: Jesse Brandeburg Date: Thu Dec 3 11:33:54 2009 +0000 ixgbe: use EIAM to automask MSI-X when disabling interrupts, driver was writing with IO, this is no necessary because on ixgbe parts the hardware can "oneshot" disable and clear the interrupt. So on 82598/82599 use of EIAM should avoid one posted write per interrupt when in MSI-X mode. This should improve performance and seems to in my limited testing, reduce CPU utilization VERY slightly. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7ca3bc582cd24c2e6c0693a2ba2c71f3c2419c8b Author: Jesse Brandeburg Date: Thu Dec 3 11:33:29 2009 +0000 ixgbe: performance tweaks drop variables that had cache lines modified in simultaneous hot paths. keep some variables modified on hot paths but make their storage per queue. cache align DMA data buffer start addresses. cache align (padding) some structures that end within a cacheline. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6bacb3007928deeb30ddd2a3b6d5011bc7e5a01f Author: Jesse Brandeburg Date: Thu Dec 3 11:33:07 2009 +0000 ixgbe: change default ring size decrease the memory utilization of the tx / rx queue allocation by changing the default ring size to 512 (from 1024). At 1024 rx entries of 2KB each (from 4kB slab) with 16 queues ixgbe was using 64 MB of memory per port, which is not necessary. Users can still change queue lengths with ethtool -k. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5f715823a0f54ed010af9a27677ff8e992d745e8 Author: Yi Zou Date: Thu Dec 3 11:32:44 2009 +0000 ixgbe: select FCoE Tx queue in ndo_select_queue This removes the Tx queue selection for FCoE traffic from ixgbe_xmit_frame() and does it in the ndo_select_queue() call, moving all Tx queue selection into a single routine. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61a0f421ceccd52d0d893daf743b04c225ba5ef0 Author: Yi Zou Date: Thu Dec 3 11:32:22 2009 +0000 ixgbe: use known user priority for FCoE when DCB is enabled Store the user priority for FCoE and use it directly for outgoing FCoE traffic when DCB is enabled. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 69ee472f2706371ca639de49b06df91615c07d8d Author: Oliver Neukum Date: Thu Dec 3 15:31:18 2009 -0800 usbnet & cdc-ether: Autosuspend for online devices Using remote wakeup and delayed transmission to allow online device to go into usb autosuspend. Minimal alternate support for devices that don't support remote wakeup. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 884840aa3ce3214259e69557be5b4ce0d781ffa4 Author: Jakob Bornecrantz Date: Thu Dec 3 23:25:47 2009 +0000 drm: Add dirty ioctl and property This commit adds a ioctl and property to allow userspace to notify the kernel that a framebuffer has changed. Instead of snooping the command stream this allows finer grained tracking of which areas have changed. The primary user for this functionality is virtual hardware like the vmware svga device, but also Xen hardware likes to be notify. There is also real hardware like DisplayLink and DisplayPort that might take advantage of this ioctl. Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit 7f515790274d26d710303b7a1f23571ca93a6288 Author: Oliver Neukum Date: Thu Dec 3 11:41:07 2009 +0000 cdc-ether: Implement reset_resume() Normal resume can do double duty as reset_resume() for this driver as it keeps no state in the device Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit c3a73ba13bac7fd96030f39202b2d37fb19c46a6 Author: Martin Michlmayr Date: Thu Nov 19 16:29:45 2009 +0000 drm/ttm: Fix build failure due to missing struct page drm/ttm fails to build on MIPS because "struct page" is not known: | In file included from drivers/gpu/drm/ttm/ttm_memory.c:28: | include/drm/ttm/ttm_memory.h:154: warning: 'struct page' declared inside parameter list | include/drm/ttm/ttm_memory.h:154: warning: its scope is only this definition or declaration, which is probably not what you want | include/drm/ttm/ttm_memory.h:156: warning: 'struct page' declared inside parameter list | drivers/gpu/drm/ttm/ttm_memory.c:540: error: conflicting types for 'ttm_mem_global_alloc_page' | include/drm/ttm/ttm_memory.h:154: error: previous declaration of 'ttm_mem_global_alloc_page' was here | drivers/gpu/drm/ttm/ttm_memory.c:561: error: conflicting types for 'ttm_mem_global_free_page' | include/drm/ttm/ttm_memory.h:156: error: previous declaration of 'ttm_mem_global_free_page' was here Signed-off-by: Martin Michlmayr Cc: stable@kernel.org Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 46a79fa08a9a890a12cf9ec3ce51800911a907bf Author: Dan Carpenter Date: Sat Nov 28 12:30:32 2009 +0200 drm/ttm: fix small memory leak in ttm_memory.c I moved the allocation until after the check for (si->totalhigh == 0). Signed-off-by: Dan Carpenter Acked-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit d0634c4aea0b80447cbdc4c0db285004b860c455 Author: Martin K. Petersen Date: Thu Nov 26 12:00:43 2009 -0500 libata: Clarify ata_set_lba_range_entries function ata_set_lba_range_entries used the variable max for two different things which was confusing. Make the function take a buffer size in bytes as argument and return the used buffer size upon completion. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit e78db4dfb1355a895f7ea50133b702b55b8ed184 Author: Martin K. Petersen Date: Thu Nov 26 22:46:03 2009 -0500 libata: Report zeroed read after TRIM and max discard size Our current TRIM payload is a single sector that can accommodate 64 * 65535 blocks being unmapped. Report this value in the Block Limits Maximum Unmap LBA count field. If a storage device supports TRIM and the DRAT and RZAT bits are set, report TPRZ=1 in Read Capacity(16). Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 1a95916f5465ad6c91398f17924949db7e0b5c36 Author: Kristian Høgsberg Date: Wed Dec 2 12:13:48 2009 -0500 drm: Add compatibility #ifdefs for *BSD This let's use use the linux drm headers as the canonical source for libdrm on all platforms. Signed-off-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit 862302ffe422378a5213f558fc5cdf62c37050a9 Author: Thomas Hellstrom Date: Wed Dec 2 18:15:25 2009 +0000 drm: Add support for drm master_[set|drop] callbacks. The vmwgfx driver has a per master rw lock around TTM, to guarantee mutual exclusion when needed. This is typically when all evictable buffers are evicted due to 1) vt switch 2) master switch 3) suspend / resume. In the multi-master case, on master switch the new master takes the previously active master lock in write mode, and then evicts all buffers. Any clients to previous masters will then block on that lock when trying to validate a buffer. fbdev also acts as a virtual master wrt this. Signed-off-by: Thomas Hellstrom Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit d413ff3e2aa09a4ebef718dbc4be4356f879467f Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:09 2009 +0100 pata_hpt3x2n: fix overclocked MWDMA0 timing Remove superfluous timings table entry while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 9340d8cfeacd16cef1cbe94527f7baaed7640669 Author: Adam Jackson Date: Thu Dec 3 17:44:40 2009 -0500 drm/edid: Decode 3-byte CVT codes from EDID 1.4 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 2dbdc52c8162291aa7541b8ba6e1c1587f50c1dd Author: Adam Jackson Date: Thu Dec 3 17:44:39 2009 -0500 drm/edid: Add new detailed block types from EDID 1.4 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 07a5e6324abacad56a8e7bcb44dd404e84f75f57 Author: Adam Jackson Date: Thu Dec 3 17:44:38 2009 -0500 drm/edid: Add DMT modes to the pool if the monitor is GTF-capable See also: http://bugzilla.redhat.com/539785 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit fd87e792add54a5ab526e91e67107962f160ec70 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:53:27 2009 -0500 pata_it8213: MWDMA0 is unsupported Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 7ac96a9cb4982140e206bf3b58236efb2498ab3f Author: Adam Jackson Date: Thu Dec 3 17:44:37 2009 -0500 drm/modes: Add drm_mode_hsync() Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 9cf00977da092096c7a983276dad8b3002d23a99 Author: Adam Jackson Date: Thu Dec 3 17:44:36 2009 -0500 drm/edid: Unify detailed block parsing between base and extension blocks Also fix an embarassing bug in standard timing subblock parsing that would result in an infinite loop. Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 82563232c79c6f0099a02f7d2652ee7aee3fe9ba Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:52:16 2009 -0500 [libata] MWDMA0 is unsupported on PIIX-like PATA controllers MWDMA0 timings cannot be met with the PIIX based controller programming interface. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 88d27041cf4d36e499e2c54b6c44d9115ccf124a Author: Mark Brown Date: Fri Nov 27 16:43:54 2009 +0000 ARM: S3C6410: Correct names of IISv4 data output pin definitions The naming of the defines suggests that there are three IISv4 ports with one data line each when in fact there is a single IISv4 port with three data lines. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 009f742bded4cc7c89b901d59452fbfc0eb292c5 Merge: f18ea82 92b118f Author: Ben Dooks Date: Thu Dec 3 21:53:10 2009 +0000 ARM: Merge next-s3c64xx-updates Merge branch 'next-s3c64xx-updates' into for-rmk Conflicts: arch/arm/plat-s3c/dev-hsmmc2.c arch/arm/plat-s3c/include/plat/sdhci.h commit a7fca0ccecd3f5a111e08df8439f0b884099ad59 Merge: 424eff9 2861453 Author: David S. Miller Date: Thu Dec 3 13:51:02 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit f18ea8276bc6b0f8584c442905e9badc2acc8785 Merge: 3d4db84 1a71e4a Author: Ben Dooks Date: Thu Dec 3 21:33:01 2009 +0000 ARM: Merge next-s3c24xx-dev-rtp Merge branch 'next-s3c24xx-dev-rtp' into for-rmk Conflicts: arch/arm/mach-s3c2440/mach-anubis.c commit 3d4db84cee590dbf5b5fa49d8bcd9e1c60f2a4b5 Merge: 0c31862 ccae941 Author: Ben Dooks Date: Thu Dec 3 21:31:20 2009 +0000 ARM: Merge next-s3c24xx-simtec Merge branch 'next-s3c24xx-simtec' into for-rmk commit 4e5b932c829e9a6bf32ec80c6e1ce60121eef124 Merge: a6c872a f9288e1 Author: David S. Miller Date: Thu Dec 3 13:25:13 2009 -0800 Merge branch 'ide-dcr' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/misc commit 424eff975192553a9ea8bfd51bf65039ffb356ef Merge: 55dbabe 3666ed1 Author: David S. Miller Date: Thu Dec 3 13:23:12 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 55dbabee63462a455d8fb57caf08b69db256b012 Author: Michael Chan Date: Thu Dec 3 09:46:35 2009 +0000 bnx2: Update version to 2.0.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 76d9906170259b581691c3cec6bc5d4ab3aaaede Author: Michael Chan Date: Thu Dec 3 09:46:34 2009 +0000 bnx2: Read firmware version from VPD. And display it through ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b929e53cb7796a8abe47174dfdfdf90cbb65a8bf Author: Michael Chan Date: Thu Dec 3 09:46:33 2009 +0000 bnx2: Print warning when unable to allocate the full SKB/page ring. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 20175c57f23cde2049c509eb00a2f9d373478107 Author: Michael Chan Date: Thu Dec 3 09:46:32 2009 +0000 bnx2: Dump some state during tx timeout. To help debug the problem. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 51bf6bb424c14bfd3590a0de03fbd07fc800435e Author: Michael Chan Date: Thu Dec 3 09:46:31 2009 +0000 bnx2: Protect tx timeout reset with rtnl_lock(). To prevent race conditions with other reset events. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cceea982ef78cf358b70f3412a6799f153211e14 Author: Matt Carlson Date: Thu Dec 3 08:36:25 2009 +0000 tg3: Update version to 3.105 This patch updates the tg3 version to 3.105. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 026a6c21646cf77ea838f3c121de29cdf948ca71 Author: Matt Carlson Date: Thu Dec 3 08:36:24 2009 +0000 tg3: Clean tg3_init_one() Tg3's firmware is no longer loaded from tg3_init_one(). Remove the error path that releases the firmware back to the system. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 94c982bd9f07b801f03cebe32b20f893b4ad6d27 Author: Matt Carlson Date: Thu Dec 3 08:36:23 2009 +0000 tg3: Use pci_read_vpd() instead of private method If the driver needs to use PCI configuration space to read the VPD data, the accesses could collide with the pci_read_vpd() function. This patch converts the driver to use pci_read_vpd() to avoid any potential collisions. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 141518c95870228da4e050fbe31a8f0c9df82c72 Author: Matt Carlson Date: Thu Dec 3 08:36:22 2009 +0000 tg3: Add some VPD preprocessor constants This patch cleans up the VPD code by creating preprocessor definitions and using them in the place of hardcoded constants. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b703df6f628ab63eaa875232551b1f2f0503b9af Author: Matt Carlson Date: Thu Dec 3 08:36:21 2009 +0000 tg3: Add 57765 asic rev This patch adds the 57765 asic revision. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 19cfaecc094781da273b5cd1411ee46589898d0e Author: Matt Carlson Date: Thu Dec 3 08:36:20 2009 +0000 tg3: Make TSS enable independent of MSI-X enable The 57765 asic rev has MSI-X capability, but does not support TSS. This patch changes the tx paths so that TSS is explicitly mentioned, rather than implied through the ENABLE_MSIX flag. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8e95a2026f3b43f7c3d676adaccd2de9532e8dcc Author: Joe Perches Date: Thu Dec 3 07:58:21 2009 +0000 drivers/net: Move && and || to end of previous line Only files where David Miller is the primary git-signer. wireless, wimax, ixgbe, etc are not modified. Compile tested x86 allyesconfig only Not all files compiled (not x86 compatible) Added a few > 80 column lines, which I ignored. Existing checkpatch complaints ignored. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 3454f835837609d60b29a266e3bd9d701073b060 Author: Ajit Khaparde Date: Thu Dec 3 06:19:08 2009 +0000 be2net: Bump up the driver version number Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit c4d8a20022e617174eb887c82356d3f513e279a7 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_via: clear UDMA transfer mode bit for PIO and MWDMA Fix register naming while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 750c7136ea873255ed0b74e20f0d3ef9ac8984c0 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_sis: Power Management fix Call sis_fixup() on resume. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 0826ef5f6fa28c50b70cfae001fd31531a1656f8 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_rz1000: Power Management fix Fix ->resume method to re-enable & re-init PCI device properly before doing chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit dd4a43c979d5da7f2cd20e2751dbbd841116cdfe Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_radisys: fix UDMA handling Set correct bits to switch between UDMA2 and UDMA4. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit a809c68752e63312c20fb027cf33da4a5ac384a5 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:12 2009 +0100 pata_ns87415: Power Management fix Fix ->resume method to do chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 2a2beac928dd5a3a04eb9495e3ab09519f2516f2 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:12 2009 +0100 pata_marvell: fix marvell_pre_reset() documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 9c7e0d22c524afc76f82b942d12da00766ac9101 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: add pointers to QDI65x0 documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6809e7301fba4f9fa446ead5167faed115690fc4 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: fix access to control register for QDI6580 We need to mask out the port offset from the port number cached in ld_qdi->timing. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 43c7d17ee7e03433c57dc4ce457d34110108455a Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: fix QDI6580DP support Dual port QDI6580 has shared PIO timings for master/slave devices so it needs to use custom ->qc_issue method. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 13a28c15dd08f321cfa82cbb37024dc1bb825bbe Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_it8213: fix it8213_pre_reset() documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit e3f1d5cd114dad010376c78e5c8eb8c5fe114f80 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix wrong MWDMA timings being programmed Clear old MWDMA timings before programming new ones (IT8213 is a single port host so there is no need to check ap->port_no). This change should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit ed869ff0c70d482de0dc97c3138ff42cbf87aed5 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix PIO2 underclocking [ port of Sergei's fixes for pata_efar from commit 5f33b3b ] Fix the PIO mode 2 using mode 0 timings -- this driver should enable the fast timing bank starting with PIO2, just like the PIIX/ICH drivers do. Also, fix/rephrase some comments while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 088ccb53a341b5c0afab67e392b053ebb0bf7b2b Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix wrong PIO timings being programmed * do not clear PIO timings for master when programming slave * program new PIO timings in the correct register nibble Both changes should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit e0ee792b75a5cf1b23acfeae7ce3c386f805b20b Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix UDMA handling Driver should program the cycle timing not the mode number (doing the latter results in wrong timings being used). There shouldn't be any problems with it as IDE it8213 host driver has been doing it this way for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 3915044468217d9c224b824c308e4d112666f58d Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_hpt3x3: Power Management fix Fix ->resume method to re-enable & re-init PCI device properly before doing chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 940a68de56c1952c29d9f3c1a769a82b1bdd2b67 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:09 2009 +0100 pata_cs5520: remove dead VDMA support It has been dead for the last three years (== since the initial driver merge) and probability that it will ever get fixed is quite low. Since there is no reason to keep this dead code around any longer just remove it (it can still be retrieved from the git history if necessary). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit a6c872afb2536f47285e6643f4629dec7520041d Merge: 9fe0266 22763c5 Author: David S. Miller Date: Thu Dec 3 12:51:21 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit dd221f9ce97c33e560a63999c74c17d13ef780b4 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 pata_efar: fix wrong MWDMA timings being programmed Do not clear MWDMA timings for device on the other port when programming slave device. This change should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit f79ff92649efd5ef17f5267fe6f599c64e74e050 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 pata_efar: fix wrong PIO timings being programmed * do not clear PIO timings for master when programming slave * do not clear PIO timings for device on the other port when programming slave device Both changes should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6938594374ee506e91a4c03117a034ea0ed66783 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 ata_piix: fix MWDMA handling on PIIX3 Fix erroneous check for ap->udma_mask in do_pata_set_dmamode() resulting in controller not being programmed properly for MWDMA. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 71d8d1b58aa4025ea73a66a130a98d0ed077f9b1 Author: Ajit Khaparde Date: Thu Dec 3 06:16:59 2009 +0000 be2net: Support for WoL using magic packet after suspend. Add support for WOL using Magic Packet after suspend is done. Signed-off-by: Sarveshwar Bandi Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit d744b44e21a2c908aae23a60da1b4ce35cd925ef Author: Ajit Khaparde Date: Thu Dec 3 06:12:06 2009 +0000 be2net: Changes to print fw command opcode when command is failed by controller. When a firmware command fails, only the failure codes are printed. It is difficult to co-relate this to the actual command that has failed. These changes will now print the command code that has failed. Signed-off-by: Sarveshwar Bandi Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit b099ce2602d806deb41caaa578731848995cdb2a Author: Eric W. Biederman Date: Thu Dec 3 02:29:09 2009 +0000 net: Batch inet_twsk_purge This function walks the whole hashtable so there is no point in passing it a network namespace. Instead I purge all timewait sockets from dead network namespaces that I find. If the namespace is one of the once I am trying to purge I am guaranteed no new timewait sockets can be formed so this will get them all. If the namespace is one I am not acting for it might form a few more but I will call inet_twsk_purge again and shortly to get rid of them. In any even if the network namespace is dead timewait sockets are useless. Move the calls of inet_twsk_purge into batch_exit routines so that if I am killing a bunch of namespaces at once I will just call inet_twsk_purge once and save a lot of redundant unnecessary work. My simple 4k network namespace exit test the cleanup time dropped from roughly 8.2s to 1.6s. While the time spent running inet_twsk_purge fell to about 2ms. 1ms for ipv4 and 1ms for ipv6. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 575f4cd5a5b639457747434dbe18d175fa767db4 Author: Eric W. Biederman Date: Thu Dec 3 02:29:08 2009 +0000 net: Use rcu lookups in inet_twsk_purge. While we are looking up entries to free there is no reason to take the lock in inet_twsk_purge. We have to drop locks and restart occassionally anyway so adding a few more in case we get on the wrong list because of a timewait move is no big deal. At the same time not taking the lock for long periods of time is much more polite to the rest of the users of the hash table. In my test configuration of killing 4k network namespaces this change causes 4k back to back runs of inet_twsk_purge on an empty hash table to go from roughly 20.7s to 3.3s, and the total time to destroy 4k network namespaces goes from roughly 44s to 3.3s. Signed-off-by: Eric W. Biederman Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e9c5158ac26affd5d8ce006521bdfb7148090e18 Author: Eric W. Biederman Date: Thu Dec 3 12:22:55 2009 -0800 net: Allow fib_rule_unregister to batch Refactor the code so fib_rules_register always takes a template instead of the actual fib_rules_ops structure that will be used. This is required for network namespace support so 2 out of the 3 callers already do this, it allows the error handling to be made common, and it allows fib_rules_unregister to free the template for hte caller. Modify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu to allw multiple namespaces to be cleaned up in the same rcu grace period. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 3a765edadb28cc736d185f67d1ba6bedcc85f4b9 Author: Eric W. Biederman Date: Thu Dec 3 02:29:06 2009 +0000 netns: Add an explicit rcu_barrier to unregister_pernet_{device|subsys} This allows namespace exit methods to batch work that comes requires an rcu barrier using call_rcu without having to treat the unregister_pernet_operations cases specially. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d79d792ef9f99cca463b6619a93e860d1c833a6e Author: Eric W. Biederman Date: Thu Dec 3 02:29:05 2009 +0000 net: Allow xfrm_user_net_exit to batch efficiently. xfrm.nlsk is provided by the xfrm_user module and is access via rcu from other parts of the xfrm code. Add xfrm.nlsk_stash a copy of xfrm.nlsk that will never be set to NULL. This allows the synchronize_net and netlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets have been set to NULL. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 04dc7f6be3a7b308f8545bb45772c9fb75f71aca Author: Eric W. Biederman Date: Thu Dec 3 02:29:04 2009 +0000 net: Move network device exit batching Move network device exit batching from a special case in net_namespace.c to using common mechanisms in dev.c Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 72ad937abd0a43b7cf2c557ba1f2ec75e608c516 Author: Eric W. Biederman Date: Thu Dec 3 02:29:03 2009 +0000 net: Add support for batching network namespace cleanups - Add exit_list to struct net to support building lists of network namespaces to cleanup. - Add exit_batch to pernet_operations to allow running operations only once during a network namespace exit. Instead of once per network namespace. - Factor opt ops_exit_list and ops_exit_free so the logic with cleanup up a network namespace does not need to be duplicated. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8153a10c08f1312af563bb92532002e46d3f504a Author: Patrick McHardy Date: Thu Dec 3 01:25:58 2009 +0000 ipv4 05/05: add sysctl to accept packets with local source addresses commit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8 Author: Patrick McHardy Date: Thu Dec 3 12:16:35 2009 +0100 ipv4: add sysctl to accept packets with local source addresses Change fib_validate_source() to accept packets with a local source address when the "accept_local" sysctl is set for the incoming inet device. Combined with the previous patches, this allows to communicate between multiple local interfaces over the wire. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5adef1809147a9c39119ffd5a13a1ca4fe23a411 Author: Patrick McHardy Date: Thu Dec 3 01:25:57 2009 +0000 net 04/05: fib_rules: allow to delete local rule commit d124356ce314fff22a047ea334379d5105b2d834 Author: Patrick McHardy Date: Thu Dec 3 12:16:35 2009 +0100 net: fib_rules: allow to delete local rule Allow to delete the local rule and recreate it with a higher priority. This can be used to force packets with a local destination out on the wire instead of routing them to loopback. Additionally this patch allows to recreate rules with a priority of 0. Combined with the previous patch to allow oif classification, a socket can be bound to the desired interface and packets routed to the wire like this: # move local rule to lower priority ip rule add pref 1000 lookup local ip rule del pref 0 # route packets of sockets bound to eth0 to the wire independant # of the destination address ip rule add pref 100 oif eth0 lookup 100 ip route add default dev eth0 table 100 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b038a5e60c7812f19818e8a5df96d029e49c38f Author: Patrick McHardy Date: Thu Dec 3 01:25:56 2009 +0000 net 03/05: fib_rules: add oif classification commit 68144d350f4f6c348659c825cde6a82b34c27a91 Author: Patrick McHardy Date: Thu Dec 3 12:05:25 2009 +0100 net: fib_rules: add oif classification Support routing table lookup based on the flow's oif. This is useful to classify packets originating from sockets bound to interfaces differently. The route cache already includes the oif and needs no changes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 491deb24bf5bf7124141287aaf02c3219783ceab Author: Patrick McHardy Date: Thu Dec 3 01:25:54 2009 +0000 net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME commit 229e77eec406ad68662f18e49fda8b5d366768c5 Author: Patrick McHardy Date: Thu Dec 3 12:05:23 2009 +0100 net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME The next patch will add oif classification, rename interface related members and attributes to reflect that they're used for iif classification. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d285834001df372f81045bb41092e54943e93c84 Author: Patrick McHardy Date: Thu Dec 3 01:25:53 2009 +0000 net 01/05: fib_rules: rearrange struct fib_rule commit b8952893d5d86f69c4e499d191b98c6658f64b0f Author: Patrick McHardy Date: Thu Dec 3 12:05:22 2009 +0100 net: fib_rules: rearrange struct fib_rule The ifname member is only used to resolve interface names and is not needed during rule lookups. The target and ctarget members however are used during rule lookups and are currently located in a second cacheline. Move ifname further to the end to make sure both target and ctarget are located in the same cacheline as other members used during rule lookups. The layout on 64 bit changes from: struct fib_rule { ... u32 table; /* 56 4 */ u8 action; /* 60 1 */ /* XXX 3 bytes hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ u32 target; /* 64 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 72 8 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; to: struct fib_rule { ... u32 table; /* 40 4 */ u8 action; /* 44 1 */ /* XXX 3 bytes hole, try to pack */ u32 target; /* 48 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ char ifname[16]; /* 64 16 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f5ea47712489a9d2d3cb832eb06062e4e64e0ec Author: Jens Axboe Date: Thu Dec 3 21:06:43 2009 +0100 cfq-iosched: fix compile problem with !CONFIG_CGROUP Signed-off-by: Jens Axboe commit e0ee98513d1a2e24d2ddbdecf4216bcca29d1158 Author: Alessandro Rubini Date: Wed Dec 2 14:01:03 2009 +0100 ARM: 5846/1: MAINTAINERS: Add arm Nomadik support Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 48371cd3f4226275c529bb8675a99572db19cc7c Author: Srinidhi Kasagar Date: Wed Dec 2 06:18:03 2009 +0100 ARM: 5845/1: l2x0: check whether l2x0 already enabled If running in non-secure mode accessing some registers of l2x0 will fault. So check if l2x0 is already enabled, if so do not access those secure registers. Signed-off-by: srinidhi kasagar Acked-by: Catalin Marinas Signed-off-by: Russell King commit 1f739d7643c4cf78b4f2d9d620c4305aafc7d3b9 Author: Leo Chen Date: Fri Nov 20 00:50:07 2009 +0100 ARM: 5792/1: bcmring: clean up mach/io.h removed old macro definition for io access, using the generic macros defined in asm/io.h Signed-off-by: Leo Hao Chen Signed-off-by: Russell King commit 95514fd8ff0f30de7815950edfd84ef1e19fb1c8 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 25 18:12:48 2009 +0100 libata: add private driver field to struct ata_device This brings struct ata_device in-line with struct ata_{port,host}. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 7a02267e0f3938a6e91c0a0a82211e4d7007210e Author: Mark Nelson Date: Sun Nov 22 12:07:41 2009 +1100 ahci: let users know that Promise PDC42819 support is limited to SATA devices ahci can drive the Promise PDC42819, but obviously it can only use SATA disks connected to this controller. The controller can actually support SAS disks as well, but we only know how to use it in it's AHCI mode. Add a message to let users know that because ahci is driving their chip they can only use the SATA disks connected to this controller. Signed-off-by: Mark Nelson Signed-off-by: Jeff Garzik commit 89d3b3603bfb648e0113d8682d4f84dd18a776bd Author: Sergei Shtylyov Date: Tue Nov 24 22:54:49 2009 +0400 ata: use pci_dev->revision Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID, so they weren't converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (PCI: Change all drivers to use pci_device->revision). Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 82beb5d89456a4c8329676985004b93a7ded5b5a Author: Sergei Shtylyov Date: Wed Nov 25 00:17:31 2009 +0400 pata_hpt366: fix timing register documentation The comment in the driver actually describes HPT37x's timing register layout, which is different from HPT36x. Fix it and reformat the comment, while at it. Bump the driver version, accounting for several patches that forgot to do it. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 9cd13bdbae5d83399c375b34ee1eb35e16c10568 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 26 17:11:16 2009 +0100 libata: add comment documenting PIO latency issues on UP Based on: http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/01420.html Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 5600c70e576199a7552e1c0fff43f3fe16f5566e Author: Sergei Shtylyov Date: Fri Nov 27 22:29:02 2009 +0400 pata_hpt{37x|3x2n}: fix timing register masks (take 2) These drivers inherited from the older 'hpt366' IDE driver the buggy timing register masks in their set_piomode() metods. As a result, too low command cycle active time is programmed for slow PIO modes. Quite fortunately, it's later "fixed up" by the set_dmamode() methods which also "helpfully" reprogram the command timings, usually to PIO mode 4; unfortunately, setting an UltraDMA mode #N also reprograms already set PIO data timings, usually to MWDMA mode # max(N, 2) timings... However, the drivers added some breakage of their own too: the bit that they set/clear to control the FIFO is sometimes wrong -- it's actually the MSB of the command cycle setup time; also, setting it in DMA mode is wrong as this bit is only for PIO actually and clearing it for PIO modes is not needed as no mode in any timing table has it set... Fix all this, inverting the masks while at it, like in the 'hpt366' and 'pata_hpt366' drivers; bump the drivers' versions, accounting for recent patches that forgot to do it... Signed-off-by: Sergei Shtylyov Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit 8e182a90f91456335756d2ce304ad470795d98e1 Author: Alan Cox Date: Mon Nov 30 13:23:11 2009 +0000 pata_piccolo: Driver for old Toshiba chipsets We were never able to get docs for this out of Toshiba for years. Dave Barnes produced a NetBSD driver however and from that we can fill in the needed tables. As we correct the PCI identifiers a bit also update the old ide generic driver at the same time so it stays compiling. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b4606f2165153833247823e8c04c5e88cb3d298b Author: Ian Campbell Date: Tue Dec 1 11:47:15 2009 +0000 xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region. I have observed cases where the implicit stop_machine_destroy() done by stop_machine() hangs while destroying the workqueues, specifically in kthread_stop(). This seems to be because timer ticks are not restarted until after stop_machine() returns. Fortunately stop_machine provides a facility to pre-create/post-destroy the workqueues so use this to ensure that workqueues are only destroyed after everything is really up and running again. I only actually observed this failure with 2.6.30. It seems that newer kernels are somehow more robust against doing kthread_stop() without timer interrupts (I tried some backports of some likely looking candidates but did not track down the commit which added this robustness). However this change seems like a reasonable belt&braces thing to do. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 65f63384b391bf4d384327d8a7c6de9860290b5c Author: Ian Campbell Date: Tue Dec 1 11:47:14 2009 +0000 xen: improve error handling in do_suspend. The existing error handling has a few issues: - If freeze_processes() fails it exits with shutting_down = SHUTDOWN_SUSPEND. - If dpm_suspend_noirq() fails it exits without resuming xenbus. - If stop_machine() fails it exits without resuming xenbus or calling dpm_resume_end(). - xs_suspend()/xs_resume() and dpm_suspend_noirq()/dpm_resume_noirq() were not nested in the obvious way. Fix by ensuring each failure case goto's the correct label. Treat a failure of stop_machine() as a cancelled suspend in order to follow the correct resume path. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit fed5ea87e02aaf902ff38c65b4514233db03dc09 Author: Ian Campbell Date: Tue Dec 1 16:15:30 2009 +0000 xen: don't leak IRQs over suspend/resume. On resume irq_info[*].evtchn is reset to 0 since event channel mappings are not preserved over suspend/resume. The other contents of irq_info is preserved to allow rebind_evtchn_irq() to function. However when a device resumes it will try to unbind from the previous IRQ (e.g. blkfront goes blkfront_resume() -> blkif_free() -> unbind_from_irqhandler() -> unbind_from_irq()). This will fail due to the check for VALID_EVTCHN in unbind_from_irq() and the IRQ is leaked. The device will then continue to resume and allocate a new IRQ, eventually leading to find_unbound_irq() panic()ing. Fix this by changing unbind_from_irq() to handle teardown of interrupts which have type!=IRQT_UNBOUND but are not currently bound to a specific event channel. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit f6eafe3665bcc374c66775d58312d1c06c55303f Author: Ian Campbell Date: Wed Nov 25 14:12:08 2009 +0000 xen: call clock resume notifier on all CPUs tick_resume() is never called on secondary processors. Presumably this is because they are offlined for suspend on native and so this is normally taken care of in the CPU onlining path. Under Xen we keep all CPUs online over a suspend. This patch papers over the issue for me but I will investigate a more generic, less hacky, way of doing to the same. tick_suspend is also only called on the boot CPU which I presume should be fixed too. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: Thomas Gleixner commit 6aaf5d633bb6cead81b396d861d7bae4b9a0ba7e Author: Jeremy Fitzhardinge Date: Wed Nov 25 13:15:38 2009 -0800 xen: use iret for return from 64b kernel to 32b usermode If Xen wants to return to a 32b usermode with sysret it must use the right form. When using VCGF_in_syscall to trigger this, it looks at the code segment and does a 32b sysret if it is FLAT_USER_CS32. However, this is different from __USER32_CS, so it fails to return properly if we use the normal Linux segment. So avoid the whole mess by dropping VCGF_in_syscall and simply use plain iret to return to usermode. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jan Beulich Cc: Stable Kernel commit 922cc38ab71d1360978e65207e4a4f4988987127 Author: Jeremy Fitzhardinge Date: Tue Nov 24 09:58:49 2009 -0800 xen: don't call dpm_resume_noirq() with interrupts disabled. dpm_resume_noirq() takes a mutex, so it can't be called from a no-interrupt context. Don't call it from within the stop-machine function, but just afterwards, since we're resuming anyway, regardless of what happened. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 499d19b82b586aef18727b9ae1437f8f37b66e91 Author: Jeremy Fitzhardinge Date: Tue Nov 24 09:38:25 2009 -0800 xen: register runstate info for boot CPU early printk timestamping uses sched_clock, which in turn relies on runstate info under Xen. So make sure we set it up before any printks can be called. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 028896721ac04f6fa0697f3ecac3f98761746363 Author: Ian Campbell Date: Tue Nov 24 09:32:48 2009 -0800 xen: register runstate on secondary CPUs The commit "xen: re-register runstate area earlier on resume" caused us to never try and setup the runstate area for secondary CPUs. Ensure that we do this... Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit f350c7922faad3397c98c81a9e5658f5a1ef0214 Author: Ian Campbell Date: Tue Nov 24 10:16:23 2009 +0000 xen: register timer interrupt with IRQF_TIMER Otherwise the timer is disabled by dpm_suspend_noirq() which in turn prevents correct operation of stop_machine on multi-processor systems and breaks suspend. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit fa24ba62ea2869308ffc9f0b286ac9650b4ca6cb Author: Ian Campbell Date: Sat Nov 21 11:32:49 2009 +0000 xen: correctly restore pfn_to_mfn_list_list after resume pvops kernels >= 2.6.30 can currently only be saved and restored once. The second attempt to save results in: ERROR Internal error: Frame# in pfn-to-mfn frame list is not in pseudophys ERROR Internal error: entry 0: p2m_frame_list[0] is 0xf2c2c2c2, max 0x120000 ERROR Internal error: Failed to map/save the p2m frame list I finally narrowed it down to: commit cdaead6b4e657f960d6d6f9f380e7dfeedc6a09b Author: Jeremy Fitzhardinge Date: Fri Feb 27 15:34:59 2009 -0800 xen: split construction of p2m mfn tables from registration Build the p2m_mfn_list_list early with the rest of the p2m table, but register it later when the real shared_info structure is in place. Signed-off-by: Jeremy Fitzhardinge The unforeseen side-effect of this change was to cause the mfn list list to not be rebuilt on resume. Prior to this change it would have been rebuilt via xen_post_suspend() -> xen_setup_shared_info() -> xen_setup_mfn_list_list(). Fix by explicitly calling xen_build_mfn_list_list() from xen_post_suspend(). Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 3905bb2aa7bb801b31946b37a4635ebac4009051 Author: Jeremy Fitzhardinge Date: Sat Nov 21 08:46:29 2009 +0800 xen: restore runstate_info even if !have_vcpu_info_placement Even if have_vcpu_info_placement is not set, we still need to set up the runstate area on each resumed vcpu. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit be012920ecba161ad20303a3f6d9e96c58cf97c7 Author: Ian Campbell Date: Sat Nov 21 08:35:55 2009 +0800 xen: re-register runstate area earlier on resume. This is necessary to ensure the runstate area is available to xen_sched_clock before any calls to printk which will require it in order to provide a timestamp. I chose to pull the xen_setup_runstate_info out of xen_time_init into the caller in order to maintain parity with calling xen_setup_runstate_info separately from calling xen_time_resume. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit ae7888012969355a548372e99b066d9e31153b62 Author: Paolo Bonzini Date: Wed Jul 8 12:27:39 2009 +0200 xen: wait up to 5 minutes for device connetion Increases the device timeout from 10s to 5 minutes, giving the user a visual indication during that time in case there are problems. The patch is a backport of changesets 144 and 150 in the Xenbits tree. Cc: Jeremy Fitzhardinge Signed-off-by: Paolo Bonzini Signed-off-by: Jeremy Fitzhardinge commit f8dc33088febc63286b7a60e6b678de8e064de8e Author: Paolo Bonzini Date: Wed Jul 8 12:27:38 2009 +0200 xen: improvement to wait_for_devices() When printing a warning about a timed-out device, print the current state of both ends of the device connection (i.e., backend as well as frontend). This backports half of changeset 146 from the Xenbits tree. Cc: Jeremy Fitzhardinge Signed-off-by: Paolo Bonzini Signed-off-by: Jeremy Fitzhardinge commit c6e1971139be1342902873181f3b80a979bfb33b Author: Paolo Bonzini Date: Wed Jul 8 12:27:37 2009 +0200 xen: fix is_disconnected_device/exists_disconnected_device The logic of is_disconnected_device/exists_disconnected_device is wrong in that they are used to test whether a device is trying to connect (i.e. connecting). For this reason the patch fixes them to not consider a Closing or Closed device to be connecting. At the same time the patch also renames the functions according to what they really do; you could say a closed device is "disconnected" (the old name), but not "connecting" (the new name). This patch is a backport of changeset 909 from the Xenbits tree. Cc: Jeremy Fitzhardinge Signed-off-by: Paolo Bonzini Signed-off-by: Jeremy Fitzhardinge commit db05fed0ad72f264e39bcb366795f7367384ec92 Author: Jeremy Fitzhardinge Date: Tue Nov 24 16:41:47 2009 -0800 xen/xenbus: make DEVICE_ATTR()s static They don't need to be global, and may cause linker clashes. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit d103d01e4b19f185d3c85f77402b605534c32e89 Merge: 26fb20d 6f5f672 Author: Ingo Molnar Date: Thu Dec 3 20:11:37 2009 +0100 Merge branch 'perf/probes' into perf/core Merge reason: add these fixes to 'perf probe'. Signed-off-by: Ingo Molnar commit 26fb20d008d841268545c25bb183f21ed16db891 Merge: 23ba90e 767df1b Author: Ingo Molnar Date: Thu Dec 3 20:10:59 2009 +0100 Merge branch 'perf/mce' into perf/core Merge reason: It's ready for v2.6.33. Signed-off-by: Ingo Molnar commit 23ba90e328fd2326378447cafafa47defdfc83c2 Merge: e859cf8 8ea339a Author: Ingo Molnar Date: Thu Dec 3 20:10:35 2009 +0100 Merge branch 'perf/scripting' into perf/core Merge reason: it's ready for v2.6.33. Signed-off-by: Ingo Molnar commit 2861453b1b5e022fd5e1294b8fbf39254440b661 Author: Ben Hutchings Date: Sat Nov 7 21:41:18 2009 +0000 Bluetooth: Declare MODULE_FIRMWARE for Marvell SDIO driver Signed-off-by: Ben Hutchings Signed-off-by: Marcel Holtmann commit eae38eede2e5f70d65f09327297bd698b0d3ea7e Author: Marcel Holtmann Date: Mon Oct 5 12:23:48 2009 +0200 Bluetooth: Add RFCOMM option to use L2CAP ERTM mode By default the RFCOMM layer would still use L2CAP basic mode. For testing purposes this option enables RFCOMM to select enhanced retransmission mode. Signed-off-by: Marcel Holtmann commit 5fbcd3d1a07e234583e17830e8aef47282c22141 Author: Marcel Holtmann Date: Mon Oct 5 11:35:43 2009 +0200 Bluetooth: Add L2CAP option for max transmit value For testing purposes it is important to modify the max transmit value. Signed-off-by: Marcel Holtmann commit 32fd63981ed453bd882f22e3e9b0ccbc11fb47e5 Author: Amitkumar Karwar Date: Wed Sep 30 11:18:30 2009 -0700 Bluetooth: Enable auto sleep mode for btmrvl driver The auto sleep mode for btmrvl driver is not enabled by default. This patch enables auto sleep mode when card is probed. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 2ab25cdd7b54473dd42dcffc9872737de2517466 Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:40 2009 -0300 Bluetooth: Fix 'SendRRorRNR' to send the ReqSeq value SendRRorRNR needs to acknowledge received I-frames (actually every packet needs to acknowledge received I-frames by sending the proper packet sequence number), so ReqSeq is set to the next I-frame number sequence to be pulled by the reassembly function. SendRRorRNR tells the remote side about local busy conditions, it sends a Receiver Ready frame if local busy is false or a Receiver Not Ready if local busy is true. ReqSeq is the packet's field to send the number of the acknowledged packets. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 4ec10d9720ef78cd81d8bcc30a3238665744569f Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:39 2009 -0300 Bluetooth: Implement RejActioned flag RejActioned is used to prevent retransmission when a entity is on the WAIT_F state, i.e., waiting for a frame with F-bit set due local busy condition or a expired retransmission timer. (When these two events raise they send a frame with the Poll bit set and enters in the WAIT_F state to wait for a frame with the Final bit set.) The local entity doesn't send I-frames(the data frames) until the receipt of a frame with F-bit set. When that happens it also set RejActioned to false. RejActioned is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:38 2009 -0300 Bluetooth: Fix sending ReqSeq on I-frames As specified by ERTM spec an ERTM channel can acknowledge received I-frames(the data frames) by sending an I-frame with the proper ReqSeq value (i.e. ReqSeq is set to BufferSeq). Until now we aren't setting the ReqSeq value on I-frame control bits. That way we can save sending S-frames(Supervise frames) only to acknowledge receipt of I-frames. It is very helpful to the full-duplex channel. ReqSeq is the packet sequence number sent in an acknowledgement frame to acknowledge receipt of frames up to (ReqSeq - 1). BufferSeq controls the receiver buffer, it is used to delay acknowledgement of new frames to not cause buffer overflow. BufferSeq value is not increased until frames are pulled by reassembly function. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 889a3ca466018ab68363c3168993793bc2d984f1 Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:37 2009 -0300 Bluetooth: Fix unset of SrejActioned flag SrejActioned is a flag that when set prevents local side to retransmit a I-frame(the data frame) already retransmitted. The local entity can retransmit again only when it receives a SREJ frame with the F-bit set. SREJ frame - Selective Reject frame - is sent when an entity wants the retransmission of a specific I-frame that was lost or corrupted. This bug can put ERTM in an unknown state once the entity can't retransmit. A frame with the Final bit set is expected when the local side sends a frame with the Poll bit set due to a local busy condition or a retransmission timer expired. (Receipt of P-bit shall always be replied by a frame with the F-bit set). pi->conn_state keeps informations about many ERTM flags including SrejActioned. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 0565c1c24af94130b891f989fa608faddfadc52c Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:36 2009 -0300 Bluetooth: Initialize variables and timers for both channel's sides Fix ERTM's full-duplex channel to work as specified by ERTM spec. ERTM needs to handle state vars, timers and counters to send and receive I-frames(the data frames), i.e., for both sides of data communication. We initialize all of them to the default values here. Full-duplex channel is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit cde9f807f003676862178a6f28b52c7d431511ed Author: Vikram Kandukuri Date: Thu Dec 3 15:12:51 2009 +0530 Bluetooth: Fix handling of BNEP setup connection requests According to BNEP test specification the proper response should be sent for a setup connection request message after the BNEP connection setup has been completed. Signed-off-by: Vikram Kandukuri Signed-off-by: Marcel Holtmann commit c78ae283145d3a8799b2fb01650166a66af3bff8 Author: Marcel Holtmann Date: Wed Nov 18 01:02:54 2009 +0100 Bluetooth: Unobfuscate tasklet_schedule usage The tasklet schedule function helpers are just an obfuscation. So remove them and call the schedule functions directly. Signed-off-by: Marcel Holtmann commit 76bca88012e1d27de794f32cc551d6314d38b6d9 Author: Marcel Holtmann Date: Wed Nov 18 00:40:39 2009 +0100 Bluetooth: Turn hci_recv_frame into an exported function For future simplification it is important that the hci_recv_frame function is no longer an inline function. So move it into the module itself and export it. Signed-off-by: Marcel Holtmann commit 7e21addcd0ad87696c17409399e56e874931da57 Author: Marcel Holtmann Date: Wed Nov 18 01:05:00 2009 +0100 Bluetooth: Return ENETDOWN when interface is down Sending commands to a down interface results in a timeout while clearly it should just return ENETDOWN. When using the ioctls this works fine, but not when using the HCI sockets sendmsg interface. Signed-off-by: Marcel Holtmann commit 2da31939a42f7a676a0bc5155d6a0a39ed8451f2 Author: Jiri Kosina Date: Thu Nov 26 16:20:56 2009 +0100 Bluetooth: Implement raw output support for HIDP layer Implement raw output callback which is used by hidraw to send raw data to the underlying device. Without this patch, the userspace hidraw-based applications can't send output reports to HID Bluetooth devices. Reported-and-tested-by: Brian Gunn Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann commit fed4c2508b7419d0a55958fead6151b32def1683 Author: Marcel Holtmann Date: Thu Dec 3 18:07:28 2009 +0100 Bluetooth: Fix miscdev ops owner for virtual driver The /dev/vhci ops don't refer to the module and so it is possible to unload the module while the file descriptor is in use. This was an accidental removal after the cleanup. Signed-off-by: Marcel Holtmann commit 329ab1b3e6ceac3f77ab400206a97cc402624259 Author: Marcel Holtmann Date: Thu Dec 3 18:05:16 2009 +0100 Bluetooth: Remove unused global minor variable After the removal of the module parameter for setting the minor number, this variable became unused. So just remove it. Signed-off-by: Marcel Holtmann commit 5990108cfcd3eb2d365c9ea6f82318be80c4e9d3 Author: Thomas Gleixner Date: Thu Oct 15 20:28:53 2009 +0000 Bluetooth: Remove stub ioctl in hci_vhci Remove the empty ioctl which just returns -EINVAL. vfs_ioctl() will return -ENOTTY instead, but I doubt that any application will notice the difference :) Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann commit b3cf652afb5404685e3d7ed6780a8d1fa10e21da Author: Rahul Tank Date: Mon Sep 28 19:43:35 2009 -0700 Bluetooth: Removal of unused variable in btmrvl driver This patch removes unused variable "drvdbg" from btmrvl_debugfs_data structure. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 72f924f62a6eb375c7c237ecc911f95be0531d1a Author: Vivek Goyal Date: Thu Dec 3 12:59:57 2009 -0500 blkio: Documentation Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit c04645e592d4dd60c58def40c913699d4c806727 Author: Vivek Goyal Date: Thu Dec 3 12:59:56 2009 -0500 blkio: Wait on sync-noidle queue even if rq_noidle = 1 o rq_noidle() is supposed to tell cfq that do not expect a request after this one, hence don't idle. But this does not seem to work very well. For example for direct random readers, rq_noidle = 1 but there is next request coming after this. Not idling, leads to a group not getting its share even if group_isolation=1. o The right solution for this issue is to scan the higher layers and set right flag (WRITE_SYNC or WRITE_ODIRECT). For the time being, this single line fix helps. This should not have any significant impact when we are not using cgroups. I will later figure out IO paths in higher layer and fix it. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit ae30c286553c91c49af5cbc0265a05a6543d0c52 Author: Vivek Goyal Date: Thu Dec 3 12:59:55 2009 -0500 blkio: Implement group_isolation tunable o If a group is running only a random reader, then it will not have enough traffic to keep disk busy and we will reduce overall throughput. This should result in better latencies for random reader though. If we don't idle on random reader service tree, then this random reader will experience large latencies if there are other groups present in system with sequential readers running in these. o One solution suggested by corrado is that by default keep the random readers or sync-noidle workload in root group so that during one dispatch round we idle only once on sync-noidle tree. This means that all the sync-idle workload queues will be in their respective group and we will see service differentiation in those but not on sync-noidle workload. o Provide a tunable group_isolation. If set, this will make sure that even sync-noidle queues go in their respective group and we wait on these. This provides stronger isolation between groups but at the expense of throughput if group does not have enough traffic to keep the disk busy. o By default group_isolation = 0 Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f26bd1f0a3a31bc5e16d285f5e1b00a56abf6238 Author: Vivek Goyal Date: Thu Dec 3 12:59:54 2009 -0500 blkio: Determine async workload length based on total number of queues o Async queues are not per group. Instead these are system wide and maintained in root group. Hence their workload slice length should be calculated based on total number of queues in the system and not just queues in the root group. o As root group's default weight is 1000, make sure to charge async queue more in terms of vtime so that it does not get more time on disk because root group has higher weight. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f75edf2dc828802d358393be80a6c89e919f8273 Author: Vivek Goyal Date: Thu Dec 3 12:59:53 2009 -0500 blkio: Wait for cfq queue to get backlogged if group is empty o If a queue consumes its slice and then gets deleted from service tree, its associated group will also get deleted from service tree if this was the only queue in the group. That will make group loose its share. o For the queues on which we have idling on and if these have used their slice, wait a bit for these queues to get backlogged again and then expire these queues so that group does not loose its share. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f8d461d692c341add957fb973fb5ee1f62039dc7 Author: Vivek Goyal Date: Thu Dec 3 12:59:52 2009 -0500 blkio: Propagate cgroup weight updation to cfq groups o Propagate blkio cgroup weight updation to associated cfq groups. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 24610333d578478d354144ab4709a203684afc5f Author: Vivek Goyal Date: Thu Dec 3 12:59:51 2009 -0500 blkio: Drop the reference to queue once the task changes cgroup o If a task changes cgroup, drop reference to the cfqq associated with io context and set cfqq pointer stored in ioc to NULL so that upon next request arrival we will allocate a new queue in new group. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 8682e1f15f26dae9a9e8af794d179055fbd81166 Author: Vivek Goyal Date: Thu Dec 3 12:59:50 2009 -0500 blkio: Provide some isolation between groups o Do not allow following three operations across groups for isolation. - selection of co-operating queues - preemtpions across groups - request merging across groups. o Async queues are currently global and not per group. Allow preemption of an async queue if a sync queue in other group gets backlogged. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 220841906fccafaf4094e87bdb6d252e20cf8c7c Author: Vivek Goyal Date: Thu Dec 3 12:59:49 2009 -0500 blkio: Export disk time and sectors used by a group to user space o Export disk time and sector used by a group to user space through cgroup interface. o Also export a "dequeue" interface to cgroup which keeps track of how many a times a group was deleted from service tree. Helps in debugging. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 2868ef7b39490e6b41c2c61cd9a5cd891e778b54 Author: Vivek Goyal Date: Thu Dec 3 12:59:48 2009 -0500 blkio: Some debugging aids for CFQ o Some debugging aids for CFQ. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit b1c3576961847da26c91b1e97f226bb66be5fa3f Author: Vivek Goyal Date: Thu Dec 3 12:59:47 2009 -0500 blkio: Take care of cgroup deletion and cfq group reference counting o One can choose to change elevator or delete a cgroup. Implement group reference counting so that both elevator exit and cgroup deletion can take place gracefully. Signed-off-by: Vivek Goyal Signed-off-by: Nauman Rafique Signed-off-by: Jens Axboe commit 25fb5169d4c9d4255107abbb7c08ab712434efc8 Author: Vivek Goyal Date: Thu Dec 3 12:59:46 2009 -0500 blkio: Dynamic cfq group creation based on cgroup tasks belongs to o Determine the cgroup IO submitting task belongs to and create the cfq group if it does not exist already. o Also link cfqq and associated cfq group. o Currently all async IO is mapped to root group. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit dae739ebc4c590630039533a5bbd05865966094f Author: Vivek Goyal Date: Thu Dec 3 12:59:45 2009 -0500 blkio: Group time used accounting and workload context save restore o This patch introduces the functionality to do the accounting of group time when a queue expires. This time used decides which is the group to go next. o Also introduce the functionlity to save and restore the workload type context with-in group. It might happen that once we expire the cfq queue and group, a different group will schedule in and we will lose the context of the workload type. Hence save and restore it upon queue expiry. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 58ff82f34cded3812af5b6c69b6aa626b6be2490 Author: Vivek Goyal Date: Thu Dec 3 12:59:44 2009 -0500 blkio: Implement per cfq group latency target and busy queue avg o So far we had 300ms soft target latency system wide. Now with the introduction of cfq groups, divide that latency by number of groups so that one can come up with group target latency which will be helpful in determining the workload slice with-in group and also the dynamic slice length of the cfq queue. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 25bc6b07767fe77422312eda2af99c9477f76191 Author: Vivek Goyal Date: Thu Dec 3 12:59:43 2009 -0500 blkio: Introduce per cfq group weights and vdisktime calculations o Bring in the per cfq group weight and how vdisktime is calculated for the group. Also bring in the functionality of updating the min_vdisktime of the group service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 31e4c28d95e64f2d5d3c497a3ecf37c62de635b4 Author: Vivek Goyal Date: Thu Dec 3 12:59:42 2009 -0500 blkio: Introduce blkio controller cgroup interface o This is basic implementation of blkio controller cgroup interface. This is the common interface visible to user space and should be used by different IO control policies as we implement those. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 1fa8f6d68b5c8ca0a608fd8d296c5f07ac788cd6 Author: Vivek Goyal Date: Thu Dec 3 12:59:41 2009 -0500 blkio: Introduce the root service tree for cfq groups o So far we just had one cfq_group in cfq_data. To create space for more than one cfq_group, we need to have a service tree of groups where all the groups can be queued if they have active cfq queues backlogged in these. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f04a64246344ad50e4b4b4186174a0912d07f30b Author: Vivek Goyal Date: Thu Dec 3 12:59:40 2009 -0500 blkio: Keep queue on service tree until we expire it o Currently cfqq deletes a queue from service tree if it is empty (even if we might idle on the queue). This patch keeps the queue on service tree hence associated group remains on the service tree until we decide that we are not going to idle on the queue and expire it. o This just helps in time accounting for queue/group and in implementation of rest of the patches. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 615f0259e6940293359a189f4881bb28c2fea40b Author: Vivek Goyal Date: Thu Dec 3 12:59:39 2009 -0500 blkio: Implement macro to traverse each service tree in group o Implement a macro to traverse each service tree in the group. This avoids usage of double for loop and special condition for idle tree 4 times. o Macro is little twisted because of special handling of idle class service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit cdb16e8f739985b8a5c9f4569b026583bbcd01a5 Author: Vivek Goyal Date: Thu Dec 3 12:59:38 2009 -0500 blkio: Introduce the notion of cfq groups o This patch introduce the notion of cfq groups. Soon we will can have multiple groups of different weights in the system. o Various service trees (prioclass and workload type trees), will become per cfq group. So hierarchy looks as follows. cfq_groups | workload type | cfq queue o When an scheduling decision has to be taken, first we select the cfq group then workload with-in the group and then cfq queue with-in the workload type. o This patch just makes various workload service tree per cfq group and introduce the function to be able to choose a group for scheduling. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit bf7919371025412978268efca4b09dd847acb395 Author: Vivek Goyal Date: Thu Dec 3 12:59:37 2009 -0500 blkio: Set must_dispatch only if we decided to not dispatch the request o must_dispatch flag should be set only if we decided not to run the queue and dispatch the request. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit fb716c0b7bed36064cd41d800c8f339f41adf084 Author: Ondrej Zary Date: Fri Nov 27 18:18:33 2009 +0100 snd-fm801: autodetect SF64-PCR (tuner-only) card When primary AC97 is not found, don't fail with tons of AC97 errors. Assume that the card is SF64-PCR (tuner-only). This makes the SF64-PCR radio card work "out of the box". Also fixes a bug that can cause an oops here:         if (tea575x_tuner > 0 && (tea575x_tuner & 0x000f) < 4) { when tea575x_tuner == 16, it passes this check and causes problems a couple lines below:         chip->tea.ops = &snd_fm801_tea_ops[(tea575x_tuner & 0x000f) - 1]; Tested with SF64-PCR, but I don't have any of those sound or sound+radio cards to test if I didn't break anything. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 1233faa891451dee9eaddd7f8a616ba1ddd77919 Author: Ondrej Zary Date: Fri Nov 27 18:19:28 2009 +0100 ALSA: tea575x-tuner: fix mute Fix mute state reporting in tea575x-tuner. This fixes mute function in kradio on SF64-PCR radio card. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 753c89130c52b96e66e5ceff19bd1336de9a5ce8 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 drbd_req.c: use part_[inc|dec]_in_flight() Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit f9288e1525e1cca59fdca56463ad9f5a6625dffe Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:58 2009 +0100 sl82c105: remove no longer needed debugging code Signed-off-by: Bartlomiej Zolnierkiewicz commit de9e80577f1409782c8f54e08fa6beef9f91e810 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:58 2009 +0100 sis5513: remove stale TODO Signed-off-by: Bartlomiej Zolnierkiewicz commit 58dcf8dcb5ebca4a5b1d2c0874efba744dd4552c Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:57 2009 +0100 pdc202xx_old: remove no longer needed debugging code Signed-off-by: Bartlomiej Zolnierkiewicz commit c95522a7cc9461fd5b2c18cb72b66b46680bffa7 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:57 2009 +0100 cy82c693: remove no longer needed debugging code Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ca70e4d140b3907276f19a5e90efdcfd02627e7 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:57 2009 +0100 cmd64x: remove no longer needed debugging code Signed-off-by: Bartlomiej Zolnierkiewicz commit 2db3dae51c1a096cfbd0e6f14c5ecca16e79a1d0 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:25:57 2009 +0100 alim15x3: remove obsolete and dangerous wdc_udma parameter Signed-off-by: Bartlomiej Zolnierkiewicz commit 7d1849aff6687a135a8da3a75e32a00e3137a5e2 Author: Mikael Pettersson Date: Thu Dec 3 15:52:44 2009 +0100 x86, apic: Enable lapic nmi watchdog on AMD Family 11h The x86 lapic nmi watchdog does not recognize AMD Family 11h, resulting in: NMI watchdog: CPU not supported As far as I can see from available documentation (the BKDM), family 11h looks identical to family 10h as far as the PMU is concerned. Extending the check to accept family 11h results in: Testing NMI watchdog ... OK. I've been running with this change on a Turion X2 Ultra ZM-82 laptop for a couple of weeks now without problems. Signed-off-by: Mikael Pettersson Cc: Andreas Herrmann Cc: Joerg Roedel Cc: LKML-Reference: <19223.53436.931768.278021@pilspetsen.it.uu.se> Signed-off-by: Ingo Molnar commit 0d99519efef15fd0cf84a849492c7b1deee1e4b7 Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: remove unused nonblocking and congestion checks - no one is calling wb_writeback and write_cache_pages with wbc.nonblocking=1 any more - lumpy pageout will want to do nonblocking writeback without the congestion wait So remove the congestion checks as suggested by Chris. Signed-off-by: Wu Fengguang Cc: Chris Mason Cc: Jens Axboe Cc: Trond Myklebust Cc: Christoph Hellwig Cc: Dave Chinner Cc: Evgeniy Polyakov Cc: Alex Elder Signed-off-by: Jens Axboe commit b17621fed6aa039387e35f9b4d34d98f213e5673 Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: introduce wbc.for_background It will lower the flush priority for NFS, and maybe more in future. Signed-off-by: Wu Fengguang Cc: Trond Myklebust Cc: Jens Axboe Cc: Christoph Hellwig Signed-off-by: Jens Axboe commit 951c30d135390a108f102b0f6e3cfa6241f2a1aa Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: remove the always false bdi_cap_writeback_dirty() test This is dead code because no bdi flush thread will be started for !bdi_cap_writeback_dirty bdi. Signed-off-by: Wu Fengguang Cc: Jens Axboe Cc: Trond Myklebust Cc: Christoph Hellwig Signed-off-by: Jens Axboe commit bf7ec5bb6114b2f086e536e24486fdacd1c0d339 Author: OGAWA Hirofumi Date: Thu Dec 3 13:49:43 2009 +0100 flusher: Fix PF_FROZEN race To touch task->flags directly is racy. thaw_process() still has race (changing non_current->flags, but this is another issue) though, I think it's much better off. So, use thaw_process() instead. Signed-off-by: OGAWA Hirofumi Signed-off-by: Jens Axboe commit 220d0b1dbf78c6417a658c96e571415552d3abac Merge: 474b18c 22763c5 Author: Jens Axboe Date: Thu Dec 3 13:49:39 2009 +0100 Merge branch 'master' into for-2.6.33 commit 26bb7505cf7db3560286be9f6384b6d3911f78b5 Author: Steven Whitehouse Date: Fri Nov 27 10:31:11 2009 +0000 GFS2: Fix glock refcount issues This patch fixes some ref counting issues. Firstly by moving the point at which we drop the ref count after a dlm lock operation has completed we ensure that we never call gfs2_glock_hold() on a lock with a zero ref count. Secondly, by using atomic_dec_and_lock() in gfs2_glock_put() we ensure that at no time will a glock with zero ref count appear on the lru_list. That means that we can remove the check for this in our shrinker (which was racy). Signed-off-by: Steven Whitehouse commit c29cd9004e72acb5a6cb8caf08508f1c5edee686 Author: Wu Fengguang Date: Wed Nov 18 18:09:41 2009 +0800 writeback: remove unused nonblocking and congestion checks (gfs2) No one is calling wb_writeback and write_cache_pages with wbc.nonblocking=1 any more. And lumpy pageout will want to do nonblocking writeback without the congestion wait. Signed-off-by: Wu Fengguang Signed-off-by: Steven Whitehouse commit 9ae3c6de6981a1e8765b5d029f94555fc0f0fea0 Author: Benjamin Marzinski Date: Tue Nov 10 12:54:56 2009 -0600 GFS2: drop rindex glock to refresh rindex list When a gfs2 filesystem is grown, it needs to rebuild the rindex list to be able to use the new space. gfs2 does this when the rindex is marked not uptodate, which happens when the rindex glock is dropped. However, on a single node setup, there is never any reason to drop the rindex glock, so gfs2 never invalidates the the rindex. This patch makes gfs2 automatically drop the rindex glock after filesystem grows, so it can refresh the rindex list. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 0ab7d13fcbd7ce1658c563e345990ba453719deb Author: Steven Whitehouse Date: Fri Nov 6 16:20:51 2009 +0000 GFS2: Tag all metadata with jid There are two spare field in the header common to all GFS2 metadata. One is just the right size to fit a journal id in it, and this patch updates the journal code so that each time a metadata block is modified, we tag it with the journal id of the node which is performing the modification. The reason for this is that it should make it much easier to debug issues which arise if we can tell which node was the last to modify a particular metadata block. Since the field is updated before the block is written into the journal, each journal should only contain metadata which is tagged with its own journal id. The one exception to this is the journal header block, which might have a different node's id in it, if that journal was recovered by another node in the cluster. Thus each journal will contain a record of which nodes recovered it, via the journal header. The other field in the metadata header could potentially be used to hold information about what kind of operation was performed, but for the time being we just zero it on each transaction so that if we use it for that in future, we'll know that the information (where it exists) is reliable. I did consider using the other field to hold the journal sequence number, however since in GFS2's journaling we write the modified data into the journal and not the original data, this gives no information as to what action caused the modification, so I think we can probably come up with a better use for those 64 bits in the future. Signed-off-by: Steven Whitehouse commit 474b18ccc264c472abeec50f48469b6477202699 Author: Shaohua Li Date: Thu Dec 3 12:58:05 2009 +0100 cfq-iosched: no dispatch limit for single queue Since commit 2f5cb7381b737e24c8046fd4aeab571fb71315f5, each queue can send up to 4 * 4 requests if only one queue exists. I wonder why we have such limit. Device supports tag can send more requests. For example, AHCI can send 31 requests. Test (direct aio randread) shows the limits reduce about 4% disk thoughput. On the other hand, since we send one request one time, if other queue pop when current is sending more than cfq_quantum requests, current queue will stop send requests soon after one request, so sounds there is no big latency. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 2c77634965ee28c8b4790ffb5e83dd5ff7ac8988 Author: Steven Whitehouse Date: Fri Nov 6 11:10:51 2009 +0000 GFS2: Locking order fix in gfs2_check_blk_state In some cases we already have the rindex lock when we enter this function. Signed-off-by: Steven Whitehouse commit 1579343a73e32b5886e186e8f3e4db85e420ed3f Author: Steven Whitehouse Date: Fri Nov 6 11:06:37 2009 +0000 GFS2: Remove dirent_first() function This function only had one caller left, and that caller only called it for leaf blocks, hence one branch of the "if" was never taken. In addition the call to get_left had already verified the metadata type, so the function can be reduced to a single line of code in its caller. Signed-off-by: Steven Whitehouse commit cdcfde62dac64c86ff34e483c595d568a252c433 Author: Steven Whitehouse Date: Fri Oct 30 10:48:53 2009 +0000 GFS2: Display nobarrier option in /proc/mounts Since the default is barriers on, this only displays the nobarrier option when that is active. Signed-off-by: Steven Whitehouse commit f25934c5f88655a8d5c3c40a540daed1f0e6dedc Author: Christoph Hellwig Date: Fri Oct 30 08:03:27 2009 +0100 GFS2: add barrier/nobarrier mount options Currently gfs2 issues barrier unconditionally. There are various reasons to disable them, be that just for testing or for stupid devices flushing large battert backed caches. Add a nobarrier option that matches xfs and btrfs for this. Also add a symmetric barrier option to turn it back on at remount time. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit c14f5735e724cb5338ca8298d42b1658008a10d7 Author: Benjamin Marzinski Date: Mon Oct 26 13:29:47 2009 -0500 GFS2: remove division from new statfs code It's not necessary to do any 64bit division for the statfs sync code, so remove it. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5 Author: Benjamin Marzinski Date: Tue Oct 20 02:39:44 2009 -0500 GFS2: Improve statfs and quota usability GFS2 now has three new mount options, statfs_quantum, quota_quantum and statfs_percent. statfs_quantum and quota_quantum simply allow you to set the tunables of the same name. Setting setting statfs_quantum to 0 will also turn on the statfs_slow tunable. statfs_percent accepts an integer between 0 and 100. Numbers between 1 and 100 will cause GFS2 to do any early sync when the local number of blocks free changes by at least statfs_percent from the totoal number of blocks free. Setting statfs_percent to 0 disables this. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 2ec4650526c5a94d96bb760001fe0685b15988de Author: Steven Whitehouse Date: Mon Sep 28 12:49:15 2009 +0100 GFS2: Use dquot_send_warning() This adds support to GFS2 to send quota warnings via netlink. Also it removes a stray \r which was left over from when the code used to print warnings on the console. Signed-off-by: Steven Whitehouse commit 86e931a35e93d94e6e91b57cc76456e16d188ea9 Author: Steven Whitehouse Date: Mon Sep 28 12:35:17 2009 +0100 VFS: Export dquot_send_warning Sending a message to userspace in a generic format to warn of events (e.g. quota exceeded) in the quota subsystem is a generically useful feature. This patch makes some minor changes to the send_message function from dquot.c renaming it quota_send_message, moving it to quota.c and exporting it for use by filesystems which do not use the dquot code. Signed-off-by: Steven Whitehouse commit e285c100362762f7440643be637dd332460fdc75 Author: Steven Whitehouse Date: Wed Sep 23 13:50:49 2009 +0100 GFS2: Add set_xquota support This patch adds the ability to set GFS2 quota limit and warning levels via the XFS quota API. Signed-off-by: Steven Whitehouse commit 113d6b3c99bf30d8083068d00e3c7304d91d4845 Author: Steven Whitehouse Date: Mon Sep 28 11:52:16 2009 +0100 GFS2: Add get_xquota support This adds support for viewing the current GFS2 quota settings via the XFS quota API. The setting of quotas will be addressed in a later patch. Fields which are not supported here are left set to zero. Signed-off-by: Steven Whitehouse Reviewed-by: Bob Peterson commit 1e72c0f7c40e665d2ed40014750fdd2fa9968bcf Author: Steven Whitehouse Date: Tue Sep 15 20:42:56 2009 +0100 GFS2: Clean up gfs2_adjust_quota() and do_glock() Both of these functions contained confusing and in one case duplicate code. This patch adds a new check in do_glock() so that we report -ENOENT if we are asked to sync a quota entry which doesn't exist. Due to the previous patch this is now reported correctly to userspace. Also there are a few new comments, and I hope that the code is easier to understand now. Signed-off-by: Steven Whitehouse commit 6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8 Author: Steven Whitehouse Date: Tue Sep 15 16:30:38 2009 +0100 GFS2: Remove constant argument from qd_get() This function was only ever called with the "create" argument set to true, so we can remove it. Signed-off-by: Steven Whitehouse commit 33a82529e7007ed7beceebc6b3f3cddadb5b67f0 Author: Steven Whitehouse Date: Tue Sep 15 16:25:40 2009 +0100 GFS2: Remove constant argument from qdsb_get() The "create" argument to qdsb_get() was only ever set to true, so this patch removes that argument. Signed-off-by: Steven Whitehouse commit ea7623385930c63e2a35749cff9db72094cd06ad Author: Steven Whitehouse Date: Tue Sep 15 16:20:30 2009 +0100 GFS2: Add proper error reporting to quota sync via sysfs For some reason, the errors were not making it to userspace. Signed-off-by: Steven Whitehouse commit 1d371b5e179d943491a5fddad211cb317f38a142 Author: Steven Whitehouse Date: Fri Sep 11 15:57:27 2009 +0100 GFS2: Add get_xstate quota function This allows querying of the quota state via the XFS quota API. Signed-off-by: Steven Whitehouse commit 91094d0fb650decd8bf48b85d86c892d7ca913ee Author: Steven Whitehouse Date: Fri Sep 11 15:21:56 2009 +0100 GFS2: Remove obsolete code in quota.c There is no point in testing for GLF_DEMOTE here, we might as well always release the glock at that point. Signed-off-by: Steven Whitehouse commit cc632e7f93465597896862cf9e50baefb1999215 Author: Steven Whitehouse Date: Tue Sep 15 09:59:02 2009 +0100 GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops The plan is to add further operations to the gfs2_quotactl_ops in future patches. The sync operation is easy, so we start with that one. We plan to use the XFS quota control functions because they more closely match the GFS2 ones. Signed-off-by: Steven Whitehouse commit 8c42d637f6f2859e0fb28b78d5add7f0dc6d0973 Author: Steven Whitehouse Date: Fri Sep 11 14:36:44 2009 +0100 GFS2: Alter arguments of gfs2_quota/statfs_sync These two functions are altered so that gfs2_quota_sync may in future be called directly from the VFS. The GFS2 superblock changes to a VFS super block and there is an addition of an int argument which is currently ignored. Signed-off-by: Steven Whitehouse commit ab201832f75f58c8f5093436363f80ffa4a4c9a8 Author: Steven Whitehouse Date: Tue Sep 29 16:31:03 2009 +0100 VFS: Use GFP_NOFS in posix_acl_from_xattr() GFS2 needs to call this from under a glock, so we need GFP_NOFS and I suspect that other filesystems might require this too. Signed-off-by: Steven Whitehouse commit 106381bfba997b83b64f68f2210e154162fc38e6 Author: Steven Whitehouse Date: Tue Sep 29 16:26:23 2009 +0100 GFS2: Add cached ACLs support The other patches in this series have been building towards being able to support cached ACLs like other filesystems. The only real difference with GFS2 is that we have to invalidate the cache when we drop a glock, but that is dealt with in earlier patches. Signed-off-by: Steven Whitehouse commit 479c427dd60fe1aadbbf2e6cbf2f84942baeb210 Author: Steven Whitehouse Date: Fri Oct 2 12:00:00 2009 +0100 GFS2: Clean up ACLs To prepare for support for caching of ACLs, this cleans up the GFS2 ACL support by pushing the xattr code back into xattr.c and changing the acl_get function into one which only returns ACLs so that we can drop the caching function into it shortly. Signed-off-by: Steven Whitehouse commit 69dca42464962d8d0989b7e09877ba644c9cba66 Author: Steven Whitehouse Date: Tue Sep 29 12:40:19 2009 +0100 GFS2: Use gfs2_set_mode() instead of munge_mode() These two functions do the same thing, so lets only use one of them. Signed-off-by: Steven Whitehouse commit c65f7fb5342ecb8cb85e9b676327b3a43a5a4735 Author: Steven Whitehouse Date: Fri Oct 2 11:54:39 2009 +0100 GFS2: Use forget_all_cached_acls() Invalidate all the cached ACLs when we drop the glock. Signed-off-by: Steven Whitehouse commit 796bd9524731850967d437b7f47a86acc776ea89 Author: Steven Whitehouse Date: Tue Sep 29 12:27:23 2009 +0100 VFS: Add forget_all_cached_acls() This is required for cluster filesystems which want to use cached ACLs so that they can invalidate the cache when required. Signed-off-by: Steven Whitehouse Cc: Alexander Viro Cc: Christoph Hellwig commit 2646a1f61a3b5525914757f10fa12b5b94713648 Author: Steven Whitehouse Date: Fri Oct 2 11:50:54 2009 +0100 GFS2: Fix up system xattrs This code has been shamelessly stolen from XFS at the suggestion of Christoph Hellwig. I've not added support for cached ACLs so far... watch for that in a later patch, although this is designed in such a way that they should be easy to add. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit f55073ff1eaf99f6b3bc62134a456638bca043a3 Author: Steven Whitehouse Date: Mon Sep 28 10:30:49 2009 +0100 GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) We have a long term plan to use the "-o meta" flag to GFS2 mounts to access the alternate root which is used to store metadata for a GFS2 filesystem. This will allow us to eventually remove support for the gfs2meta filesystem type (which is in any case just a "front end" to the gfs2 filesystem type with the meta/master root). Currently the "-o meta" option is only taken into account on the initial mount of the filesystem. Subsequent mounts of the same filesystem (i.e. on the same device) result in basically the same as bind mounting the root of the original mount. This patch changes that by using what is more or less a copy of get_sb_bdev() and extending it so that it will take into account the alternate root in all cases. The main difference is that we have to parse the mount options a bit earlier. We can then use them to select the appropriate root towards the end of the function. In addition this also fixes a bug where it was possible (but certainly not desirable) to set different ro/rw options for the meta root when mounted via the gfs2meta fs compared with the original mount. Signed-off-by: Steven Whitehouse Cc: Alexander Viro commit 7e71c55ee73988d0cb61045660b899eaac23bf8f Author: Steven Whitehouse Date: Tue Sep 22 10:56:16 2009 +0100 GFS2: Fix potential race in glock code We need to be careful of the ordering between clearing the GLF_LOCK bit and scheduling the workqueue. Signed-off-by: Steven Whitehouse commit 57fea8f7ab67ef42b7f84999e49e47f8717a2d5b Author: Xiaotian Feng Date: Thu Dec 3 19:06:40 2009 +0800 x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency pci_get_device will increase the ref count of found device. Although we're going to reset soon, we should use pci_dev_put to decrease the ref count for consistency. Signed-off-by: Xiaotian Feng Acked-by: H. Peter Anvin Cc: Yinghai Lu LKML-Reference: <1259838400-23833-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit c08f782985eed9959438368e84ce1d7f2ed03d95 Author: Frederic Weisbecker Date: Wed Dec 2 20:49:17 2009 +0100 mutex: Fix missing conditions to build mutex_spin_on_owner() We don't need to build mutex_spin_on_owner() if we have CONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as it won't be used under such configs. Use CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary checks before building it. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra LKML-Reference: <1259783357-8542-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra commit c02260277e472095ffb3ad893be5eeab9dcefde3 Author: Frederic Weisbecker Date: Wed Dec 2 20:49:16 2009 +0100 mutex: Better control mutex adaptive spinning config Introduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize in a single place the conditions that determine its definition and use. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra LKML-Reference: <1259783357-8542-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra commit efd9eb96d5604c2c133e500f7b8c7b3f3fbdece8 Author: Manuel Lauss Date: Tue Dec 1 18:10:35 2009 +0100 ASoC: au1x: dbdma2: plug memleak in pcm device creation error path free the allocated pcm platform device in the error path. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1bc8079879e8edfff451b62b7550bdd18523f963 Author: Manuel Lauss Date: Tue Dec 1 18:10:34 2009 +0100 ASoC: au1x: dbdma2: fix oops on soc device removal. platform_device_unregister() frees resources for us, no need to do it explicitly. Fixes an oops when machine code removes the soc-audio device. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 4528752f49c1f4025473d12bc5fa9181085c3f22 Author: Darrick J. Wong Date: Wed Dec 2 15:05:56 2009 -0800 x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree On a multi-node x3950M2 system, there's a slight oddity in the PCI device tree for all secondary nodes: 30:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) \-33:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01) \-34:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) ...as compared to the primary node: 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) \-01:00.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) 03:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01) \-04:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) In both nodes, the LSI RAID controller hangs off a CalIOC2 device, but on the secondary nodes, the BIOS hides the VGA device and substitutes the device tree ending with the disk controller. It would seem that Calgary devices don't necessarily appear at the top of the PCI tree, which means that the current code to find the Calgary IOMMU that goes with a particular device is buggy. Rather than walk all the way to the top of the PCI device tree and try to match bus number with Calgary descriptor, the code needs to examine each parent of the particular device; if it encounters a Calgary with a matching bus number, simply use that. Otherwise, we BUG() when the bus number of the Calgary doesn't match the bus number of whatever's at the top of the device tree. Extra note: This patch appears to work correctly for the x3950 that came before the x3950 M2. Signed-off-by: Darrick J. Wong Acked-by: Muli Ben-Yehuda Cc: FUJITA Tomonori Cc: Joerg Roedel Cc: Yinghai Lu Cc: Jon D. Mason Cc: Corinna Schultz Cc: LKML-Reference: <20091202230556.GG10295@tux1.beaverton.ibm.com> Signed-off-by: Ingo Molnar commit 8bfb2f8e655b9d0c45fde679fcd5fd97e34513db Author: Paul E. McKenney Date: Wed Dec 2 12:10:16 2009 -0800 rcu: Make RCU's CPU-stall detector be default The RCU_CPU_STALL_DETECTOR costs almost nothing and has located some bugs that might otherwise have been difficult to track down. Make it be default for the TREE RCU implementations. The vmlinux size impact is limited (on 64-bit x86 defconfig): text data bss dec hex filename 8440248 1260076 995588 10695912 a334e8 vmlinux.before 8440774 1260060 995588 10696422 a336e6 vmlinux.after +526 bytes - acceptable default cost. For RAM starved systems, TINY_RCU does not support CPU-stall detection and is much smaller, but then again it is a uniprocessor... Signed-off-by: Paul E. McKenney Acked-by: Lai Jiangshan 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: <12597846162906-git-send-email-> [ v2: added image size calculations to the changelog ] Signed-off-by: Ingo Molnar commit d9a3da0699b24a589b27a61e1a5b5bd30d9db669 Author: Paul E. McKenney Date: Wed Dec 2 12:10:15 2009 -0800 rcu: Add expedited grace-period support for preemptible RCU Implement an synchronize_rcu_expedited() for preemptible RCU that actually is expedited. This uses synchronize_sched_expedited() to force all threads currently running in a preemptible-RCU read-side critical section onto the appropriate ->blocked_tasks[] list, then takes a snapshot of all of these lists and waits for them to drain. 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: <1259784616158-git-send-email-> Signed-off-by: Ingo Molnar commit cf244dc01bf68e1ad338b82447f8686d24ea4435 Author: Paul E. McKenney Date: Wed Dec 2 12:10:14 2009 -0800 rcu: Enable fourth level of TREE_RCU hierarchy Enable a fourth level of rcu_node hierarchy for TREE_RCU and TREE_PREEMPT_RCU. This is for stress-testing and experiemental purposes only, although in theory this would enable 16,777,216 CPUs on 64-bit systems, though only 1,048,576 CPUs on 32-bit systems. Normal experimental use of this fourth level will normally set CONFIG_RCU_FANOUT=2, requiring a 16-CPU system, though the more adventurous (and more fortunate) experimenters may wish to chose CONFIG_RCU_FANOUT=3 for 81-CPU systems or even CONFIG_RCU_FANOUT=4 for 256-CPU systems. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: <12597846161257-git-send-email-> Signed-off-by: Ingo Molnar commit d3f6bad3911736e44ba11f3f3f6ac4e8c837fdfc Author: Paul E. McKenney Date: Wed Dec 2 12:10:13 2009 -0800 rcu: Rename "quiet" functions The number of "quiet" functions has grown recently, and the names are no longer very descriptive. The point of all of these functions is to do some portion of the task of reporting a quiescent state, so rename them accordingly: o cpu_quiet() becomes rcu_report_qs_rdp(), which reports a quiescent state to the per-CPU rcu_data structure. If this turns out to be a new quiescent state for this grace period, then rcu_report_qs_rnp() will be invoked to propagate the quiescent state up the rcu_node hierarchy. o cpu_quiet_msk() becomes rcu_report_qs_rnp(), which reports a quiescent state for a given CPU (or possibly a set of CPUs) up the rcu_node hierarchy. o cpu_quiet_msk_finish() becomes rcu_report_qs_rsp(), which reports a full set of quiescent states to the global rcu_state structure. o task_quiet() becomes rcu_report_unblock_qs_rnp(), which reports a quiescent state due to a task exiting an RCU read-side critical section that had previously blocked in that same critical section. As indicated by the new name, this type of quiescent state is reported up the rcu_node hierarchy (using rcu_report_qs_rnp() to do so). Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: <12597846163698-git-send-email-> Signed-off-by: Ingo Molnar commit 9db630b48a99adb4156e205b812fba8959644280 Author: Peter Hutterer Date: Thu Dec 3 15:08:10 2009 +1000 HID: add multi-input quirk for NextWindow Touchscreen. These touchscreens are mounted onto HP TouchSmart and the Dell Studio One 19. Without a quirk they report a wrong button set and the x/y coordinates through ABS_Z/ABS_RX, confusing the higher levels (most notably X.Org's evdev driver). Device id 0x003 covers models 1900, 2150, and 2700 [1] though testing could only be performed on a model 1900. [1] http://www.nextwindow.com/nextwindow_support/latest_tech_info.html Signed-off-by: Peter Hutterer Signed-off-by: Jiri Kosina commit ac2c92e0cd06387ecee8115f5fa385fba6413c42 Author: Takashi Iwai Date: Thu Dec 3 10:14:10 2009 +0100 ALSA: hda - Fix memory leaks in the previous patch The previous hack for replacing the codec name give memory leaks at error paths. This patch fixes them. Signed-off-by: Takashi Iwai commit 274693f37090ada2cadd09944ab883f05ea6ebe6 Author: Kailang Yang Date: Thu Dec 3 10:07:50 2009 +0100 ALSA: hda - Add ALC661/259, ALC892/888VD support Fixed List: 1. Add alc_read_coef_idx function 2. Add ALC661 ALC259 3. Add ALC892 ALC888VD Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit b16533d3331e3b5905f31b00399933f956936c97 Author: Uwe Kleine-König Date: Mon Nov 30 16:53:24 2009 +0100 MAINTAINERS: add tree and file pattern for ARM IMX Signed-off-by: Uwe Kleine-König Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 98262f2762f0067375f83824d81ea929e37e6bfe Author: Martin K. Petersen Date: Thu Dec 3 09:24:48 2009 +0100 block: Allow devices to indicate whether discarded blocks are zeroed The discard ioctl is used by mkfs utilities to clear a block device prior to putting metadata down. However, not all devices return zeroed blocks after a discard. Some drives return stale data, potentially containing old superblocks. It is therefore important to know whether discarded blocks are properly zeroed. Both ATA and SCSI drives have configuration bits that indicate whether zeroes are returned after a discard operation. Implement a block level interface that allows this information to be bubbled up the stack and queried via a new block device ioctl. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit d6250a03fa736c1bff4df4601f5af2dc21f2bf9e Author: Alan Cox Date: Mon Nov 30 13:23:05 2009 +0000 pata_ali: Fix regression with old devices Making the new stuff work broke some of the old chipsets. We need to go back to the old set up values for these it seems. Unfortunately even with documentation this is basically a mix of cargoculting and guesswork. Chased down to the exact line by Gianluca. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit be315d46156b3db3f4d7eddd1f85549a8a70e962 Author: Alan Cox Date: Mon Nov 30 13:23:00 2009 +0000 [libata] PATA: Update experimental tags Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d43744390e460dce6626fb8de2c02a24ff650005 Author: Alan Cox Date: Mon Nov 30 13:22:54 2009 +0000 pata_cmd64x: implement serialization as per notes Daniela Engert pointed out that there are some implementation notes for the 643 and 646 that deal with certain serialization rules. In theory we don't need them because they apply when the motherboard decides not to retry PCI requests for long enough and the chip is busy doing a DMA transfer on the other channel. The rule basically is "don't touch the taskfile of the other channel while a DMA is in progress". To implement that we need to - not issue a command on a channel when there is a DMA command queued - not issue a DMA command on a channel when there are PIO commands queued - use the alternative access to the interrupt source so that we do not touch altstatus or status on shared IRQ. Updated to remote extra conditional check Bartlomiej noted and to remove the variables for irq checks as the CMD648 doesn't have the underlying problem. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f20941f334d8fdb6b598658979709b4e94cd034b Author: Alan Cox Date: Mon Nov 30 13:22:49 2009 +0000 pata_sis: Implement MWDMA for the UDMA 133 capable chips Bartlomiej pointed out that while this got fixed in the old driver whoever did it didn't port it across. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 10734fc8d5fbf89e88519d72e58cce83be21941a Author: Alan Cox Date: Mon Nov 30 13:22:43 2009 +0000 pata_via: Blacklist some combinations of Transcend Flash and via Reported by Mikulas Patocka. VIA VT82C586B + Transcend TS64GSSD25-M v0826 does not work in UDMA mode Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 294264a94215f5a16a92e8e6b05252ed22fed249 Author: Benjamin Herrenschmidt Date: Wed Dec 2 11:36:28 2009 +1100 libata/sff: Use ops->bmdma_stop instead of ata_bmdma_stop() In libata-sff, ata_sff_post_internal_cmd() directly calls ata_bmdma_stop() instead of ap->ops->bmdma_stop(). This can be a problem for controllers that use their own bmdma_stop for which the generic sff one isn't suitable Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 18f0f97850059303ed73b1f02084f55ca330a80c Author: Christoph Hellwig Date: Tue Nov 17 10:00:47 2009 -0500 libata: add translation for SCSI WRITE SAME (aka TRIM support) Add support for the ATA TRIM command in libata. We translate a WRITE SAME 16 command with the unmap bit set into an ATA TRIM command and export enough information in READ CAPACITY 16 and the block limits EVPD page so that the new SCSI layer discard support will driver this for us. Note that I hardcode the WRITE_SAME_16 opcode for now as the patch to introduce the symbolic is not in 2.6.32 yet but only in the SCSI tree - as soon as it is merged we can fix it up to properly use the symbolic name. Signed-off-by: Christoph Hellwig Signed-off-by: Jeff Garzik commit 6013efd8860bf15c1f86f365332642cfe557152f Author: Tejun Heo Date: Thu Nov 19 15:36:45 2009 +0900 libata: retry failed FLUSH if device didn't fail it If ATA device failed FLUSH, it means that the device failed to write out some amount of data and the error needs to be reported to upper layers. As retries can't recover the lost data, FLUSH failures need to be reported immediately in general. However, if FLUSH fails due to transmission errors, the FLUSH needs to be retried; otherwise, filesystems may switch to RO mode and/or raid array may drop a drive for a random transmission glitch. This condition can be rather easily reproduced on certain ahci controllers which go through a PHY event after powersave mode switch + ext4 combination. Powersave mode switch is often closely followed by flush from the filesystem failing the FLUSH with ATA bus error which makes the filesystem code believe that data is lost and drop to RO mode. This was reported in the following bugzilla bug. http://bugzilla.kernel.org/show_bug.cgi?id=14543 This patch makes libata EH retry FLUSH if it wasn't failed by the device. Signed-off-by: Tejun Heo Reported-by: Andrey Vihrov Signed-off-by: Jeff Garzik commit fd6c29e3dec9e44ecbcba3c57efa08af70a10f1e Author: ashish kalra Date: Wed Jul 1 20:59:43 2009 +0530 sata_fsl: Add asynchronous notification support Enable device hot-plug support on Port multiplier fan-out ports Signed-off-by: Ashish Kalra Signed-off-by: Jeff Garzik commit 10a9c969222de5302cff0bb41dd7f114f9aa8e5d Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 20:31:31 2009 +0100 pata_hpt{37x,3x2n}: add debounce delay to cable detection methods Alan Cox reported that cable detection sometimes works unreliably for HPT3xxN and that the issue is fixed by adding debounce delay as used by the vendor driver. Sergei Shtylyov also noticed that debounce delay is needed for all HPT37x and HPT3xxN chipsets according to vendor drivers. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit f3b1cf40d4012351d793793b2965aca57cc9fdd5 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 18:38:11 2009 +0100 pata_hpt3x2n: fix cable detection The detection was reversed between primary and secondary ports. Fix it to match hpt366 and the vendor driver. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6a74463798bde03f849d8d82d97e4f8e4cf160f3 Author: Matthew Garrett Date: Tue Nov 17 11:09:03 2009 -0500 ata: Don't require newlines for link_power_management_policy sysfs attributes shouldn't require newlines. Make it possible to set the link power management policy without a trailing newline. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit 4192be64026dd8bfe94970846e4a135e531bd116 Author: Otavio Salvador Date: Tue Nov 17 11:11:16 2009 -0200 pata-it821x: use PCI_DEVICE_ID_RDC_D1010 define Signed-off-by: Otavio Salvador Signed-off-by: Jeff Garzik commit ab81a505ae6be069be5b67acd7e1bab3cfb53968 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 19:12:24 2009 +0100 pata_hpt37x: unify ->pre_reset methods We can use the same ->pre_reset method for all HPT37x chipsets now. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 9e87be9edd9114b65a9cf4f93a60b5d9134a972e Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 19:10:44 2009 +0100 pata_hpt37x: add proper cable detection methods Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 1b677afda44f7882b7e257d6f025d006ec5d14f9 Author: Shaohua Li Date: Mon Nov 16 09:56:05 2009 +0800 ahci: disable SNotification capability for ich8 I obseved there is a sata_async_notification() for every ahci interrupt. But the async notification does nothing (this is hard disk drive and no pmp). This cause cpu wastes some time on sntf register access. It appears ICH AHCI doesn't support SNotification register, but the controller reports it does. After quirking it, the async notification disappears. PS. it appears all ICH don't support SNotification register from ICH manual, don't know if we need quirk all ICH. I don't have machines with all kinds of ICH. Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit dae77214fa71898b84514e43721fb7bf260b026a Author: Vivek Mahajan Date: Mon Nov 16 11:49:22 2009 +0530 sata_sil24: MSI support, disabled by default The following patch adds MSI support. Some platforms may have broken MSI, so those are defaulted to use legacy PCI interrupts. Signed-off-by: Vivek Mahajan Signed-off-by: Jeff Garzik commit 097dac91837b35947fffb0e303bcf71e4e4a789f Author: Robert Hancock Date: Thu Nov 12 20:13:40 2009 -0600 libata: remove experimental tag on PATA drivers Remove the experimental tag on Parallel ATA drivers. Though some of the individual PATA drivers are still marked as experimental, as a group they can hardly be considered to be, given they've been used in various distros for some time. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 4c4a90fd2b9d1f5c0d33df3fcfaa8a3dae9abc53 Author: Thiago Farina Date: Sun Nov 8 14:30:57 2009 -0500 sata_mv: Clean up hard coded array size calculation. Use ARRAY_SIZE macro of kernel api instead. Signed-off-by: Thiago Farina Signed-off-by: Jeff Garzik commit 7095e3eb49869051594b33f6110edd65aff6be50 Author: Jiri Slaby Date: Wed Nov 4 17:11:03 2009 +0100 pata_via: fix double put on isa bridge In via_init_one, when via_isa_bridges iterator reaches PCI_DEVICE_ID_VIA_ANON and last but one via_isa_bridges bridge is found but rev doesn't match, pci_dev_put(isa) is called twice. Do pci_dev_put only once. Signed-off-by: Jiri Slaby Signed-off-by: Jeff Garzik commit ba3a221ce2ec0b636a15e12c23c97af68b9b1114 Author: Krzysztof Halasa Date: Wed Nov 11 00:58:16 2009 +0100 pata_cs5536: use 32-bit BM DMA template instead of 16-bit. Tested on IXP425 + CS5536. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit f2406770a2f62a3d3c0a6f45c2f397b368af668d Author: Tejun Heo Date: Wed Nov 18 22:24:21 2009 +0900 libata-acpi: missing _SDD is not an error Missing _SDD is not an error. Don't treat it as one. Signed-off-by: Tejun Heo Reported-by: Takashi Iwai Signed-off-by: Jeff Garzik commit 467832032cc07626880363efa8625719c16c04eb Merge: 66d2a59 22763c5 Author: Dmitry Torokhov Date: Wed Dec 2 23:38:13 2009 -0800 Merge commit 'v2.6.32' into next commit d5696725b2a4c59503f5e0bc33adeee7f30cd45b Author: Avi Kivity Date: Wed Dec 2 12:28:47 2009 +0200 KVM: VMX: Fix comparison of guest efer with stale host value update_transition_efer() masks out some efer bits when deciding whether to switch the msr during guest entry; for example, NX is emulated using the mmu so we don't need to disable it, and LMA/LME are handled by the hardware. However, with shared msrs, the comparison is made against a stale value; at the time of the guest switch we may be running with another guest's efer. Fix by deferring the mask/compare to the actual point of guest entry. Noted by Marcelo. Signed-off-by: Avi Kivity commit f50146bd7bdb75435638e60d4960edd9bcdf88b8 Author: Carsten Otte Date: Mon Nov 30 17:14:41 2009 +0100 KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c This patch corrects the checking of the new address for the prefix register. On s390, the prefix register is used to address the cpu's lowcore (address 0...8k). This check is supposed to verify that the memory is readable and present. copy_from_guest is a helper function, that can be used to read from guest memory. It applies prefixing, adds the start address of the guest memory in user, and then calls copy_from_user. Previous code was obviously broken for two reasons: - prefixing should not be applied here. The current prefix register is going to be updated soon, and the address we're looking for will be 0..8k after we've updated the register - we're adding the guest origin (gmsor) twice: once in subject code and once in copy_from_guest With kuli, we did not hit this problem because (a) we were lucky with previous prefix register content, and (b) our guest memory was mmaped very low into user address space. Cc: stable@kernel.org Signed-off-by: Carsten Otte Reported-by: Alexander Graf Signed-off-by: Avi Kivity commit 3548bab501887a698a887639b54d5ecaf35c387b Author: Avi Kivity Date: Sat Nov 28 14:18:47 2009 +0200 KVM: Drop user return notifier when disabling virtualization on a cpu This way, we don't leave a dangling notifier on cpu hotunplug or module unload. In particular, module unload leaves the notifier pointing into freed memory. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 046d87103addc117f0d397196e85189722d4d7de Author: Sheng Yang Date: Fri Nov 27 16:46:26 2009 +0800 KVM: VMX: Disable unrestricted guest when EPT disabled Otherwise would cause VMEntry failure when using ept=0 on unrestricted guest supported processors. Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit eb3c79e64a70fb8f7473e30fa07e89c1ecc2c9bb Author: Avi Kivity Date: Tue Nov 24 15:20:15 2009 +0200 KVM: x86 emulator: limit instructions to 15 bytes While we are never normally passed an instruction that exceeds 15 bytes, smp games can cause us to attempt to interpret one, which will cause large latencies in non-preempt hosts. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit d7b0b5eb3000c6fb902f08c619fcd673a23d8fab Author: Carsten Otte Date: Thu Nov 19 14:21:16 2009 +0100 KVM: s390: Make psw available on all exits, not just a subset This patch moves s390 processor status word into the base kvm_run struct and keeps it up-to date on all userspace exits. The userspace ABI is broken by this, however there are no applications in the wild using this. A capability check is provided so users can verify the updated API exists. Cc: stable@kernel.org Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 3cfc3092f40bc37c57ba556cfd8de4218f2135ab Author: Jan Kiszka Date: Thu Nov 12 01:04:25 2009 +0100 KVM: x86: Add KVM_GET/SET_VCPU_EVENTS This new IOCTL exports all yet user-invisible states related to exceptions, interrupts, and NMIs. Together with appropriate user space changes, this fixes sporadic problems of vmsave/restore, live migration and system reset. [avi: future-proof abi by adding a flags field] Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 65ac7264043740572ba804edca03c374d70427c9 Author: Avi Kivity Date: Wed Nov 4 11:59:01 2009 +0200 KVM: VMX: Report unexpected simultaneous exceptions as internal errors These happen when we trap an exception when another exception is being delivered; we only expect these with MCEs and page faults. If something unexpected happens, things probably went south and we're better off reporting an internal error and freezing. Signed-off-by: Avi Kivity commit a9c7399d6cda0a092b347f8ee49bbe44f6e1fe66 Author: Avi Kivity Date: Wed Nov 4 11:54:59 2009 +0200 KVM: Allow internal errors reported to userspace to carry extra data Usually userspace will freeze the guest so we can inspect it, but some internal state is not available. Add extra data to internal error reporting so we can expose it to the debugger. Extra data is specific to the suberror. Signed-off-by: Avi Kivity commit c54d2aba27f0c505d61700d656c5943e96982e60 Author: Jan Kiszka Date: Mon Nov 2 17:20:28 2009 +0100 KVM: Reorder IOCTLs in main kvm.h Obviously, people tend to extend this header at the bottom - more or less blindly. Ensure that deprecated stuff gets its own corner again by moving things to the top. Also add some comments and reindent IOCTLs to make them more readable and reduce the risk of number collisions. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 4f926bf291863c237188bd2e27222ed801f12094 Author: Jan Kiszka Date: Fri Oct 30 12:46:59 2009 +0100 KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG Decouple KVM_GUESTDBG_INJECT_DB and KVM_GUESTDBG_INJECT_BP from KVM_GUESTDBG_ENABLE, their are actually orthogonal. At this chance, avoid triggering the WARN_ON in kvm_queue_exception if there is already an exception pending and reject such invalid requests. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit e50212bb51356f0df48d6cce0aae5acf41df336d Author: Marcelo Tosatti Date: Thu Oct 29 13:44:17 2009 -0200 KVM: only clear irq_source_id if irqchip is present Otherwise kvm might attempt to dereference a NULL pointer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2204ae3c96e9a1fed50f7ee19ce092e69d7dfe82 Author: Marcelo Tosatti Date: Thu Oct 29 13:44:16 2009 -0200 KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic Otherwise kvm might attempt to dereference a NULL pointer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3ddea128ad75bd33e88780fe44f44c3717369b98 Author: Marcelo Tosatti Date: Thu Oct 29 13:44:15 2009 -0200 KVM: x86: disallow multiple KVM_CREATE_IRQCHIP Otherwise kvm will leak memory on multiple KVM_CREATE_IRQCHIP. Also serialize multiple accesses with kvm->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 92c0d900159a4fa582e1c8ebcc1c4a8020defff5 Author: Avi Kivity Date: Thu Oct 29 11:00:16 2009 +0200 KVM: VMX: Remove vmx->msr_offset_efer This variable is used to communicate between a caller and a callee; switch to a function argument instead. Signed-off-by: Avi Kivity commit 5f5c35aad5ccaa8f1bd5d9e12f9f5251f3180093 Author: Marcelo Tosatti Date: Mon Oct 26 16:50:14 2009 -0200 KVM: MMU: update invlpg handler comment Large page translations are always synchronized (either in level 3 or level 2), so its not necessary to properly deal with them in the invlpg handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7c93be44a4790b0fd9dddf29c5503cf86c105304 Author: Marcelo Tosatti Date: Mon Oct 26 16:48:33 2009 -0200 KVM: VMX: move CR3/PDPTR update to vmx_set_cr3 GUEST_CR3 is updated via kvm_set_cr3 whenever CR3 is modified from outside guest context. Similarly pdptrs are updated via load_pdptrs. Let kvm_set_cr3 perform the update, removing it from the vcpu_run fast path. Signed-off-by: Marcelo Tosatti Acked-by: Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 1655e3a3dc16e21b60d9950e201b38a9894f1bcf Author: Gleb Natapov Date: Sun Oct 25 17:45:07 2009 +0200 KVM: remove duplicated task_switch check Probably introduced by a bad merge. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c0a187e12d48235cb8af4cdeff283117ab42bbb2 Author: Hollis Blanchard Date: Fri Oct 23 00:35:30 2009 +0000 KVM: powerpc: Fix BUILD_BUG_ON condition The old BUILD_BUG_ON implementation didn't work with __builtin_constant_p(). Fixing that revealed this test had been inverted for a long time without anybody noticing... Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 26bb0981b3ff00b9177d61fe55806db978862b3c Author: Avi Kivity Date: Mon Sep 7 11:14:12 2009 +0300 KVM: VMX: Use shared msr infrastructure Instead of reloading syscall MSRs on every preemption, use the new shared msr infrastructure to reload them at the last possible minute (just before exit to userspace). Improves vcpu/idle/vcpu switches by about 2000 cycles (when EFER needs to be reloaded as well). [jan: fix slot index missing indirection] Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 18863bdd60f895f3b3ba16b15e8331aee781e8ec Author: Avi Kivity Date: Mon Sep 7 11:12:18 2009 +0300 KVM: x86 shared msr infrastructure The various syscall-related MSRs are fairly expensive to switch. Currently we switch them on every vcpu preemption, which is far too often: - if we're switching to a kernel thread (idle task, threaded interrupt, kernel-mode virtio server (vhost-net), for example) and back, then there's no need to switch those MSRs since kernel threasd won't be exiting to userspace. - if we're switching to another guest running an identical OS, most likely those MSRs will have the same value, so there's little point in reloading them. - if we're running the same OS on the guest and host, the MSRs will have identical values and reloading is unnecessary. This patch uses the new user return notifiers to implement last-minute switching, and checks the msr values to avoid unnecessary reloading. Signed-off-by: Avi Kivity commit 44ea2b1758d88ad822e65b1c4c21ca6164494e27 Author: Avi Kivity Date: Sun Sep 6 15:55:37 2009 +0300 KVM: VMX: Move MSR_KERNEL_GS_BASE out of the vmx autoload msr area Currently MSR_KERNEL_GS_BASE is saved and restored as part of the guest/host msr reloading. Since we wish to lazy-restore all the other msrs, save and reload MSR_KERNEL_GS_BASE explicitly instead of using the common code. Signed-off-by: Avi Kivity commit 3ce672d48400e0112fec7a3cb6bb2120493c6e11 Author: Eduardo Habkost Date: Sat Oct 24 02:50:00 2009 -0200 KVM: SVM: init_vmcb(): remove redundant save->cr0 initialization The svm_set_cr0() call will initialize save->cr0 properly even when npt is enabled, clearing the NW and CD bits as expected, so we don't need to initialize it manually for npt_enabled anymore. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 18fa000ae453767b59ab97477925895a3f0c46ea Author: Eduardo Habkost Date: Sat Oct 24 02:49:59 2009 -0200 KVM: SVM: Reset cr0 properly on vcpu reset svm_vcpu_reset() was not properly resetting the contents of the guest-visible cr0 register, causing the following issue: https://bugzilla.redhat.com/show_bug.cgi?id=525699 Without resetting cr0 properly, the vcpu was running the SIPI bootstrap routine with paging enabled, making the vcpu get a pagefault exception while trying to run it. Instead of setting vmcb->save.cr0 directly, the new code just resets kvm->arch.cr0 and calls kvm_set_cr0(). The bits that were set/cleared on vmcb->save.cr0 (PG, WP, !CD, !NW) will be set properly by svm_set_cr0(). kvm_set_cr0() is used instead of calling svm_set_cr0() directly to make sure kvm_mmu_reset_context() is called to reset the mmu to nonpaging mode. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit fa40052ca04bdbbeb20b839cc8ffe9fa7beefbe9 Author: Eduardo Habkost Date: Sat Oct 24 02:49:58 2009 -0200 KVM: VMX: Use macros instead of hex value on cr0 initialization This should have no effect, it is just to make the code clearer. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6ff5894cdfe7103083bd15b31002434ccd351039 Author: Arnd Bergmann Date: Thu Oct 22 14:19:27 2009 +0200 KVM: Enable 32bit dirty log pointers on 64bit host With big endian userspace, we can't quite figure out if a pointer is 32 bit (shifted >> 32) or 64 bit when we read a 64 bit pointer. This is what happens with dirty logging. To get the pointer interpreted correctly, we thus need Arnd's patch to implement a compat layer for the ioctl: A better way to do this is to add a separate compat_ioctl() method that converts this for you. Based on initial patch from Arnd Bergmann. Signed-off-by: Arnd Bergmann Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit afbcf7ab8d1bc8c2d04792f6d9e786e0adeb328d Author: Glauber Costa Date: Fri Oct 16 15:28:36 2009 -0400 KVM: allow userspace to adjust kvmclock offset When we migrate a kvm guest that uses pvclock between two hosts, we may suffer a large skew. This is because there can be significant differences between the monotonic clock of the hosts involved. When a new host with a much larger monotonic time starts running the guest, the view of time will be significantly impacted. Situation is much worse when we do the opposite, and migrate to a host with a smaller monotonic clock. This proposed ioctl will allow userspace to inform us what is the monotonic clock value in the source host, so we can keep the time skew short, and more importantly, never goes backwards. Userspace may also need to trigger the current data, since from the first migration onwards, it won't be reflected by a simple call to clock_gettime() anymore. [marcelo: future-proof abi with a flags field] [jan: fix KVM_GET_CLOCK by clearing flags field instead of checking it] Signed-off-by: Glauber Costa Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit cd5a2685de4a642fd0bd763e8c19711ef08dbe27 Author: Marcelo Tosatti Date: Sat Oct 17 22:47:23 2009 -0300 KVM: fix irq_source_id size verification find_first_zero_bit works with bit numbers, not bytes. Fixes https://sourceforge.net/tracker/?func=detail&aid=2847560&group_id=180599&atid=893831 Reported-by: "Xu, Jiajun" Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti commit 6be7d3062b59af891be7e40c6802350de5f78cef Author: Jan Kiszka Date: Sun Oct 18 13:24:54 2009 +0200 KVM: SVM: Cleanup NMI singlestep Push the NMI-related singlestep variable into vcpu_svm. It's dealing with an AMD-specific deficit, nothing generic for x86. Acked-by: Gleb Natapov Signed-off-by: Jan Kiszka arch/x86/include/asm/kvm_host.h | 1 - arch/x86/kvm/svm.c | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) Signed-off-by: Marcelo Tosatti commit 94fe45da48f921d01d8ff02a0ad54ee9c326d7f0 Author: Jan Kiszka Date: Sun Oct 18 13:24:44 2009 +0200 KVM: x86: Fix guest single-stepping while interruptible Commit 705c5323 opened the doors of hell by unconditionally injecting single-step flags as long as guest_debug signaled this. This doesn't work when the guest branches into some interrupt or exception handler and triggers a vmexit with flag reloading. Fix it by saving cs:rip when user space requests single-stepping and restricting the trace flag injection to this guest code position. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit ffde22ac53b6d6b1d7206f1172176a667eead778 Author: Ed Swierk Date: Thu Oct 15 15:21:43 2009 -0700 KVM: Xen PV-on-HVM guest support Support for Xen PV-on-HVM guests can be implemented almost entirely in userspace, except for handling one annoying MSR that maps a Xen hypercall blob into guest address space. A generic mechanism to delegate MSR writes to userspace seems overkill and risks encouraging similar MSR abuse in the future. Thus this patch adds special support for the Xen HVM MSR. I implemented a new ioctl, KVM_XEN_HVM_CONFIG, that lets userspace tell KVM which MSR the guest will write to, as well as the starting address and size of the hypercall blobs (one each for 32-bit and 64-bit) that userspace has loaded from files. When the guest writes to the MSR, KVM copies one page of the blob from userspace to the guest. I've tested this patch with a hacked-up version of Gerd's userspace code, booting a number of guests (CentOS 5.3 i386 and x86_64, and FreeBSD 8.0-RC1 amd64) and exercising PV network and block devices. [jan: fix i386 build warning] [avi: future proof abi with a flags field] Signed-off-by: Ed Swierk Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94c30d9ca6fd00a69e367b91b6e13572c41938c5 Author: Jan Kiszka Date: Mon Oct 12 08:51:40 2009 +0200 KVM: x86: Drop unneeded CONFIG_HAS_IOMEM check This (broken) check dates back to the days when this code was shared across architectures. x86 has IOMEM, so drop it. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit 9fb41ba8962b18159e16cac81e7d57e897964038 Author: Marcelo Tosatti Date: Mon Oct 12 19:37:31 2009 -0300 KVM: VMX: fix handle_pause declaration There's no kvm_run argument anymore. Signed-off-by: Marcelo Tosatti commit 6b7d7e762b238f908fe4c3345c2c6eb5c3fdbd59 Author: Zachary Amsden Date: Fri Oct 9 16:26:08 2009 -1000 KVM: x86: Harden against cpufreq If cpufreq can't determine the CPU khz, or cpufreq is not compiled in, we should fallback to the measured TSC khz. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 565d0998ecac8373b9a9ecd5991abe74318cd235 Author: Mark Langsdorf Date: Tue Oct 6 14:25:02 2009 -0500 KVM: SVM: Support Pause Filter in AMD processors New AMD processors (Family 0x10 models 8+) support the Pause Filter Feature. This feature creates a new field in the VMCB called Pause Filter Count. If Pause Filter Count is greater than 0 and intercepting PAUSEs is enabled, the processor will increment an internal counter when a PAUSE instruction occurs instead of intercepting. When the internal counter reaches the Pause Filter Count value, a PAUSE intercept will occur. This feature can be used to detect contended spinlocks, especially when the lock holding VCPU is not scheduled. Rescheduling another VCPU prevents the VCPU seeking the lock from wasting its quantum by spinning idly. Experimental results show that most spinlocks are held for less than 1000 PAUSE cycles or more than a few thousand. Default the Pause Filter Counter to 3000 to detect the contended spinlocks. Processor support for this feature is indicated by a CPUID bit. On a 24 core system running 4 guests each with 16 VCPUs, this patch improved overall performance of each guest's 32 job kernbench by approximately 3-5% when combined with a scheduler algorithm thati caused the VCPU to sleep for a brief period. Further performance improvement may be possible with a more sophisticated yield algorithm. Signed-off-by: Mark Langsdorf Signed-off-by: Marcelo Tosatti commit 4b8d54f9726f1159330201c5ed2ea30bce7e63ea Author: Zhai, Edwin Date: Fri Oct 9 18:03:20 2009 +0800 KVM: VMX: Add support for Pause-Loop Exiting New NHM processors will support Pause-Loop Exiting by adding 2 VM-execution control fields: PLE_Gap - upper bound on the amount of time between two successive executions of PAUSE in a loop. PLE_Window - upper bound on the amount of time a guest is allowed to execute in a PAUSE loop If the time, between this execution of PAUSE and previous one, exceeds the PLE_Gap, processor consider this PAUSE belongs to a new loop. Otherwise, processor determins the the total execution time of this loop(since 1st PAUSE in this loop), and triggers a VM exit if total time exceeds the PLE_Window. * Refer SDM volume 3b section 21.6.13 & 22.1.3. Pause-Loop Exiting can be used to detect Lock-Holder Preemption, where one VP is sched-out after hold a spinlock, then other VPs for same lock are sched-in to waste the CPU time. Our tests indicate that most spinlocks are held for less than 212 cycles. Performance tests show that with 2X LP over-commitment we can get +2% perf improvement for kernel build(Even more perf gain with more LPs). Signed-off-by: Zhai Edwin Signed-off-by: Marcelo Tosatti commit d255f4f2bac81eb798fcf76938147f1f6c756ae2 Author: Zhai, Edwin Date: Fri Oct 9 18:03:20 2009 +0800 KVM: introduce kvm_vcpu_on_spin Introduce kvm_vcpu_on_spin, to be used by VMX/SVM to yield processing once the cpu detects pause-based looping. Signed-off-by: "Zhai, Edwin" Signed-off-by: Marcelo Tosatti commit d36f19e9ecd22dc035ef4cc6361b564be650f8e7 Author: Joerg Roedel Date: Fri Oct 9 16:08:33 2009 +0200 KVM: SVM: Remove nsvm_printk debugging code With all important informations now delivered through tracepoints we can savely remove the nsvm_printk debugging code for nested svm. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 532a46b98963f110e9425a251e127d6537915dde Author: Joerg Roedel Date: Fri Oct 9 16:08:32 2009 +0200 KVM: SVM: Add tracepoint for skinit instruction This patch adds a tracepoint for the event that the guest executed the SKINIT instruction. This information is important because SKINIT is an SVM extenstion not yet implemented by nested SVM and we may need this information for debugging hypervisors that do not yet run on nested SVM. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit ec1ff79084fccdae0dca9b04b89dcdf3235bbfa1 Author: Joerg Roedel Date: Fri Oct 9 16:08:31 2009 +0200 KVM: SVM: Add tracepoint for invlpga instruction This patch adds a tracepoint for the event that the guest executed the INVLPGA instruction. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 236649de3360916ef85f95c82723af17a25b9179 Author: Joerg Roedel Date: Fri Oct 9 16:08:30 2009 +0200 KVM: SVM: Add tracepoint for #vmexit because intr pending This patch adds a special tracepoint for the event that a nested #vmexit is injected because kvm wants to inject an interrupt into the guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 17897f366847a9ef8a13e3671a0eb1c15422abed Author: Joerg Roedel Date: Fri Oct 9 16:08:29 2009 +0200 KVM: SVM: Add tracepoint for injected #vmexit This patch adds a tracepoint for a nested #vmexit that gets re-injected to the guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit d8cabddf7e8fbdced2dd668c98d7762c7ef75245 Author: Joerg Roedel Date: Fri Oct 9 16:08:28 2009 +0200 KVM: SVM: Add tracepoint for nested #vmexit This patch adds a tracepoint for every #vmexit we get from a nested guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 0ac406de8f3780c8e0801d5719e1ec531d4a6ec4 Author: Joerg Roedel Date: Fri Oct 9 16:08:27 2009 +0200 KVM: SVM: Add tracepoint for nested vmrun This patch adds a dedicated kvm tracepoint for a nested vmrun. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit cd3ff653ae0b45bac7a19208e9c75034fcacc85f Author: Joerg Roedel Date: Fri Oct 9 16:08:26 2009 +0200 KVM: SVM: Move INTR vmexit out of atomic code The nested SVM code emulates a #vmexit caused by a request to open the irq window right in the request function. This is a bug because the request function runs with preemption and interrupts disabled but the #vmexit emulation might sleep. This can cause a schedule()-while-atomic bug and is fixed with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 8d23c4662427507f432c96ac4fa3b76f0a8360cd Author: Alexander Graf Date: Fri Oct 9 16:08:25 2009 +0200 KVM: SVM: Notify nested hypervisor of lost event injections If event_inj is valid on a #vmexit the host CPU would write the contents to exit_int_info, so the hypervisor knows that the event wasn't injected. We don't do this in nested SVM by now which is a bug and fixed by this patch. Signed-off-by: Alexander Graf Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit e3267cbbbfbcbe9c18833e89b10beabb1117cb55 Author: Glauber Costa Date: Tue Oct 6 13:24:50 2009 -0400 KVM: x86: include pvclock MSRs in msrs_to_save For a while now, we are issuing a rdmsr instruction to find out which msrs in our save list are really supported by the underlying machine. However, it fails to account for kvm-specific msrs, such as the pvclock ones. This patch moves then to the beginning of the list, and skip testing them. Cc: stable@kernel.org Signed-off-by: Glauber Costa Signed-off-by: Marcelo Tosatti commit 91586a3b7d79432772a3cdcb81473cd08a237c79 Author: Jan Kiszka Date: Mon Oct 5 13:07:21 2009 +0200 KVM: x86: Rework guest single-step flag injection and filtering Push TF and RF injection and filtering on guest single-stepping into the vender get/set_rflags callbacks. This makes the whole mechanism more robust wrt user space IOCTL order and instruction emulations. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit a68a6a7282373bedba8a2ed751b6384edb983a64 Author: Marcelo Tosatti Date: Thu Oct 1 19:28:39 2009 -0300 KVM: x86: disable paravirt mmu reporting Disable paravirt MMU capability reporting, so that new (or rebooted) guests switch to native operation. Paravirt MMU is a burden to maintain and does not bring significant advantages compared to shadow anymore. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 355be0b9300579e02275d7d19374806a974ce622 Author: Jan Kiszka Date: Sat Oct 3 00:31:21 2009 +0200 KVM: x86: Refactor guest debug IOCTL handling Much of so far vendor-specific code for setting up guest debug can actually be handled by the generic code. This also fixes a minor deficit in the SVM part /wrt processing KVM_GUESTDBG_ENABLE. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 201d945bcfb0d53e67c9c081f7c28532eb4669c7 Author: Juan Quintela Date: Wed Sep 30 17:39:07 2009 +0200 KVM: remove pre_task_link setting in save_state_to_tss16 Now, also remove pre_task_link setting in save_state_to_tss16. commit b237ac37a149e8b56436fabf093532483bff13b0 Author: Gleb Natapov Date: Mon Mar 30 16:03:24 2009 +0300 KVM: Fix task switch back link handling. CC: Gleb Natapov Signed-off-by: Juan Quintela Signed-off-by: Marcelo Tosatti commit 3230bb4707278dba25e24cd0a11ea7b2337678ee Author: Zachary Amsden Date: Tue Sep 29 11:38:37 2009 -1000 KVM: Fix hotplug of CPUs Both VMX and SVM require per-cpu memory allocation, which is done at module init time, for only online cpus. Backend was not allocating enough structure for all possible CPUs, so new CPUs coming online could not be hardware enabled. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit e6732a5af9dfcc87078706a1598df0efe5010f73 Author: Zachary Amsden Date: Tue Sep 29 11:38:36 2009 -1000 KVM: Fix printk name error in svm.c Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 0cca790753bf0cab4b070801a46df8e1297c17f6 Author: Zachary Amsden Date: Tue Sep 29 11:38:35 2009 -1000 KVM: Kill the confusing tsc_ref_khz and ref_freq variables They are globals, not clearly protected by any ordering or locking, and vulnerable to various startup races. Instead, for variable TSC machines, register the cpufreq notifier and get the TSC frequency directly from the cpufreq machinery. Not only is it always right, it is also perfectly accurate, as no error prone measurement is required. On such machines, when a new CPU online is brought online, it isn't clear what frequency it will start with, and it may not correspond to the reference, thus in hardware_enable we clear the cpu_tsc_khz variable to zero and make sure it is set before running on a VCPU. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit b820cc0ca20fdcf8014d8e57421cf29095e39392 Author: Zachary Amsden Date: Tue Sep 29 11:38:34 2009 -1000 KVM: Separate timer intialization into an indepedent function Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 0c6ddcebd8303ada6faefa6f72ac18b6230320c4 Author: Jiri Slaby Date: Fri Sep 25 09:33:38 2009 +0200 KVM: fix lock imbalance in kvm_*_irq_source_id() Stanse found 2 lock imbalances in kvm_request_irq_source_id and kvm_free_irq_source_id. They omit to unlock kvm->irq_lock on fail paths. Fix that by adding unlock labels at the end of the functions and jump there from the fail paths. Signed-off-by: Jiri Slaby Cc: Marcelo Tosatti Signed-off-by: Avi Kivity commit e935d48e1b49451490218e1181d9834176200955 Author: Joerg Roedel Date: Wed Sep 16 15:24:19 2009 +0200 KVM: SVM: Remove remaining occurences of rdtscll This patch replaces them with native_read_tsc() which can also be used in expressions and saves a variable on the stack in this case. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 33527ad7e12a5cb50b39165945464600ab2f7632 Author: Joerg Roedel Date: Wed Sep 16 15:24:16 2009 +0200 KVM: SVM: don't copy exit_int_info on nested vmrun The exit_int_info field is only written by the hardware and never read. So it does not need to be copied on a vmrun emulation. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 7fcdb5103d10d2eb75876637a2efa9679cce14d3 Author: Joerg Roedel Date: Wed Sep 16 15:24:15 2009 +0200 KVM: SVM: reorganize svm_interrupt_allowed This patch reorganizes the logic in svm_interrupt_allowed to make it better to read. This is important because the logic is a lot more complicated with Nested SVM. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit bfc33beaed3ecf0f92612dc7fb7095029ae7722e Author: Huang Weiyi Date: Wed Sep 16 21:09:39 2009 +0800 KVM: remove duplicated #include Remove duplicated #include('s) in arch/x86/kvm/lapic.c Signed-off-by: Huang Weiyi Signed-off-by: Marcelo Tosatti commit 10474ae8945ce08622fd1f3464e55bd817bf2376 Author: Alexander Graf Date: Tue Sep 15 11:37:46 2009 +0200 KVM: Activate Virtualization On Demand X86 CPUs need to have some magic happening to enable the virtualization extensions on them. This magic can result in unpleasant results for users, like blocking other VMMs from working (vmx) or using invalid TLB entries (svm). Currently KVM activates virtualization when the respective kernel module is loaded. This blocks us from autoloading KVM modules without breaking other VMMs. To circumvent this problem at least a bit, this patch introduces on demand activation of virtualization. This means, that instead virtualization is enabled on creation of the first virtual machine and disabled on destruction of the last one. So using this, KVM can be easily autoloaded, while keeping other hypervisors usable. Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e8b3433a5c062e94e34cadb6144c10689a497bc3 Author: Marcelo Tosatti Date: Tue Sep 8 14:47:38 2009 -0300 KVM: SVM: remove needless mmap_sem acquision from nested_svm_map nested_svm_map unnecessarily takes mmap_sem around gfn_to_page, since gfn_to_page / get_user_pages are responsible for it. Signed-off-by: Marcelo Tosatti Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 80ced186d1761d2a66163d9eeb468ddb1f7e0697 Author: Mohammed Gamal Date: Tue Sep 1 12:48:18 2009 +0200 KVM: VMX: Enhance invalid guest state emulation - Change returned handle_invalid_guest_state() to return relevant exit codes - Move triggering the emulation from vmx_vcpu_run() to vmx_handle_exit() - Return to userspace instead of repeatedly trying to emulate instructions that have already failed Signed-off-by: Mohammed Gamal Signed-off-by: Marcelo Tosatti commit abcf14b560a4ba62c659e6f5aafc8f9934d8c130 Author: Mohammed Gamal Date: Tue Sep 1 15:28:11 2009 +0200 KVM: x86 emulator: Add pusha and popa instructions This adds pusha and popa instructions (opcodes 0x60-0x61), this enables booting MINIX with invalid guest state emulation on. [marcelo: remove unused variable] Signed-off-by: Mohammed Gamal Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94677e61fdcf4cdae11a1b7c8974d7034ef9bd1b Author: Mohammed Gamal Date: Fri Aug 28 16:41:44 2009 +0200 KVM: x86 emulator: Add missing decoder flags for 'or' instructions Add missing decoder flags for or instructions (0xc-0xd). Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit bfd99ff5d483b11c32bca49fbff7a5ac59038b0a Author: Avi Kivity Date: Wed Aug 26 14:57:50 2009 +0300 KVM: Move assigned device code to own file Signed-off-by: Avi Kivity commit 367e1319b229110a27c53221c2fa32a6aa86d4a9 Author: Avi Kivity Date: Wed Aug 26 14:57:07 2009 +0300 KVM: Return -ENOTTY on unrecognized ioctls Not the incorrect -EINVAL. Signed-off-by: Avi Kivity commit 680b3648ba89c44ac8d0316f78a0d6e147b88809 Author: Gleb Natapov Date: Mon Aug 24 11:54:26 2009 +0300 KVM: Drop kvm->irq_lock lock from irq injection path The only thing it protects now is interrupt injection into lapic and this can work lockless. Even now with kvm->irq_lock in place access to lapic is not entirely serialized since vcpu access doesn't take kvm->irq_lock. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit eba0226bdfffe262e72b8360e4d0d12070e9a0f0 Author: Gleb Natapov Date: Mon Aug 24 11:54:25 2009 +0300 KVM: Move IO APIC to its own lock The allows removal of irq_lock from the injection path. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 280aa177dcd1edc718d8a92f17f235b783ec6307 Author: Gleb Natapov Date: Mon Aug 24 11:54:24 2009 +0300 KVM: Convert irq notifiers lists to RCU locking Use RCU locking for mask/ack notifiers lists. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 136bdfeee7b5bc986fc94af3a40d7d13ea37bb95 Author: Gleb Natapov Date: Mon Aug 24 11:54:23 2009 +0300 KVM: Move irq ack notifier list to arch independent code Mask irq notifier list is already there. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e42bba90bfe724e32fc66ab1b6cb283c51d064b1 Author: Gleb Natapov Date: Mon Aug 24 11:54:22 2009 +0300 KVM: Move irq routing data structure to rcu locking Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3e71f88bc90792a187703860cf22fbed7c12cbd9 Author: Gleb Natapov Date: Mon Aug 24 11:54:21 2009 +0300 KVM: Maintain back mapping from irqchip/pin to gsi Maintain back mapping from irqchip/pin to gsi to speedup interrupt acknowledgment notifications. [avi: build fix on non-x86/ia64] Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 46e624b95c36d729bdf24010fff11d16f6fe94fa Author: Gleb Natapov Date: Mon Aug 24 11:54:20 2009 +0300 KVM: Change irq routing table to use gsi indexed array Use gsi indexed array instead of scanning all entries on each interrupt injection. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1a6e4a8c276e122dbeb6f9c610f29735e4236bfd Author: Gleb Natapov Date: Mon Aug 24 11:54:19 2009 +0300 KVM: Move irq sharing information to irqchip level This removes assumptions that max GSIs is smaller than number of pins. Sharing is tracked on pin level not GSI level. [avi: no PIC on ia64] Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 79c727d4371aa9af47b0cdbcad53742b5a7919ea Author: Gleb Natapov Date: Mon Aug 24 11:54:18 2009 +0300 KVM: Call pic_clear_isr() on pic reset to reuse logic there Also move call of ack notifiers after pic state change. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 851ba6922ac575b749f63dee0ae072808163ba6a Author: Avi Kivity Date: Mon Aug 24 11:10:17 2009 +0300 KVM: Don't pass kvm_run arguments They're just copies of vcpu->run, which is readily accessible. Signed-off-by: Avi Kivity commit d8769fedd4e8323d8afea9a1b2bdebff4f1d2d37 Author: Mohammed Gamal Date: Sun Aug 23 14:24:25 2009 +0300 KVM: x86 emulator: Introduce No64 decode option Introduces a new decode option "No64", which is used for instructions that are invalid in long mode. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 0934ac9d135021bec7f877340a039104af233bf3 Author: Mohammed Gamal Date: Sun Aug 23 14:24:24 2009 +0300 KVM: x86 emulator: Add 'push/pop sreg' instructions [avi: avoid buffer overflow] Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 45ec431c52f89218ac01d87663e54de30458edf0 Author: Avi Kivity Date: Sun Aug 23 17:46:21 2009 +0300 KVM: Don't wrap schedule() with vcpu_put()/vcpu_load() Preemption notifiers will do that for us automatically. Signed-off-by: Avi Kivity commit 58988b07cfe2ebe9f9b39d973fd8a083390e749f Merge: 22763c5 8e7cac7 Author: Avi Kivity Date: Thu Dec 3 09:30:06 2009 +0200 Merge remote branch 'tip/x86/entry' into kvm-updates/2.6.33 Signed-off-by: Avi Kivity commit c84d6efd363a3948eb32ec40d46bab6338580454 Merge: 7539cf4 22763c5 Author: James Morris Date: Thu Dec 3 12:03:40 2009 +0530 Merge branch 'master' into next commit 7cff7ce94a7df2ccf5ac76b48ee0995fee2060df Author: Andrew Morton Date: Fri Oct 9 00:01:39 2009 -0700 include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn't understand __builtin_object_size Maybe 4.1.0 doesn't too, but this fixed it for me. Caused by: 4a31276: x86: Turn the copy_from_user check into an (optional) compile time warning 9f0cf4a: x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() Signed-off-by: Andrew Morton Cc: Arjan van de Ven LKML-Reference: <200910090724.n997OQl6013538@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit c803ba901718c313c469b3510fa93b0011482736 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:22 2009 +0000 sparc,leon: init_leon srmmu cleanup Removed unused assignment and capitalized srmmu name for sparc_leon Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit fdd98ac96e88962d99a469bae6cc500f83ad5a17 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:21 2009 +0000 sparc32: Remove early interrupt enable. Enabling interrupts at this points causes the warning "start_kernel(): bug: interrupts were enabled early" to be printed in start_kernel(). Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 3560f788fe207de25c96ea547c56fc8a750e37a5 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:20 2009 +0000 sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit ff236f7af82fae0818d7cbb5a0717d3218d00bdd Author: Mikulas Patocka Date: Wed Dec 2 22:26:38 2009 -0800 sunhme: fix dma warning in Sun HME Fix dma-api-checking warnings in Sun HME Sun HME driver is mapping the first fragment with dma_map_single and subsequent fragments with dma_map_page. It is unmapping all fragments with dma_unmap_single and that produces the warning. This patch changes it so that it unmaps only the first fragment with dma_unmap_single and subsequent fragments are unmapped with dma_unmap_page. WARNING: at lib/dma-debug.c:816 check_unmap+0x3ac/0x780() hme 0000:01:01.1: DMA-API: device driver frees DMA memory with wrong function [device address=0x00000000c1082000] [size=32 bytes] [mapped as page] [unmapped as single] Modules linked in: nbd sunhme openpromfs sermouse unix Call Trace: [0000000000456910] warn_slowpath_common+0x50/0xa0 [0000000000571f4c] check_unmap+0x3ac/0x780 [0000000000572570] debug_dma_unmap_page+0x50/0x60 [000000001002f5fc] happy_meal_tx+0x11c/0x260 [sunhme] [000000001002fc4c] happy_meal_interrupt+0xcc/0xe0 [sunhme] [0000000000492d94] handle_fasteoi_irq+0x74/0x100 [000000000042ac0c] handler_irq+0xcc/0x100 [0000000000426a54] valid_addr_bitmap_patch+0x14/0x1c0 [0000000000665de0] _spin_unlock_irqrestore+0x40/0x60 [0000000000462bb8] mod_timer+0x118/0x1a0 [00000000005ec254] sk_reset_timer+0x14/0x40 [0000000000635e4c] tcp_event_new_data_sent+0x8c/0xc0 [0000000000639374] __tcp_push_pending_frames+0x34/0xc0 ---[ end trace 73d5c42c1e9f11c4 ]--- Mapped at: [<000000001002f148>] happy_meal_start_xmit+0x308/0x480 [sunhme] [<00000000005fc858>] dev_hard_start_xmit+0x318/0x3c0 [<000000000060fec4>] sch_direct_xmit+0x1a4/0x200 [<00000000005fced0>] dev_queue_xmit+0x410/0x560 [<0000000000604a1c>] neigh_resolve_output+0xfc/0x300 Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit 8818a9d884e3a589899be3303958fff182e98e55 Author: Ilpo Järvinen Date: Wed Dec 2 22:24:02 2009 -0800 tcp: clear hints to avoid a stale one (nfs only affected?) Eric Dumazet mentioned in a context of another problem: "Well, it seems NFS reuses its socket, so maybe we miss some cleaning as spotted in this old patch" I've not check under which conditions that actually happens but if true, we need to make sure we don't accidently leave stale hints behind when the write queue had to be purged (whether reusing with NFS can actually happen if purging took place is something I'm not sure of). ...At least it compiles. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4 Author: David S. Miller Date: Wed Dec 2 22:18:58 2009 -0800 tcp: sysctl_tcp_cookie_size needs to be exported to modules. Otherwise: ERROR: "sysctl_tcp_cookie_size" [net/ipv6/ipv6.ko] undefined! make[1]: *** [__modpost] Error 1 Signed-off-by: David S. Miller commit f9a2e69e8bb77fe6c8e7da6380ebd4330c00a29e Author: David S. Miller Date: Wed Dec 2 22:12:04 2009 -0800 tcp: Fix warning on 64-bit. net/ipv4/tcp_output.c: In function ‘tcp_make_synack’: net/ipv4/tcp_output.c:2488: warning: cast from pointer to integer of different size Signed-off-by: David S. Miller commit 91e2ff3528ac90b9dbcb04b76488e8ad74e3d3d9 Author: Eric W. Biederman Date: Wed Dec 2 13:19:08 2009 +0000 net: Teach vlans to cleanup as a pernet subsystem Take advantage of the fact that an explicit rtnl_kill_links is unnecessary (and skipping it improves batching), as network namespace exit calls dellink on all remaining virtual devices, and rtnl_link_unregister calls dellink on all outstanding devices in that network namespace. To do this we need to leave the vlan proc directories in place until after network device exit time, which is done by using register_pernet_subsys instead of register_pernet_device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 650de8de16aa7c168c34d1b6a3191e4a5e2648c8 Author: Ben Hutchings Date: Tue Dec 1 19:10:18 2009 +0000 atl1e: Remove non-implementation of ethtool set_msglevel() operation Unimplemented operations should not silently fail. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 95fec16869f22e94ff13dc5731aeba36bc47bbe6 Author: Ben Hutchings Date: Tue Dec 1 19:10:03 2009 +0000 atl1e: Remove redundant definitions of ethtool operations These functions provide the default behaviour and do not need to be set in struct ethtool_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ac936929092dc6a5409b627c4c67305ab9b626b3 Author: Ben Hutchings Date: Tue Dec 1 19:09:52 2009 +0000 atl1e: Allow TX checksum offload and TSO to be disabled and reenabled Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4957faade11b3a278c3b3cade3411ddc20afa791 Author: William Allen Simpson Date: Wed Dec 2 18:25:27 2009 +0000 TCPCT part 1g: Responder Cookie => Initiator Parse incoming TCP_COOKIE option(s). Calculate TCP_COOKIE option. Send optional data. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 Requires: TCPCT part 1a: add request_values parameter for sending SYNACK TCPCT part 1b: generate Responder Cookie secret TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1f: Initiator Cookie => Responder Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9 Author: William Allen Simpson Date: Wed Dec 2 18:23:05 2009 +0000 TCPCT part 1f: Initiator Cookie => Responder Calculate and format TCP_COOKIE option. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 Requires: TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit e56fb50f2b7958b931c8a2fc0966061b3f3c8f3a Author: William Allen Simpson Date: Wed Dec 2 18:19:30 2009 +0000 TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS Provide per socket control of the TCP cookie option and SYN/SYNACK data. This is a straightforward re-implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 The principle difference is using a TCP option to carry the cookie nonce, instead of a user configured offset in the data. Allocations have been rearranged to avoid requiring GFP_ATOMIC. Requires: net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit 435cf559f02ea3a3159eb316f97dc88bdebe9432 Author: William Allen Simpson Date: Wed Dec 2 18:17:05 2009 +0000 TCPCT part 1d: define TCP cookie option, extend existing struct's Data structures are carefully composed to require minimal additions. For example, the struct tcp_options_received cookie_plus variable fits between existing 16-bit and 8-bit variables, requiring no additional space (taking alignment into consideration). There are no additions to tcp_request_sock, and only 1 pointer in tcp_sock. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 The principle difference is using a TCP option to carry the cookie nonce, instead of a user configured offset in the data. This is more flexible and less subject to user configuration error. Such a cookie option has been suggested for many years, and is also useful without SYN data, allowing several related concepts to use the same extension option. "Re: SYN floods (was: does history repeat itself?)", September 9, 1996. http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html "Re: what a new TCP header might look like", May 12, 1998. ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail These functions will also be used in subsequent patches that implement additional features. Requires: TCPCT part 1a: add request_values parameter for sending SYNACK TCPCT part 1b: generate Responder Cookie secret TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit 519855c508b9a17878c0977a3cdefc09b59b30df Author: William Allen Simpson Date: Wed Dec 2 18:14:19 2009 +0000 TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS Define sysctl (tcp_cookie_size) to turn on and off the cookie option default globally, instead of a compiled configuration option. Define per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant data values, retrieving variable cookie values, and other facilities. Move inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h, near its corresponding struct tcp_options_received (prior to changes). This is a straightforward re-implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 These functions will also be used in subsequent patches that implement additional features. Requires: net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit da5c78c82629a167794436e4306b4cf1faddea90 Author: William Allen Simpson Date: Wed Dec 2 18:12:09 2009 +0000 TCPCT part 1b: generate Responder Cookie secret Define (missing) hash message size for SHA1. Define hashing size constants specific to TCP cookies. Add new function: tcp_cookie_generator(). Maintain global secret values for tcp_cookie_generator(). This is a significantly revised implementation of earlier (15-year-old) Photuris [RFC-2522] code for the KA9Q cooperative multitasking platform. Linux RCU technique appears to be well-suited to this application, though neither of the circular queue items are freed. These functions will also be used in subsequent patches that implement additional features. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e6b4d11367519bc71729c09d05a126b133c755be Author: William Allen Simpson Date: Wed Dec 2 18:07:39 2009 +0000 TCPCT part 1a: add request_values parameter for sending SYNACK Add optional function parameters associated with sending SYNACK. These parameters are not needed after sending SYNACK, and are not used for retransmission. Avoids extending struct tcp_request_sock, and avoids allocating kernel memory. Also affects DCCP as it uses common struct request_sock_ops, but this parameter is currently reserved for future use. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e00484023ebe94dce03fdd1270edf3e191c2bc79 Merge: 3248e16 1f5865e Author: David S. Miller Date: Wed Dec 2 22:00:34 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 9fe02668fe48a1d546196bc1392330ff28d9bd57 Merge: 602da29 10ca302 Author: David S. Miller Date: Wed Dec 2 21:59:53 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 commit 602da297e293eb2cbd28dcdbbe247593a46a853a Author: David S. Miller Date: Wed Dec 2 21:58:33 2009 -0800 ide: Increase WAIT_DRQ to accomodate some CF cards and SSD drives. Based upon a patch by Philippe De Muyter, and feedback from Mark Lord and Robert Hancock. As noted by Mark Lord, the outdated ATA1 spec specifies a 20msec timeout for setting DRQ but lots of common devices overshoot this. Signed-off-by: David S. Miller commit eed89d0f9d3383851cec634565a6414fae70fe91 Author: Ian Molton Date: Thu Dec 3 13:50:42 2009 +0800 hwrng: core - Prevent too-small buffer sizes This patch prevents the hw_random core using too small of a buffer on machines with small cacheline sizes. Signed-off-by: Ian Molton Signed-off-by: Herbert Xu commit fe5ed91ddce85a0ed0e4f92c10b099873ef62167 Author: Hidetoshi Seto Date: Thu Dec 3 11:33:08 2009 +0900 x86, mce: don't restart timer if disabled Even it is in error path unlikely taken, add_timer_on() at CPU_DOWN_FAILED* needs to be skipped if mce_timer is disabled. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Cc: Huang Ying Cc: Jan Beulich Cc: Signed-off-by: H. Peter Anvin commit 3248e1682035eef6774c280cd7be19984feb78bb Author: Michael Chan Date: Wed Dec 2 15:15:39 2009 +0000 cnic: Use dma_alloc_coherent(). Replace pci_alloc_consistent() with dma_alloc_coherent() so that appropriate GFP flags can be used. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 15971c3ce3caf9a92b603a61b07e0be8c9b9d276 Author: Michael Chan Date: Wed Dec 2 15:15:38 2009 +0000 cnic: Fix rq_page_table DMA address. The old code mistakenly zeroed out the upper 32-bit of the DMA address. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit dd2e4dbce32a2802088f6d0132046afec9bfb2ad Author: Michael Chan Date: Wed Dec 2 15:15:37 2009 +0000 cnic: Fix bogus iSCSI MAC address Fix code to read the proper iSCSI MAC address for bnx2x devices. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 8b065b671d3096bfe0dbc9a833cb592f84642436 Author: Michael Chan Date: Wed Dec 2 15:15:36 2009 +0000 cnic: Fix bnx2x ring shutdown. Need to send a HALT command to the firmware to fully shutdown the bnx2x rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit c7596b79feb3d15bea64007254f77233bda811f4 Author: Michael Chan Date: Wed Dec 2 15:15:35 2009 +0000 cnic: Fix ring I/O address for bnx2x devices. Old code was initializing the ring producers using an incorrect I/O address. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 8f9b3f69944ab7eacb9273b4723087c42b5f4046 Author: Amit Kumar Salecha Date: Wed Dec 2 15:46:19 2009 +0000 netxen: fix failure cases for fw hang recovery Handle few corner cases in firmware hang detection and recovery: o Don't mark device state as READY, till handshake with firmware is done. o During probe, if start_firmware fails, restore reference count. o Don't increment refernce count, if start_firmware fails during firmware reset. o Clear __NX_RESETTING bit, incase of fatal error or tempeature reaches critical limit so that pci remove() doesn't poll on this bit. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f58dbd7320e148b25cc0088ef37f524c99c6790f Author: Narender Kumar Date: Wed Dec 2 15:46:18 2009 +0000 netxen : fix debug tools access for NX2031 Driver maps only some part of the MMIO bar 0 in case of NX2031. This is sufficient for tx and rx by the driver. When debug tools need to access resources in unmapped regions, driver needs to map these on the fly in order to complete read/write request. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 0be8401051c716be4533272e983b7eed3d83946d Author: Bruce Allan Date: Wed Dec 2 17:03:18 2009 +0000 e1000e: correct ICH/PCH PHY operations function pointers Some function pointers for a few PHY operations (for 82578 and 82567) and were set incorrectly causing functions to be executed that were accessing incorrect PHY register offsets for that particular device. This patch also moves a few PHY-specific functions from ich8lan.c to the more appropriate phy.c. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5eb6f3c70fcc0fb19b9087863e6e29f96a76f3bd Author: Bruce Allan Date: Wed Dec 2 17:02:43 2009 +0000 e1000e: refactor PHY ID detection workaround The workaround that detects the correct PHY ID when an initial read of the PHY ID registers returns an invalid one should retry up to ten times with a small delay between attempts using a single PHY address and then repeat using the remaining possible PHY addresses. Do this instead of trying each possible PHY address repeating that up to 100 times. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94e5b651595a8eb77665787f7559a6a7c916c195 Author: Bruce Allan Date: Wed Dec 2 17:02:14 2009 +0000 e1000e: check_polarity function pointers not set for 8257x The function pointers for 8257x devices are not set. This is not really a problem now because there is nothing in the driver that references the pointers for this particular MAC-family (the appropriate functions are called directly), but the pointers should be set in case they are used in the future. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c81c2d95449cd218c2022ce6014c52fef1eb1f66 Author: Alexander Duyck Date: Wed Dec 2 16:49:02 2009 +0000 skbuff: remove skb_dma_map/unmap The two functions skb_dma_map/unmap are unsafe to use as they cause problems when packets are cloned and sent to multiple devices while a HW IOMMU is enabled. Due to this it is best to remove the code so it is not used by any other network driver maintainters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4188d8affc8267a0f0f1b587a4d0a4b9b7f2999 Author: Alexander Duyck Date: Wed Dec 2 16:48:38 2009 +0000 tg3: remove use of skb_dma_map/unmap Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Matt Carlson CC: Michael Chan Signed-off-by: David S. Miller commit a73b796ed85483a2b999d74d197f31f887ffa82d Author: Alexander Duyck Date: Wed Dec 2 16:48:18 2009 +0000 be2net: remove use of skb_dma_map/unmap Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Eilon Greenstein Signed-off-by: David S. Miller commit e95524a726904a1d2b91552f0577838f67d53c6c Author: Alexander Duyck Date: Wed Dec 2 16:47:57 2009 +0000 bnx2: remove skb_dma_map/unmap calls from driver Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. [ Fix bnx2_free_tx_skbs() ring indexing and use NETDEV_TX_OK return code in bnx2_start_xmit() after cleaning up DMA mapping errors. -Mchan ] Signed-off-by: Alexander Duyck Signed-off-by: Michael Chan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7d5ca40ff56e2cd4e30bbe91f2d0deab6bfc006 Author: Alexander Duyck Date: Wed Dec 2 16:47:37 2009 +0000 igbvf: remove skb_dma_map/unmap call from drivers This patch removes the skb_dma_map/unmap calls from the igbvf driver due to the fact that it does not play well with HW IOMMU when combined with transmitting cloned skbs. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6366ad331f436388129dfc044db871de79604e4d Author: Alexander Duyck Date: Wed Dec 2 16:47:18 2009 +0000 igb: remove use of skb_dma_map from driver This change removes skb_dma_map/unmap calls from the igb driver due to the fact that the call is incompatible with iommu enabled kernels. In order to prevent warnings about using the wrong unmap call I have added a mapped_as_page value to the buffer_info structure to track if the mapped region is a page or a buffer. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e5a43549f7a58509a91b299a51337d386697b92c Author: Alexander Duyck Date: Wed Dec 2 16:46:56 2009 +0000 ixgbe: remove skb_dma_map/unmap calls from driver This patch removes skb_dma_map/unmap calls from the ixgbe driver due to the fact that the calls don't work with HW IOMMU enabled systems. The problem is that multiple mappings will give different results when HW IOMMU is enabled and the skb_dma_map/unmap calls only have one location to store mappings. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit adeaa9086399780688679f2a7de4243bdbf77295 Author: Alexander Duyck Date: Wed Dec 2 16:46:31 2009 +0000 ixgb: remove use of skb_dma_map from ixgb skb_dma_map is incompatible with HW iommu due to the fact that multiple mappings can result in different results each time. For this reason it is best to just remove use of these function calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 602c0554d7b00c9703e1a0bc584e9c583f577642 Author: Alexander Duyck Date: Wed Dec 2 16:46:00 2009 +0000 e1000: remove use of skb_dma_map from e1000 driver Remove the use of skb_dma_map from the e1000 driver in order to avoid issues when HW iommu are in use. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 03b1320dfceeb093890cdd7433e910dca6225ddb Author: Alexander Duyck Date: Wed Dec 2 16:45:31 2009 +0000 e1000e: remove use of skb_dma_map from e1000e driver In testing we have found that skb_dma_map/unmap is incompatible with HW IOMMU due to the fact that multiple mappings will return different results. In order to correct this we need to remove skb_dma_map/unmap calls from the e1000e driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9a01609e1885b827b979d6d9dd86f43208a9e5fc Author: Olof Johansson Date: Tue Dec 1 20:09:26 2009 +0000 arm: omap: Add omap3_defconfig Having one combined defconfig that is the superset of the individual defconfigs for OMAP3 platforms is useful for easily finding build errors. Not to mention convenient as a base if you want to boot several platforms with a single kernel image. Signed-off-by: Olof Johansson Signed-off-by: Tony Lindgren commit 1f5865e73fb18834f52bd6e1d27bce86ff372089 Author: Shan Wei Date: Wed Dec 2 15:39:04 2009 -0800 ip: update the description of rp_filter in ip-sysctl.txt The commit 27fed4175acf81ddd91d9a4ee2fd298981f60295 (ip: fix logic of reverse path filter sysctl) has changed the logic of rp_filter. The document about rp_filter is out of date. Now, setting conf/all/rp_filte with 0 can also enable source validation. Update the document according to the commit. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 529fab67d78747ddc3a8a2bbd0d1aab1d059439f Author: Breno Leitao Date: Thu Nov 26 07:31:49 2009 +0000 bnx2: EEH is failing with timeout bnx2 is failing when a PCI error is detected. The error is the following: bnx2: Chip not in correct endian mode bnx2: fw sync timeout, reset code = 404001d This error was caused because the way pci_restore_state() is working after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear saved_state after the state has been restored"). Signed-off-by: Breno Leitao Acked-by: Michael Chan Signed-off-by: David S. Miller commit d8ea23931ce83b56801976e6f1fa893462c1c477 Author: Krzysztof Helt Date: Wed Dec 2 23:27:12 2009 +0100 ALSA: opti9xx: remove snd_opti9xx fields Remove snd_opti9xx fields which are indirect arguments to the snd_opti9xx_configure(). Pass these values as function arguments. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 10ca30285d5283ac88ba7ae94111f2e9fe59c232 Author: Bartlomiej Zolnierkiewicz Date: Wed Dec 2 14:23:01 2009 -0800 cs5535: add pci id for AMD based CS5535 controllers Based on commit 02cb009 for pata_cs5530. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit e8d0eab4d9eda9f5e97852f780f020bfb134f9f0 Author: Jiri Kosina Date: Wed Dec 2 22:54:11 2009 +0100 HID: add support for Acan FG-8100 barcode reader Acan FG-8100 barcode reader (0x04b4/0xbca1) has vendor ID of cypress and requires the same MIN/MAX swap descriptor quirk as other barcode readers from cypress. Reported-by: Stijn Ghesquiere Signed-off-by: Jiri Kosina commit 0cf55e1ec08bb5a22e068309e2d8ba1180ab4239 Author: Hidetoshi Seto Date: Wed Dec 2 17:28:07 2009 +0900 sched, cputime: Introduce thread_group_times() This is a real fix for problem of utime/stime values decreasing described in the thread: http://lkml.org/lkml/2009/11/3/522 Now cputime is accounted in the following way: - {u,s}time in task_struct are increased every time when the thread is interrupted by a tick (timer interrupt). - When a thread exits, its {u,s}time are added to signal->{u,s}time, after adjusted by task_times(). - When all threads in a thread_group exits, accumulated {u,s}time (and also c{u,s}time) in signal struct are added to c{u,s}time in signal struct of the group's parent. So {u,s}time in task struct are "raw" tick count, while {u,s}time and c{u,s}time in signal struct are "adjusted" values. And accounted values are used by: - task_times(), to get cputime of a thread: This function returns adjusted values that originates from raw {u,s}time and scaled by sum_exec_runtime that accounted by CFS. - thread_group_cputime(), to get cputime of a thread group: This function returns sum of all {u,s}time of living threads in the group, plus {u,s}time in the signal struct that is sum of adjusted cputimes of all exited threads belonged to the group. The problem is the return value of thread_group_cputime(), because it is mixed sum of "raw" value and "adjusted" value: group's {u,s}time = foreach(thread){{u,s}time} + exited({u,s}time) This misbehavior can break {u,s}time monotonicity. Assume that if there is a thread that have raw values greater than adjusted values (e.g. interrupted by 1000Hz ticks 50 times but only runs 45ms) and if it exits, cputime will decrease (e.g. -5ms). To fix this, we could do: group's {u,s}time = foreach(t){task_times(t)} + exited({u,s}time) But task_times() contains hard divisions, so applying it for every thread should be avoided. This patch fixes the above problem in the following way: - Modify thread's exit (= __exit_signal()) not to use task_times(). It means {u,s}time in signal struct accumulates raw values instead of adjusted values. As the result it makes thread_group_cputime() to return pure sum of "raw" values. - Introduce a new function thread_group_times(*task, *utime, *stime) that converts "raw" values of thread_group_cputime() to "adjusted" values, in same calculation procedure as task_times(). - Modify group's exit (= wait_task_zombie()) to use this introduced thread_group_times(). It make c{u,s}time in signal struct to have adjusted values like before this patch. - Replace some thread_group_cputime() by thread_group_times(). This replacements are only applied where conveys the "adjusted" cputime to users, and where already uses task_times() near by it. (i.e. sys_times(), getrusage(), and /proc//stat.) This patch have a positive side effect: - Before this patch, if a group contains many short-life threads (e.g. runs 0.9ms and not interrupted by ticks), the group's cputime could be invisible since thread's cputime was accumulated after adjusted: imagine adjustment function as adj(ticks, runtime), {adj(0, 0.9) + adj(0, 0.9) + ....} = {0 + 0 + ....} = 0. After this patch it will not happen because the adjustment is applied after accumulated. v2: - remove if()s, put new variables into signal_struct. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Spencer Candland Cc: Americo Wang Cc: Oleg Nesterov Cc: Balbir Singh Cc: Stanislaw Gruszka LKML-Reference: <4B162517.8040909@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d99ca3b977fc5a93141304f571475c2af9e6c1c5 Author: Hidetoshi Seto Date: Wed Dec 2 17:26:47 2009 +0900 sched, cputime: Cleanups related to task_times() - Remove if({u,s}t)s because no one call it with NULL now. - Use cputime_{add,sub}(). - Add ifndef-endif for prev_{u,s}time since they are used only when !VIRT_CPU_ACCOUNTING. Signed-off-by: Hidetoshi Seto Cc: Peter Zijlstra Cc: Spencer Candland Cc: Americo Wang Cc: Oleg Nesterov Cc: Balbir Singh Cc: Stanislaw Gruszka LKML-Reference: <4B1624C7.7040302@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit be8147e68625a1adb111acfd6b98a492be4b74d0 Author: Tim Blechmann Date: Wed Dec 2 12:32:10 2009 +0100 Revert "sched, x86: Optimize branch hint in __switch_to()" This reverts commit a3a1de0c34de6f5f8332cd6151c46af7813c0fcb. Commit 8ec6993d9f7d961014af970ded57542961fe9ad9 cleared the es and ds selectors, so the original branch hints are correct now. Therefore the branch hint doesn't need to be removed. Signed-off-by: Tim Blechmann LKML-Reference: <4B16503A.8030508@klingt.org> Signed-off-by: Ingo Molnar commit 4c8b581dd28588940a328632e406baab574e0ce5 Author: Sascha Hauer Date: Mon Nov 30 13:31:29 2009 +0100 i.MX27 audmux: Fix register offsets We have two holes in the register space. The driver did not handle this. Fix it. Signed-off-by: Sascha Hauer commit 9e3e7afe9bd73cc3fe0d742ba3391e864e234923 Author: Alan Carvalho de Assis Date: Fri Nov 27 14:09:54 2009 -0200 mx27: mxt_td60: Add support to SD/MMC This patch configures iomux and i2c io expander in order to add support to SD/MMC cards on i-MXT TD60. Signed-off-by: Alan Carvalho de Assis Signed-off-by: Sascha Hauer commit 99063c0bcebcc913165a5d168050326eba3e0996 Author: Jan Beulich Date: Fri Nov 27 15:06:16 2009 +0000 x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h This at once also gets the alignment specification right for x86-64. Signed-off-by: Jan Beulich LKML-Reference: <4B0FF8F80200007800022708@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 01be50a308be466e122c3a8b3d535f1b673ecbd2 Author: Jan Beulich Date: Fri Nov 27 15:04:58 2009 +0000 x86/alternatives: Check replacementlen <= instrlen at build time Having run into the run-(boot-)time check a couple of times lately, I finally took time to find a build-time check so that one doesn't need to analyze the register/stack dump and resolve this (through manual lookup in vmlinux) to the offending construct. The assembler will emit a message like "Error: value of too large for field of 1 bytes at ", which while not pointing out the source location still makes analysis quite a bit easier. Signed-off-by: Jan Beulich LKML-Reference: <4B0FF8AA0200007800022703@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 183bd50f4fe6cd49c1790a90163e3d1ece80f344 Author: Alexander Shishkin Date: Tue Dec 1 14:03:31 2009 +0100 ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB This enables on-chip tracing components found in omap3xxx. Signed-off-by: Alexander Shishkin Acked-by: Tony Lindgren Signed-off-by: Russell King commit c5d6c7708c3e58015b2e4e13e6cea02c8567a94e Author: Alexander Shishkin Date: Tue Dec 1 14:00:51 2009 +0100 ARM: 5841/1: a driver for on-chip ETM and ETB This driver implements support for on-chip Embedded Tracing Macrocell and Embedded Trace Buffer. It allows to trigger tracing of kernel execution flow and exporting trace output to userspace via character device and a sysrq combo. Trace output can then be decoded by a fairly simple open source tool [1] which is already sufficient to get the idea of what the kernel is doing. [1]: http://github.com/virtuoso/etm2human Signed-off-by: Alexander Shishkin Signed-off-by: Russell King commit bdddd2963c0264c56f18043f6fa829d3c1d3d1c0 Author: Rusty Russell Date: Wed Dec 2 14:09:16 2009 +1030 sched: Fix isolcpus boot option Anton Blanchard wrote: > We allocate and zero cpu_isolated_map after the isolcpus > __setup option has run. This means cpu_isolated_map always > ends up empty and if CPUMASK_OFFSTACK is enabled we write to a > cpumask that hasn't been allocated. I introduced this regression in 49557e620339cb13 (sched: Fix boot crash by zalloc()ing most of the cpu masks). Use the bootmem allocator if they set isolcpus=, otherwise allocate and zero like normal. Reported-by: Anton Blanchard Signed-off-by: Rusty Russell Cc: peterz@infradead.org Cc: Linus Torvalds Cc: LKML-Reference: <200912021409.17013.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar Tested-by: Anton Blanchard commit 614c12a1581687501f1b0fc721feff69b47abd92 Author: Rudy Matela Date: Wed Dec 2 01:26:01 2009 -0800 net: Coding style corrections on Sealevel Systems 4021 driver. Changed braces position on some statements. Inserted a space between an "if" keyword and a parenthesis. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit fa1452e808732ae10e8b1267fd75fc2d028d634b Author: Hiroshi Shimamoto Date: Mon Nov 30 14:59:44 2009 +0900 locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit Reorder task_struct field for TRACE_IRQFLAGS to remove padding on 64-bit. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4B135F50.8070302@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 5b23136bcf766a58160a319677b366c90f0cd223 Author: Jean-Mickael Guerin Date: Tue Dec 1 07:52:16 2009 +0000 net: compat_sys_recvmmsg user timespec arg can be NULL We must test if user timespec is non-NULL before copying from userpace, same as sys_recvmmsg(). Commiter note: changed it so that we have just one branch. Signed-off-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d7256d0eb4c82b789125f610fea11c6e82b1bcff Author: Jean-Mickael Guerin Date: Tue Dec 1 08:47:26 2009 +0000 net: compat_mmsghdr must be used in sys_recvmmsg Both to traverse the entries and to set the msg_len field. Commiter note: folded two patches and avoided one branch repeating the compat test. Signed-off-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1786bf009f18f722afbb62143c8541e7e60a4e92 Author: Avi Kivity Date: Mon Nov 30 12:54:51 2009 +0200 core: Clean up user return notifers use of per_cpu Instead of using per_cpu(..., raw_smp_processor_id()), use __get_cpu_var(...). Signed-off-by: Avi Kivity LKML-Reference: <1259578491-4589-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit e859cf8656043f158b4004ccc8cbbf1ba4f97177 Author: Masami Hiramatsu Date: Mon Nov 30 19:02:22 2009 -0500 x86: Fix comments of register/stack access functions Fix typos and some redundant comments of register/stack access functions in asm/ptrace.h. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Roland McGrath Cc: Oleg Nesterov Cc: Wenji Huang Cc: Mahesh J Salgaonkar LKML-Reference: <20091201000222.7669.7477.stgit@harusame> Signed-off-by: Ingo Molnar Suggested-by: Wenji Huang commit 810c07194f6ef541625e65b53392e9f605611a1a Author: Andrei Pelinescu-Onciul Date: Wed Dec 2 01:16:49 2009 -0800 sctp: fix sctp_setsockopt_autoclose compile warning Fix the following warning, when building on 64 bits: net/sctp/socket.c:2091: warning: large integer implicitly truncated to unsigned type Signed-off-by: Andrei Pelinescu-Onciul Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit acb3cecdf89f9a9f30bf493f07dc5af333b45f8e Author: Eric Dumazet Date: Wed Dec 2 01:13:11 2009 -0800 ieee802154: merge cleanup A small cleanup after last net-2.6 merge into net-next-2.6 As we are going to free skb, no need to set skb->skb_iif or skb->dev Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 93aaa45a6ad3f983180223601fc663cc551ad499 Author: Liming Wang Date: Wed Dec 2 16:42:54 2009 +0800 perf tools: Replace %m with %a in sscanf Not all glibc support %m and it results in a compile error if %m not supported. Replace it with %a and (float *) casts. Signed-off-by: Liming Wang Acked-by: Frederic Weisbecker Cc: peterz@infradead.org Cc: mhiramat@redhat.com LKML-Reference: <1259743374-9950-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 6d20792e85187b27ae3d1b76678a2dd7025e8bc2 Author: Suresh Siddha Date: Tue Dec 1 15:31:18 2009 -0800 x86: Remove unnecessary mdelay() from cpu_disable_common() fixup_irqs() already has a mdelay(). Remove the extra and unnecessary mdelay() from cpu_disable_common(). Signed-off-by: Suresh Siddha Cc: Maciej W. Rozycki Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.232177348@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 1c83995b6c7c6bb795bce80f75fbffb15f78db2d Author: Suresh Siddha Date: Tue Dec 1 15:31:17 2009 -0800 x86, ioapic: Document another case when level irq is seen as an edge In the case when cpu goes offline, fixup_irqs() will forward any unhandled interrupt on the offlined cpu to the new cpu destination that is handling the corresponding interrupt. This interrupt forwarding is done via IPI's. Hence, in this case also level-triggered io-apic interrupt will be seen as an edge interrupt in the cpu's APIC IRR. Document this scenario in the code which handles this case by doing an explicit EOI to the io-apic to clear remote IRR of the io-apic RTE. Requested-by: Maciej W. Rozycki Signed-off-by: Suresh Siddha Cc: Maciej W. Rozycki Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.143970505@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit c29d9db338db606c3335a03f337e1d4b7f6bb727 Author: Suresh Siddha Date: Tue Dec 1 15:31:16 2009 -0800 x86, ioapic: Fix the EOI register detection mechanism Maciej W. Rozycki reported: > 82093AA I/O APIC has its version set to 0x11 and it > does not support the EOI register. Similarly I/O APICs > integrated into the 82379AB south bridge and the 82374EB/SB > EISA component. IO-APIC versions below 0x20 don't support EOI register. Some of the Intel ICH Specs (ICH2 to ICH5) documents the io-apic version as 0x2. This is an error with documentation and these ICH chips use io-apic's of version 0x20 and indeed has a working EOI register for the io-apic. Fix the EOI register detection mechanism to check for version 0x20 and beyond. And also, a platform can potentially have io-apic's with different versions. Make the EOI register check per io-apic. Reported-by: Maciej W. Rozycki Signed-off-by: Suresh Siddha Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.065361533@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit ca64c47cecd0321b2e0dcbd7aaff44b68ce20654 Author: Maciej W. Rozycki Date: Tue Dec 1 15:31:15 2009 -0800 x86, io-apic: Move the effort of clearing remoteIRR explicitly before migrating the irq When the level-triggered interrupt is seen as an edge interrupt, we try to clear the remoteIRR explicitly (using either an io-apic eoi register when present or through the idea of changing trigger mode of the io-apic RTE to edge and then back to level). But this explicit try also needs to happen before we try to migrate the irq. Otherwise irq migration attempt will fail anyhow, as it postpones the irq migration to a later attempt when it sees the remoteIRR in the io-apic RTE still set. Signed-off-by: "Maciej W. Rozycki" Reviewed-by: Suresh Siddha Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233334.975416130@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 1cedae72904b85462082dbcfd5190309ba37f8bd Author: Frederic Weisbecker Date: Wed Dec 2 07:32:16 2009 +0100 hw-breakpoints: Keep track of user disabled breakpoints When we disable a breakpoint through dr7, we unregister it right away, making us lose track of its corresponding address register value. It means that the following sequence would be unsupported: - set address in dr0 - enable it through dr7 - disable it through dr7 - enable it through dr7 because we lost the address register value when we disabled the breakpoint. Don't unregister the disabled breakpoints but rather disable them. Reported-by: "K.Prasad" Signed-off-by: Frederic Weisbecker LKML-Reference: <1259735536-9236-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6b62fe019e39edfd1dbe3f224ecd0a87d9365223 Author: Frederic Weisbecker Date: Wed Dec 2 07:23:10 2009 +0100 tracing/syscalls: Make syscall events print callbacks static enter_syscall_print_##sname and exit_syscall_print_##sname don't need to have a global scope. Make them static. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jason Baron Cc: Lai Jiangshan LKML-Reference: <1259734990-9034-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3a9089fd78367e2c6c815129030b790a0f5c2715 Author: Jason Baron Date: Tue Dec 1 12:18:49 2009 -0500 tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook The introduction of the new 'DECLARE_EVENT_CLASS()' obviates the need for the 'TRACE_EVENT()' macro in some cases. Thus, docbook style comments that used to live with 'TRACE_EVENT()' are now moved to 'DEFINE_EVENT()'. Thus, we need to make the docbook system understand the new 'DEFINE_EVENT()' macro. In addition I've tried to futureproof the patch, by also adding support for 'DEFINE_SINGLE_EVENT()', since there has been discussion about renaming: TRACE_EVENT() -> DEFINE_SINGLE_EVENT(). Without this patch the tracepoint docbook fails to build. I've verified that this patch correctly builds the tracepoint docbook which currently covers signals, and irqs. Changes in v2: - properly indent perl 'if' statements Signed-off-by: Jason Baron Acked-by: Steven Rostedt Acked-by: Randy Dunlap Cc: William Cohen Cc: Frederic Weisbecker Cc: Mathieu Desnoyers Cc: Masami Hiramatsu LKML-Reference: <200912011718.nB1HIn7t011371@int-mx04.intmail.prod.int.phx2.redhat.com> Signed-off-by: Ingo Molnar commit 8592e6486a177a02f048567cb928bc3a1f9a86c3 Author: Tejun Heo Date: Wed Dec 2 12:56:46 2009 +0900 sched: Revert 498657a478c60be092208422fefa9c7b248729c2 498657a478c60be092208422fefa9c7b248729c2 incorrectly assumed that preempt wasn't disabled around context_switch() and thus was fixing imaginary problem. It also broke KVM because it depended on ->sched_in() to be called with irq enabled so that it can do smp calls from there. Revert the incorrect commit and add comment describing different contexts under with the two callbacks are invoked. Avi: spotted transposed in/out in the added comment. Signed-off-by: Tejun Heo Acked-by: Avi Kivity Cc: peterz@infradead.org Cc: efault@gmx.de Cc: rusty@rustcorp.com.au LKML-Reference: <1259726212-30259-2-git-send-email-tj@kernel.org> Signed-off-by: Ingo Molnar commit 55873ed87fe6d34bd6f3a303c2d2ec6632c14525 Author: Hideyuki Sasaki Date: Tue Dec 1 12:15:58 2009 +0000 net/ps3: Add support for gelic link negotiation Add ethtool_ops.set_settings support to the PS3 gelic network driver. Allows manual setting of ethernet link speed. Signed-off-by: Hideyuki Sasaki Signed-off-by: Geoff Levand Signed-off-by: David S. Miller commit d4d7f1f9116089a4ae5102dcda35e8120308a515 Author: Geoff Levand Date: Tue Dec 1 12:15:53 2009 +0000 net/ps3: Cleanup gelic enums Cleanup of the gelic driver enumerations: o Add some missing commas. o Add an Ether port post fix (PS3 currently only supports PORT_0). o Add a new enum gelic_lv1_phy to use when interacting with the PHY. Signed-off-by: Geoff Levand Signed-off-by: David S. Miller commit 0dffc83e5b831df1df83dfe32a0c267347f9950b Author: Ajit Khaparde Date: Sun Nov 29 17:57:46 2009 +0000 be2net: fix unnecessary access to hardware to get link, port info Every time while doing ethtool->get_settings we are accessing the hardware to get link status and port information. This is not necessary. We now use the cached copy for this info and update it when the link status changes. From: Suresh R Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit b7b83ac39a177741a378d728d82e87de9b0a01a5 Author: Ajit Khaparde Date: Sun Nov 29 17:57:22 2009 +0000 be2net: Add be_rx_polls counter Add be_rx_polls to count number of times NAPI called rx poll function. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit ca66ef500b874de4bf58e05f9d18ccdce64eabbc Author: Ajit Khaparde Date: Sun Nov 29 17:56:56 2009 +0000 be2net: fix to allow port beacon when device is closed port identification/beaconing is failing if device open has not been done. Fixing it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit ca9e4988ccbde3b11116679f1b023eb75df8017e Author: Ajit Khaparde Date: Sun Nov 29 17:56:26 2009 +0000 be2net: check for valid ether address Allow only valid ether addresses to be assigned and used for the interface. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 35a652859ad76d8bd989025952ecb80d7c5304a4 Author: Ajit Khaparde Date: Sun Nov 29 17:55:39 2009 +0000 be2net: initialize netdev->perm_addr patch to initialize netdev->perm_addr Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 51c59870f324805ed30eaa2c0089b4cb5f9f7c71 Author: Ajit Khaparde Date: Sun Nov 29 17:54:54 2009 +0000 be2net: set netdev->vlan_features appropriately patch to initialize netdev->vlan_features appropriately. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 7c7afb083675b3d4d012a2aacec3a958ba484ab0 Author: Jie Yang Date: Tue Dec 1 17:18:34 2009 +0000 atl1e:disable NETIF_F_TSO6 for hardware limit For hardware limit to support TSOV6, just disable this feature Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 8528b016d64a7c1c97ba6540ab53a538348d5026 Author: Roel Kluin Date: Tue Dec 1 15:54:24 2009 +0000 e1000e: Use sizeof struct rather than pointer in e1000_get_eeprom() Don't use the sizeof the pointer to clear the result Signed-off-by: Roel Kluin Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 07f025e6bad7292af3904b8f49cd33e7b5fe3467 Author: Bruce Allan Date: Tue Dec 1 15:53:48 2009 +0000 e1000e: PHY type cleanups in e1000e_check_downshift() Remove the case for 82577 because it does not support the ability to check for downshift. Add case for e1000_phy_bm which can do this. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b71b419a60d200f553658a97c9f49a46f58e8bb Author: Bruce Allan Date: Tue Dec 1 15:53:07 2009 +0000 e1000e: add debug messages Add some helpful debug messages. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ff5b664351a94754031c1e5783f0cea6b3000ed Author: Bruce Allan Date: Tue Dec 1 15:51:11 2009 +0000 e1000e: comment corrections Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9e135a2e6266eba276f33c404a2478499bc07ff5 Author: Bruce Allan Date: Tue Dec 1 15:50:31 2009 +0000 e1000e: enable new 82567V-3 device This new PCI device ID is for a new combination of MAC and PHY both of which already have supporting code in the driver, just not yet in this combination. During validation of the device, an intermittent issue was discovered with waking it from a suspended state which can be resolved with the pre-existing workaround to disable gigabit speed prior to suspending. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1a40d5c170f472d541844cb5b4292efbe02ef89c Author: Bruce Allan Date: Tue Dec 1 15:49:51 2009 +0000 e1000e: ensure the link state is correct for serdes links This patch ensures that the link state (as reported in mac->serdes_has_link) will transition to false when autoneg fails to complete but valid codewords were detected. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 17f208deb9bf88315aa72c08c866a235c399fb9a Author: Bruce Allan Date: Tue Dec 1 15:47:22 2009 +0000 e1000e: provide family-specific PHY power up/down operations The different families (80003es2lan, 8257x, ICHx/PCH) supported by the driver each have their own conditions when the PHY can be powered down. This patch rewrites the PHY power up/down code to fit with the family- specific style used in the driver. All pre-existing calls to power up or down the PHY remain untouched. A new call to power down the PHY when removing the driver when the interface is down replaces the current call to reset the PHY in order to reduce power consumption. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eb656d4552a6c9de5fdcee4a376b171f57b8a4a2 Author: Bruce Allan Date: Tue Dec 1 15:47:02 2009 +0000 e1000e: guard against buffer overflow in cable length tables Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit caaddaf83501c79fe11b183c8972e60d8b7d5d56 Author: Bruce Allan Date: Tue Dec 1 15:46:43 2009 +0000 e1000e: provide family-specific functions to manage VLAN filter arrays The two MAC-families that have VLAN filter table register arrays manage each a bit differently from one another, so provide family-specific functions for managing the register arrays and function pointers to access the appropriate function. Also make sure attempts to access these register arrays are not done on parts not supporting that feature. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ec70ccd806111ba3caf596def91a8580138b12db Author: Kristian Høgsberg Date: Tue Dec 1 15:05:01 2009 -0500 perf: Don't free perf_mmap_data until work has been done In the CONFIG_PERF_USE_VMALLOC case, perf_mmap_data_free() only schedules the cleanup of the perf_mmap_data struct. In that case we have to wait until the work has been done before we free data. Signed-off-by: Kristian Høgsberg Cc: David S. Miller Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: LKML-Reference: <1259697901-1747-1-git-send-email-krh@bitplanet.net> Signed-off-by: Ingo Molnar commit bdad0db7dbdb37d0bb3c7d0f65cd3ff599ea6ecb Author: Xiao Guangrong Date: Wed Dec 2 16:08:41 2009 +0800 perf_event: Fix compile error Fix: cc1: warnings being treated as errors builtin-probe.c: In function 'cmd_probe': builtin-probe.c:163: error: unused variable 'fd' Signed-off-by: Xiao Guangrong Cc: Masami Hiramatsu Cc: Peter Zijlstra LKML-Reference: <4B162089.8000907@cn.fujitsu.com> [ v2: use NO_LIBDWARF instead of __used ] Signed-off-by: Ingo Molnar commit c19e33aa840e9202ef8d4c93056b59f3edc2208d Author: Liming Wang Date: Wed Dec 2 14:11:46 2009 +0800 perf tools: Fix _GNU_SOURCE macro related strndup() build error strndup is a GNU extension. So dont include string.h without defining _GNU_SOURCE (it results in a compile error otherwise). Remove these includes as util.h does it already. Signed-off-by: Liming Wang Acked-by: Frederic Weisbecker Acked-by: Xiao Guangrong Cc: peterz@infradead.org Cc: mhiramat@redhat.com LKML-Reference: <1259734306-26323-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 6e36595a2131e7ed5ee2674be54b2713ba7f0490 Author: Zhao Yakui Date: Wed Dec 2 10:03:34 2009 +0800 drm/i915: Declare the new VBT parsing functions as static Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 652af9d74e1a3a10bb10f0d8e8f42ddac26bbc1a Author: Zhao Yakui Date: Wed Dec 2 10:03:33 2009 +0800 drm/i915: Add the missing clonemask for display port on Ironlake Add the missing clonemask for display port on Ironlake. Signed-off-by: Zhao Yakui Reviewed-by: Zhenyu Wang cc: stable@kernel.org Signed-off-by: Eric Anholt commit f24bc39facc1e74eb989908106fe9f6d375ae16e Author: Zhao Yakui Date: Wed Dec 2 10:03:32 2009 +0800 drm/i915: fix the incorrect condition judgement in dp_is_present_in_vbt We were always looking for the PORT_IDPB entry. Signed-off-by: Zhao Yakui Reviewed-by: Zhenyu Wang Signed-off-by: Eric Anholt commit ff9c38bba37937adb909cceb2a6521f2e92e17c6 Merge: 65c0cfa b2722b1 Author: David S. Miller Date: Tue Dec 1 22:13:38 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/ht.c commit 66d2a5952eab875f1286e04f738ef029afdaf013 Author: Dmitry Torokhov Date: Tue Dec 1 21:54:35 2009 -0800 Input: keyboard - fix lack of locking when traversing handler->h_list Keyboard handler should not attempt to traverse handler->h_list on its own, without any locking, otherwise it races with registering and unregistering of input handles which leads to crashes. Introduce input_handler_for_each_handle() helper that allows safely iterate over all handles attached to a particular handler and switch keyboard handler to use it. Reported-by: Jim Paradis Signed-off-by: Dmitry Torokhov commit 4c7886791264f03428d5424befb1b96f08fc90f4 Author: Jerome Glisse Date: Fri Nov 20 14:29:23 2009 +0100 drm/radeon/kms: Rework radeon object handling The locking & protection of radeon object was somewhat messy. This patch completely rework it to now use ttm reserve as a protection for the radeon object structure member. It also shrink down the various radeon object structure by removing field which were redondant with the ttm information. Last it converts few simple functions to inline which should with performances. airlied: rebase on top of r600 and other changes. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 1614f8b17b8cc3ad143541d41569623d30dbc9ec Author: Dave Airlie Date: Tue Dec 1 16:04:56 2009 +1000 drm/radeon/kms: add irq mitigation code for sw interrupt. We really don't need to process every irq that comes in, we only really want to do SW irq processing when we are actually waiting for a fence to pass. I'm not 100% sure this is race free esp on non-MSI systems so it needs some testing. Signed-off-by: Dave Airlie commit d8f60cfc93452d0554f6a701aa8e3236cbee4636 Author: Alex Deucher Date: Tue Dec 1 13:43:46 2009 -0500 drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3) This enables the use of interrupts on r6xx/r7xx hardware. Interrupts are implemented via a ring buffer. The GPU adds interrupts vectors to the ring and the host reads them off in the interrupt handler. The interrupt controller requires firmware like the CP. This firmware must be installed and accessble to the firmware loader for interrupts to function. MSIs don't seem to work on my RS780. They work fine on all my discrete cards. I'm not sure about other RS780s or RS880s. I've disabled MSIs on RS780 and RS880, but it would probably be worth checking on some other systems. v2 - fix some checkpatch.pl problems; re-read the disp int status reg if we restart the ih; v3 - remove the irq handler if r600_irq_init() fails; remove spinlock in r600_ih_ring_fini(); move ih rb overflow check to r600_get_ih_wptr(); move irq ack to separate function; Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 50dafba685c0f12c23d315820370b32d9ba64db7 Author: Dave Airlie Date: Tue Dec 1 15:02:17 2009 +1000 drm/radeon/kms: call correct atom table for digital output dpms. found while working on displayport. Signed-off-by: Dave Airlie commit ee2215f0b269f4c460807e3f827665eb7049aa34 Author: Jerome Glisse Date: Thu Nov 26 15:58:36 2009 +0100 drm/radeon/kms: Don't overwrite crtc_gen_cntl or crtc_gen_cntl2 Don't overwritte crtc_gen_cntl or crtc_gen_cntl2 or we may loose the cursor. This especialy happen when changing video mode. Fix bugs: https://bugzilla.redhat.com/show_bug.cgi?id=529146 Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit ed160143c6967e89aee05b0685e73c4103bb3e38 Author: Alex Deucher Date: Tue Dec 1 14:12:14 2009 -0500 drm/radeon/kms: add tv standard property to tv connectors Lets user select tv-standard. The property was there, just not hooked up. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 72542d77058bd45ccafd1e15ed3c70349fe3277b Author: Dave Airlie Date: Tue Dec 1 14:06:31 2009 +1000 drm/radeon/kms: ignore unposted GPUs with no BIOS. If we find a GPU but we can't find its BIOS and it isn't posted, then ignore it. Signed-off-by: Dave Airlie commit 4b30b87042aa71ed8682e4df622a10456796fccd Author: Dave Airlie Date: Tue Dec 1 09:13:40 2009 +1000 drm/radeon/kms: fix divide by 0 in clocks code If the chip isn't initialised properly this can happen. also fix return value in combios clocks function. Signed-off-by: Dave Airlie commit 7dde8a19656ddec769b609e8b5662aa7243b8b6a Author: Alex Deucher Date: Mon Nov 30 01:40:24 2009 -0500 drm/radeon/kms/atom: pull misc mode info for lvds from bios tables sync polarity, etc. This will likely fix LVDS problems on some laptops. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 30256a3f6b646f6c6ab7276a97b40792faac5f1d Author: Jerome Glisse Date: Mon Nov 30 17:47:59 2009 +0100 drm/radeon/kms: Disable agp only if we are dealing with an AGP GPU On IGP if you pass option agpmode=-1 you would overwrite the set_page function callback with improper function which endup in non functioning hw. This patch will disable agp when giving agpmode=-1 parameter only if we are dealing with an AGP GPU. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit ec51efa9b2b8ff10b535a853c293e85bada886e4 Author: Pierre Ossman Date: Mon Nov 30 21:15:44 2009 +0100 drm/radeon/kms: Disable both CRTCs during mode switch Reconfiguring one CRTC whilst another is running can cause a hang under some circumstances. Unfortunately we haven't pinpointed exactly what those circumstances are, so disable all CRTCs for every mode switch. Signed-off-by: Pierre Ossman Acked-by: Alex Deucher Signed-off-by: Dave Airlie commit 32f48ffea91008a27b99aab7a68a3443559d83fb Author: Alex Deucher Date: Mon Nov 30 01:54:16 2009 -0500 drm/radeon/kms: fix LVDS setup on r4xx R4xx mobility chips use atombios, which does not store the LVDS_GEN_CNTL parameter setup like combios. Rather, it's configured in LVDSEncoderControl. As such, LVDS_GEN_CNTL is set wrong when on resume. Call LVDSEncoderControl to set it properly. Should fix fdo bug 25336 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 23956dfa82eab95931aab5fa9886c1e96c41e4dc Author: Dave Airlie Date: Mon Nov 23 12:01:09 2009 +1000 drm/radeon/kms: add HDP flushing for all GPUs. rendercheck under kms on r600s was failing due to HDP flushing not happening. This adds HDP flushing to the object wait function for r100->r700 families. rendercheck passes basic tests on r600 with this change. Acked-by: Alex Deucher Signed-off-by: Dave Airlie commit 38e1492130c42ac806ffd8b21ccf64eb1c997d10 Author: Michel Dänzer Date: Wed Aug 5 00:19:51 2009 +0200 drm/radeon: Give userspace more accurate information about available memory. This patch varies from the original and just removes memory for kernel pinned objects. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 47381156a8f0d793bacfa346cc4cc515399525f7 Author: Dave Airlie Date: Wed Nov 18 13:39:34 2009 +1000 drm/radeon/kms: pick 8bpp console when 32MB or less VRAM making the pinned console smaller gives X a bit more room to play with. Signed-off-by: Dave Airlie commit 1f3b6a45f0805690269a7a9d265cbbc2f15b6c6e Author: Dave Airlie Date: Tue Oct 13 14:10:37 2009 +1000 drm/radeon/kms: add support for encoder cloning. The RN50 really needs this since its a single crtc card, however other gpus may benefit from it as well. Signed-off-by: Dave Airlie commit 2de3b4841f67a15c7b8e820b84dd6b7cc41370da Author: Jerome Glisse Date: Tue Nov 17 14:08:55 2009 -0800 drm/radeon/kms: fix oops when set_base is call with no FB Just do nothing if crct_set_base() is called with no FB. The oops happens when the user switches between X & vt or in some case when changing mode. Signed-off-by: Jerome Glisse Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit fd874ad0a0dcf715333a3f3564c6486a3a90bb22 Author: Alex Deucher Date: Mon Nov 16 18:33:51 2009 -0500 drm/radeon/kms: add quirk for MSI S270 doesn't have a tv-out port Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 71407c46fecb82c542b6209f021d38a2901969a3 Author: Alex Deucher Date: Tue Nov 17 15:44:01 2009 -0500 drm/radeon/kms: deal with connectors sourced to the same encoder Some systems have multiple connectors connected to the same encoder; e.g., DVI and HDMI connected to the same encoder with the same ddc line. Since we expose connectors as xrandr outputs, randr treats them separately which results in it trying to source the same encoder to different crtcs. If we have an HDMI and DVI-D port on the same encoder, pick the one to be considered connected based on the edid (HDMI if edid indicates HDMI, DVI otherwise). Should fix fdo bug 25150 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3e5f8ff3a9f4e7a71c5371b2122b32faf31c563a Author: Alex Deucher Date: Tue Nov 17 17:12:10 2009 -0500 drm/radeon/kms: add quirk for Acer laptop DVI-I port is actually DVI-D Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 80297e87bc9728a6ce559063fc4c117eba1f955a Author: Alex Deucher Date: Thu Nov 12 14:55:14 2009 -0500 drm/radeon/kms: rework scaler handling Keep requested scaler type in radeon_encoder and the actual scaler type used in radeon_crtc. This prevents us from enabling the scaler when it's not required (i.e., the requested mode is the native mode). Also, always set the adjusted mode equal to the native mode for lvds. Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=522271 Signed-off-by: Alex Deucher Acked-by: Jerome Glisse Signed-off-by: Dave Airlie commit fe6890c3e8019cf1cebce60a86c19180359d3292 Author: Alex Deucher Date: Thu Nov 12 14:01:36 2009 -0500 drm/radeon/kms: fix typo in legacy internal tmds mode fixup Call to set active device was missing. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 17e15b0c719b5ec0b344d3ebe3787b48315a0218 Author: Dave Airlie Date: Thu Nov 5 15:36:53 2009 +1000 drm/radeon/kms: AGP systems need PCI bus mastering enabled We might not hit this yet, but when if we do any sort of writeback we really need to enable PCI bus mastering on these systems from what I can see. This enables PCI BM on all radeons that require it. Signed-off-by: Dave Airlie commit fcec570b27a47e428a9bfc8572ae4c7c230d0488 Author: Alex Deucher Date: Tue Nov 10 21:25:07 2009 -0500 drm/radeon/kms: add support for external tmds on legacy boards This enables initialization of external tmds chips on pre-atom and mac systems. Macs are untested. Also, some macs have single link tmds chips while others have dual link tmds chips. We need to figure out which ones have which. This gets external TMDS working on my RS485 and RV380. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9b9fe72488a3a637e0550cc888e3f7a8f70e521e Author: Alex Deucher Date: Tue Nov 10 15:59:44 2009 -0500 drm/radeon/kms: clean up i2c - Change reg/mask names to match what we use internally and in the bios - Clarify how i2c over gpio on radeon actually works Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ab1e9ea08f1e94639b2d21a6bde5b55d31b1deee Author: Alex Deucher Date: Thu Nov 5 18:27:30 2009 -0500 drm/radeon/kms: dont't pass a radeon_connector to radeon_i2c_do_lock() We need this for supporting things other than ddc on i2c. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 65c0cfafce9575319fb6f70080fbe226e5617e3b Author: Eric W. Biederman Date: Sun Nov 29 15:46:17 2009 +0000 net: remove [un]register_pernet_gen_... and update the docs. No that all of the callers have been updated to set fields in struct pernet_operations, and simplified to let the network namespace core handle the allocation and freeing of the storage for them, remove the surpurpflous methods and update the docs to the new style. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 671011720baa222b6de667cd688aed4dc8908924 Author: Eric W. Biederman Date: Sun Nov 29 15:46:16 2009 +0000 net: Simplify ipip6 aka sit pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ac31cd3cbadc45d6ed2a0ae5d116918b15bb6c22 Author: Eric W. Biederman Date: Sun Nov 29 15:46:15 2009 +0000 net: Simplify ip6_tunnel pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 86de8a631e90a96d136ffd877719471a0b8d8b6d Author: Eric W. Biederman Date: Sun Nov 29 15:46:14 2009 +0000 net: Simplify ipip pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859 Author: Eric W. Biederman Date: Sun Nov 29 15:46:13 2009 +0000 net: Simplify ip_gre pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d2b3eb630767f0b0ae21566b1b88cb512f40c647 Author: Eric W. Biederman Date: Sun Nov 29 15:46:12 2009 +0000 net: Simplify phonet pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit aaab3405e03e91d0e8d30c9d327a2265a7121854 Author: Eric W. Biederman Date: Sun Nov 29 15:46:11 2009 +0000 net: Simplify pppol2tp pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit c879a6fcd6382415015e246b443dc2a1eab604dc Author: Eric W. Biederman Date: Sun Nov 29 15:46:10 2009 +0000 net: Simplify pppoe pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 741a6fa210c5c8828af3819134f644842e0e9c09 Author: Eric W. Biederman Date: Sun Nov 29 15:46:09 2009 +0000 net: Simplify ppp_generic pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e8d02885997081f09272af6b9a27061a142da4c5 Author: Eric W. Biederman Date: Sun Nov 29 15:46:08 2009 +0000 net: Simplify conntrack_proto_gre pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32b51f92d858dd3002ec2240960b772518a6803b Author: Eric W. Biederman Date: Sun Nov 29 15:46:07 2009 +0000 net: Simplify conntrack_proto_dccp pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 23c049ca92548483d5e12c94cc983afb3040f626 Author: Eric W. Biederman Date: Sun Nov 29 15:46:06 2009 +0000 net: Simplify af_key pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 946d1a9298c9e592b189a168326603c92d782b5f Author: Eric W. Biederman Date: Sun Nov 29 15:46:05 2009 +0000 net: Simplify vlan pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 15449745e5d181ae214ceaf0880350bb4e63512a Author: Eric W. Biederman Date: Sun Nov 29 15:46:04 2009 +0000 net: Simplify the bond drivers pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e008b5fc8dc7f46d9904001c7a2155eb1e7d35ab Author: Eric W. Biederman Date: Sun Nov 29 22:25:30 2009 +0000 net: Simplfy default_device_exit and improve batching. - Defer dellink to net_cleanup() allowing for batching. - Fix comment. - Use for_each_netdev_safe again as dev_change_net_namespace touches at most one network device (unlike veth dellink). Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 999b6d39abb4fc446f3465ca4e0a7ac747f49aec Author: Eric W. Biederman Date: Sun Nov 29 22:25:29 2009 +0000 net: Simplify loopback and improve batching. Defer calling unregister_netdevice_queue to cleanup_net. It's simpler and it allows the loopback device to land in the same batch as other network devices. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit f875bae065334907796da12523f9df85c89f5712 Author: Eric W. Biederman Date: Sun Nov 29 22:25:28 2009 +0000 net: Automatically allocate per namespace data. To get the full benefit of batched network namespace cleanup netowrk device deletion needs to be performed by the generic code. When using register_pernet_gen_device and freeing the data in exit_net it is impossible to delay allocation until after exit_net has called as the device uninit methods are no longer safe. To correct this, and to simplify working with per network namespace data I have moved allocation and deletion of per network namespace data into the network namespace core. The core now frees the data only after all of the network namespace exit routines have run. Now it is only required to set the new fields .id and .size in the pernet_operations structure if you want network namespace data to be managed for you automatically. This makes the current register_pernet_gen_device and register_pernet_gen_subsys routines unnecessary. For the moment I have left them as compatibility wrappers in net_namespace.h They will be removed once all of the users have been updated. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 2b035b39970740722598f7a9d548835f9bdd730f Author: Eric W. Biederman Date: Sun Nov 29 22:25:27 2009 +0000 net: Batch network namespace destruction. It is fairly common to kill several network namespaces at once. Either because they are nested one inside the other or because they are cooperating in multiple machine networking experiments. As the network stack control logic does not parallelize easily batch up multiple network namespaces existing together. To get the full benefit of batching the virtual network devices to be removed must be all removed in one batch. For that purpose I have added a loop after the last network device operations have run that batches up all remaining network devices and deletes them. An extra benefit is that the reorganization slightly shrinks the size of the per network namespace data structures replaceing a work_struct with a list_head. In a trivial test with 4K namespaces this change reduced the cost of a destroying 4K namespaces from 7+ minutes (at 12% cpu) to 44 seconds (at 60% cpu). The bulk of that 44s was spent in inet_twsk_purge. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit dcbccbd4f1f6ad0f0e169d4b2e816e42bde06f82 Author: Eric W. Biederman Date: Sun Nov 29 22:25:26 2009 +0000 net: Implement for_each_netdev_reverse. I will need this shortly to implement network namespace shutdown batching. For sanity sake network devices should be removed in the reverse order they were created in. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit a5ee155136b4a8f4ab0e4c9c064b661da475e298 Author: Eric W. Biederman Date: Sun Nov 29 15:45:58 2009 +0000 net: NETDEV_UNREGISTER_PERNET -> NETDEV_UNREGISTER_BATCH The motivation for an additional notifier in batched netdevice notification (rt_do_flush) only needs to be called once per batch not once per namespace. For further batching improvements I need a guarantee that the netdevices are unregistered in order allowing me to unregister an all of the network devices in a network namespace at the same time with the guarantee that the loopback device is really and truly unregistered last. Additionally it appears that we moved the route cache flush after the final synchronize_net, which seems wrong and there was no explanation. So I have restored the original location of the final synchronize_net. Cc: Octavian Purdila Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5a5b6f6f62ac684a5856121d8cffd3c3253dc890 Author: Arnaldo Carvalho de Melo Date: Mon Nov 30 13:02:23 2009 -0800 MIPS: Wire up recvmmsg syscall Reported-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit b2722b1c3a893ec6021508da15b32282ec79f4da Author: Patrick McHardy Date: Tue Dec 1 15:53:57 2009 -0800 ip_fragment: also adjust skb->truesize for packets not owned by a socket When a large packet gets reassembled by ip_defrag(), the head skb accounts for all the fragments in skb->truesize. If this packet is refragmented again, skb->truesize is not re-adjusted to reflect only the head size since its not owned by a socket. If the head fragment then gets recycled and reused for another received fragment, it might exceed the defragmentation limits due to its large truesize value. skb_recycle_check() explicitly checks for linear skbs, so any recycled skb should reflect its true size in skb->truesize. Change ip_fragment() to also adjust the truesize value of skbs not owned by a socket. Reported-and-tested-by: Ben Menchaca Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7e8f44f8d4fa9bb35e32c161fbcdbd6b9e6400e3 Merge: 138f3c8 2127816 Author: David S. Miller Date: Tue Dec 1 15:46:35 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit ee31527a02b0a8e1aa4a5e4084d2db5fa34737ed Author: Bartlomiej Zolnierkiewicz Date: Mon Nov 30 08:55:18 2009 +0000 slc90e66: fix UDMA handling Fix checking of the currently programmed UDMA mode. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 138f3c8518976953563a1316d7e0420c72d4ab96 Author: Li Yewang Date: Tue Dec 1 15:35:05 2009 -0800 ipsec: can not add camellia cipher algorithm when using "ip xfrm state" command can not add camellia cipher algorithm when using "ip xfrm state" command. Signed-off-by: Li Yewang Signed-off-by: David S. Miller commit 045868df2c5eee2330c052f8237b428afa9394fd Author: wanzongshun Date: Tue Dec 1 14:08:47 2009 +0100 ARM: 5844/1: rename w90p910_defconfig to n uc910_defconfig rename w90p910_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 39986ca6bd8a8584d6bc9a52dcdf4653a905c611 Author: wanzongshun Date: Tue Dec 1 14:01:55 2009 +0100 ARM: 5842/1: add spi resource support for nuc900 add spi resource support Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 6aeb4e4a9d3e5c53ebaaeee6bd9cce41a3b8eb09 Author: wanzongshun Date: Tue Dec 1 13:57:28 2009 +0100 ARM: 5839/1: add nuc960_defconfig add nuc960_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 9b5b495281821167f67ca82070a631fbde46ce61 Author: wanzongshun Date: Tue Dec 1 13:55:19 2009 +0100 ARM: 5838/1: add nuc950_defconfig add nuc950_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 5a7b4193e564d1611ecf1cd859aed60d5612d78f Author: Benjamin Herrenschmidt Date: Wed Dec 2 09:28:35 2009 +1100 Revert "powerpc/mm: Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT" This reverts commit c045256d146800ea1d741a8e9e377dada6b7e195. It breaks build when CONFIG_PPC_SUBPAGE_PROT is not set. I will commit a fixed version separately Signed-off-by: Benjamin Herrenschmidt commit f0217c42c9ab3d772e543f635ce628b9478f70b6 Author: Eric Anholt Date: Tue Dec 1 11:56:30 2009 -0800 drm/i915: Fix DDC on some systems by clearing BIOS GMBUS setup. This is a sync of a fix I made in the old UMS code. If the BIOS uses the GMBUS and doesn't clear that setup, then our bit-banging I2C can fail, leading to monitors not being detected. Signed-off-by: Eric Anholt commit d09c23de9f967a7b7dcee0ffc57222ddbd821aba Author: Zhao Yakui Date: Fri Nov 6 15:39:56 2009 +0800 drm/i915: Add 30ms delay to make SDVO TV detection reliable. Without this, on some boots the TV wouldn't be detected. Testing showed 15ms to be insufficient. https://bugs.freedesktop.org/show_bug.cgi?id=24290 https://bugs.freedesktop.org/show_bug.cgi?id=20785 Signed-off-by: Zhao Yakui Tested-by: Yan Seiner Signed-off-by: Eric Anholt commit 04b2d218001bdddb41b84c9f78d6bb3cd3b5b31c Author: Kristian Høgsberg Date: Fri Nov 6 08:39:18 2009 -0500 drm/i915: Fix typo in ioctl struct name. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit 778c902640530371a169ad1c03566e7c51b09874 Author: Li Peng Date: Mon Nov 9 12:51:22 2009 +0800 drm/i915: Fix sync to vblank when VGA output is turned off In current vblank-wait implementation, if we turn off VGA output, drm_wait_vblank will still wait on the disabled pipe until timeout, because vblank on the pipe is assumed be enabled. This would cause slow system response on some system such as moblin. This patch resolve the issue by adding a drm helper function drm_vblank_off which explicitly clear vblank_enabled[crtc], wake up any waiting queue and save last vblank counter before turning off crtc. It also slightly change drm_vblank_get to ensure that we will will return immediately if trying to wait on a disabled pipe. Signed-off-by: Li Peng Reviewed-by: Jesse Barnes [anholt: hand-applied for conflicts with overlay changes] Signed-off-by: Eric Anholt commit d7931d9f7ab9de9158c6905caae979999134ad4d Merge: fb37046 da43243 Author: Russell King Date: Tue Dec 1 18:22:54 2009 +0000 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit 421fe93cc4b06b2f5e875cbe0f692800d4862ee5 Author: Russell King Date: Sun Oct 25 10:23:04 2009 +0000 ARM: ZERO_PAGE: Avoid flush_dcache_page() for zero page The zero page is read-only, and has its cache state cleared during boot. No further maintanence for this page is required. Signed-off-by: Russell King commit b7dc0b2cfc6e9bc7270915c642a8a8e999b6095e Author: Russell King Date: Sun Oct 25 11:25:50 2009 +0000 ARM: Avoid evaluating page_address() multiple times page_address() is a function call rather than a macro, and so: if (page_address(page)) do_something(page_address(page)); results in two calls to this function. This is unnecessary; remove the duplication. Signed-off-by: Russell King commit 2f0b192633f1fbf253b21c90938733491549edae Author: Russell King Date: Sun Oct 25 10:40:02 2009 +0000 ARM: Avoid duplicated implementation for VIVT cache flushing We had two copies of the wrapper code for VIVT cache flushing - one in asm/cacheflush.h and one in arch/arm/mm/flush.c. Reduce this down to one common copy. Signed-off-by: Russell King commit 27dfaf4f5825a119305db1bc63bef30ed400e376 Author: Adam Jackson Date: Fri Nov 20 13:22:44 2009 +0800 drm/i915: disable the interrupt hotplug for integrated TV output Otherwise, I'd get stuck in a loop where (afaict) output scan would trigger a TV interrupt, which would trigger a scan, etc. TV load detection not being the fastest thing in the world, X would process requests very slowly. https://bugs.freedesktop.org/show_bug.cgi?id=24404 Signed-off-by: Adam Jackson Acked-by: Zhao Yakui Signed-off-by: Eric Anholt commit 28cf798f5a9bd894ee90b27667b0d36b4933ae23 Author: Chris Wilson Date: Mon Nov 30 01:08:56 2009 +0000 drm/i915: Don't update the render-clock for every bo. Only update the render-clock on transition from busy to idle and vice versa, or else we burn a significant percentage of the cpu just rewriting the register -- not quite as power-friendly as intended ;-) Signed-off-by: Chris Wilson Cc: Jesse Barnes Signed-off-by: Eric Anholt commit 38b3037ee47fbd65a36bc7c39f60a900fbbe3b8e Author: Adam Jackson Date: Tue Nov 24 10:07:00 2009 -0500 drm/i915: Fix LVDS presence check Assume that either the presence of an LVDS entry in the VBT or an ACPI lid device indicates an LVDS device. ACPI lid alone is not sufficient. Signed-off-by: Adam Jackson Signed-off-by: Eric Anholt commit 05dd8f973f895692dd33c95e87c0e69aa0e7a93b Author: Eric Anholt Date: Tue Dec 1 09:25:23 2009 -0800 drm/i915: Fix warning introduced with the page flipping ioctl. Signed-off-by: Eric Anholt commit e9560f7cb20722e0e7db46bbb6f43c2194a238d5 Author: Jesse Barnes Date: Thu Nov 19 10:49:07 2009 -0800 drm/i915: add GETPARAM request for page flipping Add a GETPARAM request for checking if page flipping is supported. Useful for the 2D driver to enable the flipping path. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 7bd4d7be5c8c35a401b1589201e5d43a64d3f05b Author: Jesse Barnes Date: Thu Nov 19 10:50:22 2009 -0800 drm: use page flip event to signal flip completion We don't actually know which frame number the flip will complete on, so userspace needs a specific flip notification to tell it when the last flip completed. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Acked-by: Kristian Høgsberg commit 6b95a207c1fd552e7d017837c5eaf1b0173a48c9 Author: Kristian Høgsberg Date: Wed Nov 18 11:25:18 2009 -0500 drm/i915: Add intel implementation of the pageflip ioctl Acked-by: Jakob Bornecrantz Acked-by: Thomas Hellström Review-by: Chris Wilson Signed-off-by: Jesse "Orange Smoothie" Barnes Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit f40d6817a5c2bf84f5fe7b5d1a83f1e8f8669951 Merge: 103a196 46557be Author: Eric Anholt Date: Tue Dec 1 09:01:54 2009 -0800 Merge remote branch 'airlied/drm-next' into drm-intel-next commit 103a196f4224dc6872081305cf7f82ebf67aa7bd Author: Zhenyu Wang Date: Fri Nov 27 11:44:36 2009 +0800 drm/i915: PineView only has LVDS and CRT ports PineView only has 2 ports for LVDS and CRT. Don't enable other ports for it. Cc: Shaohua Li Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 7be077f56370cd52c48c08272b0867132f87bc48 Author: Lai Jiangshan Date: Tue Dec 1 16:24:06 2009 +0800 trace_syscalls: Remove unused syscall_name_to_nr() After duplications are removed, syscall_name_to_nr() is unused. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D2A6.6060803@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 3bbe84e9d385205d638035ee9dcc4db1b486ea08 Author: Lai Jiangshan Date: Tue Dec 1 16:24:01 2009 +0800 trace_syscalls: Simplify syscall profile use only one prof_sysenter_enable() instead of prof_sysenter_enable_##sname() use only one prof_sysenter_disable() instead of prof_sysenter_disable_##sname() use only one prof_sysexit_enable() instead of prof_sysexit_enable_##sname() use only one prof_sysexit_disable() instead of prof_sysexit_disable_##sname() Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D2A1.8060304@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit a1301da0997bf73c44dbe584e9070a13adc89672 Author: Lai Jiangshan Date: Tue Dec 1 16:23:55 2009 +0800 trace_syscalls: Remove duplicate init_enter_##sname() use only one init_syscall_trace instead of many init_enter_##sname()/init_exit_##sname() Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D29B.6090708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c252f65793874b56d50395ab604db465ce688665 Author: Lai Jiangshan Date: Tue Dec 1 16:23:47 2009 +0800 trace_syscalls: Add syscall_nr field to struct syscall_metadata Add syscall_nr field to struct syscall_metadata, it helps us to get syscall number easier. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D293.6090800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fcc19438dda38dacc8c144e2db3ebc6b9fd4f8b8 Author: Lai Jiangshan Date: Tue Dec 1 16:23:36 2009 +0800 trace_syscalls: Remove enter_id exit_id use ->enter_event->id instead of ->enter_id use ->exit_event->id instead of ->exit_id Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D288.7030001@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 31c16b13349970b2684248c7d8608d2a96ae135d Author: Lai Jiangshan Date: Tue Dec 1 16:23:30 2009 +0800 trace_syscalls: Set event_enter_##sname->data to its metadata Set event_enter_##sname->data to its metadata, it makes codes simpler. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D282.7050709@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit bf56a4ea9f1683c5b223fd3a5dbea23f1fa91c34 Author: Lai Jiangshan Date: Tue Dec 1 16:23:20 2009 +0800 trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit fix event_enter_##sname->event fix event_exit_##sname->event remove unused event_syscall_enter and event_syscall_exit Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D278.4090209@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit cf5bd652c384cf58544f43bea097bbc9cf14e4f5 Author: Takashi Iwai Date: Tue Dec 1 16:36:56 2009 +0100 ALSA: aaci - Clean up duplicate code Now snd_ac97_pcm_open() is called with the exactly same arguments for both playback and capture directions. Remove the unneeded check. Signed-off-by: Takashi Iwai commit e0feefc70c1bb3f51aa9bb42acfd22cd7472a5d9 Author: Alexey Fisher Date: Tue Dec 1 13:40:53 2009 +0100 ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT Muse Pocket use brocken mixer names, so alsamixer and PA can't use it correctly This patch add quirk to overwirte default mixers. Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit b00615d163cd24fa98d155acfc1f9d81d6fe1103 Merge: 75639e7 d679732 Author: Takashi Iwai Date: Tue Dec 1 15:58:15 2009 +0100 Merge branch 'topic/pcm-dma-fix' into topic/core-change commit 75639e7ee1401b3876c7a00ffe96ea8027668690 Merge: 7584af1 ad1cd74 Author: Takashi Iwai Date: Tue Dec 1 15:58:10 2009 +0100 Merge branch 'topic/beep-rename' into topic/core-change commit 980f31c46b3c7895ad926fbb43c8edac6ce193ff Merge: 9e298f4 6ef8070 Author: Takashi Iwai Date: Tue Dec 1 15:57:01 2009 +0100 Merge branch 'topic/ice1724-quartet' into topic/hda commit 9e298f449e667833c4cafad040ce8025a8ba1eed Merge: 2f703e7 62428f7 Author: Takashi Iwai Date: Tue Dec 1 15:56:52 2009 +0100 Merge branch 'topic/oxygen' into topic/hda commit e6ec116b67f46e0e7808276476554727b2e6240b Author: Theodore Ts'o Date: Tue Dec 1 09:04:42 2009 -0500 jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer() OOM happens. Signed-off-by: "Theodore Ts'o" commit 2f703e7a2ea5f6d5ea14a7b2cd0d31be07839ac6 Author: Takashi Iwai Date: Tue Dec 1 14:17:37 2009 +0100 ALSA: hda - Add position_fix quirk for HP dv3 HP dv3 requires position_fix=1. Reference: Novell bnc#555935 https://bugzilla.novell.com/show_bug.cgi?id=555935 Signed-off-by: Takashi Iwai commit 870725d9fcdecb23eab696d405fa90df46151865 Author: Srinidhi Kasagar Date: Tue Dec 1 13:41:24 2009 +0100 ARM: 5836/1: add MAINTAINERS entry Add MAINTAINERS entry for U8500 SoC Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 71abe6f5cea3be6819f93907b37bb4ec826720ae Author: Srinidhi Kasagar Date: Tue Dec 1 05:43:53 2009 +0100 ARM: 5835/1: ARM U8500: add defconfig Add defconfig file for mop500 board Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit cfc9b06f0befe50ef02253f72b76946363549031 Author: Takashi Iwai Date: Tue Dec 1 12:19:37 2009 +0100 ALSA: hda - Add a pin-fix for FSC Amilo Pi1505 FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and speaker pins properly. Add the pinfix entry for that. Reference: Novell bnc#557403 https://bugzilla.novell.com/show_bug.cgi?id=557403 Signed-off-by: Takashi Iwai commit 59d069eb5ae9b033ed1c124c92e1532c4a958991 Author: Xiao Guangrong Date: Tue Dec 1 17:30:08 2009 +0800 perf_event: Initialize data.period in perf_swevent_hrtimer() In current code in perf_swevent_hrtimer(), data.period is not initialized, The result is obvious wrong: # ./perf record -f -e cpu-clock make # ./perf report # Samples: 1740 # # Overhead Command ...... # ........ ........ .......................................... # 1025422183050275328.00% sh libc-2.9.90.so ... 1025422183050275328.00% perl libperl.so ... 1025422168240043264.00% perl [kernel] ... 1025422030011210752.00% perl [kernel] ... Signed-off-by: Xiao Guangrong Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: LKML-Reference: <4B14E220.2050107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit ef47bf386e2042c2e483b4ea0259233202ad3ebf Merge: 306ecee 8ee763b Author: Takashi Iwai Date: Tue Dec 1 08:36:05 2009 +0100 Merge branch 'fix/misc' into topic/misc commit bb347d98079a547e80bd4722dee1de61e4dca0e8 Author: Ian Molton Date: Tue Dec 1 15:26:33 2009 +0800 hwrng: virtio-rng - Convert to new API This patch converts virtio-rng to the new hw_rng API. In the process it fixes a previously untriggered buffering bug where the buffer is not drained correctly if it has a non-multiple-of-4 length. Performance has improved under qemu-kvm testing also. Signed-off-by: Ian Molton Acked-by: Matt Mackall Acked-by: Rusty Russell Signed-off-by: Herbert Xu commit b498ce1f2753b9724b2fc05d2057f7d1490cfa93 Author: Masami Hiramatsu Date: Mon Nov 30 19:20:25 2009 -0500 perf probe: Simplify event naming Simplify event naming as _. Each event name is globally unique (group name is not checked). So, if there is schedule_0, next probe event on schedule() will be schedule_1. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002024.10235.2353.stgit@harusame> Signed-off-by: Ingo Molnar commit 4de189fe6e5ad8241f6f8709d2e2ba4c3aeae33a Author: Masami Hiramatsu Date: Mon Nov 30 19:20:17 2009 -0500 perf probe: Add --list option for listing current probe events Add --list option for listing currently defined probe events in the kernel. This shows events in below format; [group:event] for example: [probe:schedule_0] schedule+30 cpu Note that source file/line information is not supported yet. So even if you added a probe by line, it will be shown in . Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002017.10235.76575.stgit@harusame> Signed-off-by: Ingo Molnar commit e1c01d61a98703fcc80d15b8068ec36d5a215f7e Author: Masami Hiramatsu Date: Mon Nov 30 19:20:05 2009 -0500 perf probe: Add argv_split() from lib/argv_split.c Add argv_split() ported from lib/argv_split.c to string.c and use it in util/probe-event.c. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002005.10235.55602.stgit@harusame> Signed-off-by: Ingo Molnar commit 50656eec82684d03add0f4f4b4875a20bd8f9755 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:58 2009 -0500 perf probe: Move probe event utility functions to probe-event.c Split probe event (kprobe-events and perf probe events) utility functions from builtin-probe.c to probe-event.c. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001958.10235.90243.stgit@harusame> Signed-off-by: Ingo Molnar commit 934b1f5fd0c9a2ddde5a4487695c126243d9a42b Author: Masami Hiramatsu Date: Mon Nov 30 19:19:51 2009 -0500 perf probe: Fix probe array index for multiple probe points Fix the index of formatted probe array for multiple probe points, which should be probes[i] instead of probes[0]. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001950.10235.54781.stgit@harusame> Signed-off-by: Ingo Molnar commit 74ca4c0ece52a2d19dae1bcbfc24fcfc5facfeb4 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:43 2009 -0500 perf probe: Fix argv array size in probe parser Since the syntax has been changed, probe definition needs parameters less than MAX_PROBE_ARGS + 1 (probe-point + arguments). Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001943.10235.80367.stgit@harusame> Signed-off-by: Ingo Molnar commit 57d250df7deb3e1742fbf3cc3230119731109552 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:34 2009 -0500 perf probe: Add probe-finder.h without libdwarf Add probe-finder.h as LIB_H without libdwarf, because that header is included even if no libdwarf. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001934.10235.44656.stgit@harusame> Signed-off-by: Ingo Molnar commit f41b1e43c41e99c39a2222578a7806032c045c79 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:27 2009 -0500 perf probe: Change a debugging message from pr_info to pr_debug Change annoying debug-info using notice from pr_info() to pr_debug(), since the message always printed when user adds a probe point which requires debug-info. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001927.10235.63645.stgit@harusame> Signed-off-by: Ingo Molnar commit ba8665d7dd95eb6093ee06f8f624b6acb1e73206 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:20 2009 -0500 trace_kprobes: Fix a memory leak bug and check kstrdup() return value Fix a memory leak case in create_trace_probe(). When an argument is too long (> MAX_ARGSTR_LEN), it just jumps to error path. In that case tp->args[i].name is not released. This also fixes a bug to check kstrdup()'s return value. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001919.10235.56455.stgit@harusame> Signed-off-by: Ingo Molnar commit 838632438145ac6863377eb12d8b8eef9c55d288 Merge: 9996508 29e5536 Author: Herbert Xu Date: Tue Dec 1 15:16:22 2009 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 5cbd08056142dcb2aea0dca7261afcb810a63c55 Author: Li Zefan Date: Tue Dec 1 14:05:16 2009 +0800 perf timechart: Remove open-coded event parsing code Convert builtin-timechart.c to mmap_dispatch_perf_file() + perf_file_handler. Signed-off-by: Li Zefan Acked-by: Arjan van de Ven Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <4B14B21C.2040406@cn.fujitsu.com> [ v2: cleaned up the printout, fixed a whitespace detail ] Signed-off-by: Ingo Molnar commit bab81b624e970f1138535a465ad2b26b6bb0dd6c Author: Li Zefan Date: Tue Dec 1 14:04:49 2009 +0800 perf annotate: Fix perf data parsing perf-annotate doesn't parse perf.data correctly in that it doesn't read perf header. Fix this by using mmap_dispatch_perf_file(). Before: TOTAL events: 17565 MMAP events: 3221 LOST events: 10 COMM events: 235 EXIT events: 2 THROTTLE events: 1 UNTHROTTLE events: 2 FORK events: 10 READ events: 1 SAMPLE events: 14083 After: TOTAL events: 17290 MMAP events: 3203 LOST events: 0 COMM events: 234 EXIT events: 1 THROTTLE events: 0 UNTHROTTLE events: 0 FORK events: 0 READ events: 0 SAMPLE events: 13852 Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Arjan van de Ven LKML-Reference: <4B14B201.9030708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9996508b3353063f2d6c48c1a28a84543d72d70b Author: Ian Molton Date: Tue Dec 1 14:47:32 2009 +0800 hwrng: core - Replace u32 in driver API with byte array This patch implements a new method by which hw_random hardware drivers can pass data to the core more efficiently, using a shared buffer. The old methods have been retained as a compatability layer until all the drivers have been updated. Signed-off-by: Ian Molton Acked-by: Matt Mackall Acked-by: Rusty Russell Signed-off-by: Herbert Xu commit ccef086454d4c97e7b722e9303390207d681cb4c Author: H. Peter Anvin Date: Mon Nov 30 21:33:51 2009 -0800 x86, mm: Correct the implementation of is_untracked_pat_range() The semantics the PAT code expect of is_untracked_pat_range() is "is this range completely contained inside the untracked region." This means that checkin 8a27138924f64d2f30c1022f909f74480046bc3f was technically wrong, because the implementation needlessly confusing. The sane interface is for it to take a semiclosed range like just about everything else (as evidenced by the sheer number of "- 1"'s removed by that patch) so change the actual implementation to match. Reported-by: Suresh Siddha Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Jack Steiner Signed-off-by: H. Peter Anvin LKML-Reference: <20091119202341.GA4420@sgi.com> commit 92b118f6968ae0788ac659af47b464acd9a754a1 Author: Maurus Cuelenaere Date: Mon Nov 23 13:34:46 2009 +0100 ARM: S3C64XX: add HSMMC2 support This adds support for the third SDHCI controller. Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit 6a88e9838fdc9ede136e3bb76a5c19413bd6cddb Author: Maurus Cuelenaere Date: Fri Nov 20 13:04:13 2009 +0100 ARM: S3C64XX: add support for all group 0 external interrupts Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit 23196a42a691012ac9710677f711bb6dca0a1cde Author: Maurus Cuelenaere Date: Fri Nov 20 13:04:08 2009 +0100 ARM: S3C64XX: fix USB OTG compilation This adds the S3C_VA_USB_HSPHY mapping. Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit e9c08f0d5737a988e735f7371bc0bffb343c485c Author: Mark Brown Date: Tue Nov 3 14:42:12 2009 +0000 ARM: S3C64XX: Redo voltage ranges for cpufreq The documentation for the S3C6410 CPU voltage scaling is rather unclear, with omitted values for several speed settings. Originally the code was using only quoted values, resulting in some fairly odd settings. The S3C6410 is also unusual in that the both the maximum and minimum voltages quoted scale as the frequency rises, rather than just the minimum voltage. Clean this up a bit by always using the specified typical settings as the minimum voltage (ignoring any specified minimum voltage) in order to avoid running near the edge of the processor capabilities. Also use the next quoted maximum voltages rather than the typical voltages where no maximum voltage is quoted, allowing operation on a greater range of systems. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 43f1069ef9af9a0b1fa1a1d6b49b2b05e1efc998 Author: Mark Brown Date: Tue Nov 3 14:42:11 2009 +0000 ARM: S3C64XX: Separate out regulator and frequency latencies Currently the transition latency reported by the S3C64xx cpufreq driver includes both the time for the CPU to reclock itself and the time for a regulator to change voltage. This means that if a regulator is not in use then the transition latency reported is excessively high. In future the regulator API will be extended to report latencies so the driver will be able to query the performance of a given regulator. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 383af9c2586e0c51e27ed4f186a2f23f8e889054 Author: Mark Brown Date: Tue Nov 3 14:42:07 2009 +0000 ARM: S3C64XX: Provide logging when CPU frequencies are eliminated due to clocks This provides symmetry with the voltage based checks done for the regulator. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 42015c133b74f2f483798d58683ac17b587f7bbb Author: Mark Brown Date: Tue Nov 3 14:42:06 2009 +0000 ARM: SMDK6410: Hook up regulator supplies for WM8580 DVDD is supplied by supplies derived from the PMIC, AVDD and PVDD are supplied from the main wall supply on the base board which runs at 5V. No option is currently supported for running without a PMIC card, the assumption is that the regulator API will be built out when no soft PMIC card is in use. To ease merge issues since this uses the newly added dev_name supply configuration from the regulator API (currently in -next only) the fixed voltage regulator is ifdefed out when the regulator API is not enabled. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 1a71e4ade19d51bab03b6837d4d33a953e4e1206 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:59 2009 +0100 ARM: H1940: Convert h1940 bluetooth driver to rfkill Better using standard interfaces to enable/disable bluetooth Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks commit 22e649ff2e162d3c6ce2a78c377863aab826a8b8 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:58 2009 +0100 ARM: H1940: add lcd/backlight device definition Add lcd and backlight device definition. The pwm backlight stuff does not allow to really set maximum pwm as with my custom driver but it's better to use standard driver instead of out of tree driver. Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy header] Signed-off-by: Ben Dooks commit 13733d524daadb6127b24b8672a9d47639bf1edf Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:57 2009 +0100 ARM: H1940: enable rtc Enable S3C2410 rtc on h1940 Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy header] Signed-off-by: Ben Dooks commit 3909b9f7a3d7271539db491d3a83d47363a1f855 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:56 2009 +0100 ARM: H1940: add mmc device Add mmc host support to h1940 Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy description] Signed-off-by: Ben Dooks commit 7bcb7eda99f1091055d547aee1a1d8e65b59c592 Author: Ben Dooks Date: Mon Sep 28 16:29:48 2009 +0100 ARM: N30: Use s3c_i2c0_set_platdata() to set I2C platform data Fix mach-n30.c to use the s3c_i2c0_set_platdata() call to register the platform data with the system to get rid of any reliance on having a real device structure available in memory. Since s3c_i2c0_set_platdata() copies the data, mark the original as __initdata so it is thrown away. Signed-off-by: Ben Dooks commit 372359eca4569f9321c820d6e5259e19eb4e63ad Author: Ben Dooks Date: Mon Sep 28 16:20:32 2009 +0100 ARM: AT2440EVB: Remove duplicated s3c_device_sdi.name set The AT2440EVB should not be changing the s3c_device_sdi.name as this is part of the initialisation process done by the CPU detection process and actually present in arch/arm/plat-s3c24xx/s3c24xx.c. Signed-off-by: Ben Dooks commit 2a3a18045b136487b22733d57410e6dccd34ac84 Author: Ben Dooks Date: Mon Sep 28 13:59:49 2009 +0300 ARM: S3C: Add NAND device platform data set call commit ff34aaa9535afc46b017f7a9b553dbf3e0ad5084 Author: Ben Dooks Date: Mon Sep 28 12:45:47 2009 +0900 ARM: H1940: Correct name of the local platform devices for LED and Bluetooth The mach-h1940.c file was using s3c_device_ where it really should be calling these local definitions h1940_device to ensure they are not mistaken for real s3c_devices when the device change is done. Signed-off-by: Ben Dooks commit ccae941ee2de58b9391f4e166b1bad33fcbfc119 Author: Ben Dooks Date: Fri Nov 13 22:54:14 2009 +0000 ARM: S3C: Update Simtec copyright statements from , to - [2] There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are not consecutive. However, referencing [1] it is the correct thing to replace these with A-B or A-C as apropriate. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit e02f866456ec31d20649670e3af048ddc2a3892b Author: Ben Dooks Date: Fri Nov 13 22:54:13 2009 +0000 ARM: S3C: Update Simtec copyright statements from , to - There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are consecutive. Tidy these up to be A-B or A-C as appropriate and to comply better with copyright standards [1] [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 50f430e3ad22191744e61a4d6ff72af583a379c0 Author: Ben Dooks Date: Fri Nov 13 22:54:12 2009 +0000 ARM: S3C: Fix Simtec copyright statements in Documentation/S3C24XX The (c) alone is not a sufficient copyright statement, nor is it a good replacement for the proper encircled © symbol [1]. Add the word copyright to the apropriate places and remove the (c) symbol. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4 'What does a notice consist of?' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 95eb56965cb85a5bd357540eaad4d3f722371b91 Author: Ben Dooks Date: Fri Nov 13 22:34:22 2009 +0000 ARM: S3C24XX: Add documentation for arch/arm/plat-s3c24xx/include/plat/mci.h Add documentation for the platform data structure in the SD/MMC driver header file arch/arm/plat-s3c24xx/include/plat/mci.h. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 4fa084af28ca905e91895ae237e6cc4a31d2ff4d Author: Ben Dooks Date: Fri Nov 13 22:34:21 2009 +0000 ARM: OSIRIS: DVS (Dynamic Voltage Scaling) supoort. Add a driver to provide DVS for the Simtec Osiris module to reduce the power consumption whilst idling. The DVS driver alters the voltage supplied to the ARM core depending on the frequency it is running at. The driver itself does not do any of the frequency alteration, which is left up to the cpufreq driver. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 4d3a3469dbabbcff4dab225bc3be0b247b36401c Author: Ben Dooks Date: Fri Nov 13 22:34:20 2009 +0000 ARM: S3C24XX: machine support for Simtec Audio Add the platform/machine support for the audio devices fitted to the Simtec range of boards since the move to ASoC. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 0c31862880c4f8d4a36d3a208e76d45066aeeb88 Author: Kyungmin Park Date: Tue Nov 17 08:41:24 2009 +0100 SMDKC100: add SDHCI controllers 0, 1 and 2 support Add required machine definitions for SDHCI controller 0, 1 and 2. SMDKC100 has 2 SDHCI/MMC ports. Port 1 is directly connected to controller 0. Port 1 can be conntected to controler 1 or 2, depending on jumper setup. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 86cd4f5f83acbfa481c513c74666ad360b49d73b Author: Kyungmin Park Date: Tue Nov 17 08:41:23 2009 +0100 ARM: S5PC1xx: add platform helpers for SDHCI host controllers Samsung S5PC100 has 3 SDHCI controllers compatible with the one known from previous SoCs series. Add required platform setup and support code that the devices can be used with sdhci-s3c driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 067f131d09d89bd56864f1f4b3144cc778024b33 Author: Kyungmin Park Date: Tue Nov 17 08:41:22 2009 +0100 SMDKC100: add I2C0 and I2C1 buses support Add required machine definitions for I2C 0 and 1 bus controllers. Currently no I2C device are defined yet. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 5eda288fa96cac0b0f25c90249f5347c6c62da0e Author: Kyungmin Park Date: Tue Nov 17 08:41:21 2009 +0100 ARM: S5PC1xx: add platform helpers for i2c adapter devices Samsung S5PC100 has I2C bus controller compatible with the one known from previous SoCs series. Add required platform setup and support code that it can be used with s3c2410-i2c driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 079b03241765f0a31c4bfdefd277452399dbafc9 Author: Kyungmin Park Date: Tue Nov 17 08:41:20 2009 +0100 SMDKC100: enable S3C FrameBuffer Add required machine definitions for s3c-fb device. A 800x480 lcd device (simmilar to the one known from SMDK6410 boards) has been defined. The lcd controller is attached to GPIO lines and can be enabled/disabled with platform-lcd driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit edd6e3f89d7fe245149669400bd213140c16d6e4 Author: Pawel Osciak Date: Tue Nov 17 08:41:19 2009 +0100 ARM: S5PC1xx: add platform helpers for s3c-fb device Samsung S5PC100 has LCD-controller compatible with the one known from previous SoCs series. Add required platform setup and support code that it can be used with s3c-fb driver. Signed-off-by: Pawel Osciak Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit d7ab33a0b3511e3d738a7b52f20ee83daede4465 Author: Pawel Osciak Date: Tue Nov 17 08:41:18 2009 +0100 ARM: S3C: Prepare s3c64xx-specific s3c-fb register definition for reuse S5PC1xx Samsung SOC series has very similar frame buffer hardware, so a lot of the code can be shared. Moved s3c64xx-specific s3c-fb register definitions from mach-s3c6400 to common platform directory as regs-fb-v4.h. The new v4 file will be common for S3C6400, S3C6410, S5PC100 and possibly others. Some s3c64xx series specific defines (palette handling) were left in s3c-6400/mach/regs-fb.h, because it is handled differently in S5PC1xx series. Signed-off-by: Pawel Osciak Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit c3fcf5d1a43cc27393f77d07b1323232095173de Author: Kyungmin Park Date: Tue Nov 17 08:41:17 2009 +0100 ARM: S5PC1XX: add cpu idle and system reset support Add CPU idle support by a call to SoC build-in power management core. Add system reset support by a simple write to system controll register. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit b0d5217cfb0a2357ac076977400c648cccff6154 Author: Kyungmin Park Date: Tue Nov 17 08:41:16 2009 +0100 ARM: S5PC1xx: add gpiolib and external/gpio interrupt support Add support for gpiolib calls. This is based on the gpiolib implementation from plat-s3c64xx tree. Add support for external interrupts for GPIO H banks. Add support for GPIO interrupts for all banks. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit d7b9ace51d949e1bfec7f32d21d094cf2c683ca0 Author: Kyungmin Park Date: Tue Nov 17 08:41:15 2009 +0100 ARM: S5PC1XX: GPIO registers rename S5PC100 and S5PC110 GPIO registers differs in many places, rename all previously defined registers to be S5PC100 specific. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 91e7d96e1f1781165a7df97e0dee1d007d3918f8 Author: Kyungmin Park Date: Tue Nov 17 08:41:14 2009 +0100 ARM: S5PC1XX: add GPIO L banks to register definition Add GPIO L0-L4 banks to register definition. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit ff916f25b2890403a9e6c02c98391daeb71ae92a Author: Kyungmin Park Date: Tue Nov 17 08:41:13 2009 +0100 ARM: S5PC1XX: clocks reimplementation Clocks hierarchy has been completely reimplemented to match the S5PC100 specification. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 9ebaf2f4e7090a8c3b0c99419924b1e8f99a07a3 Author: Kyungmin Park Date: Tue Nov 17 08:41:12 2009 +0100 ARM: S5PC1XX: clock registers rename S5PC100 and S5PC110 clock registers differs in many places, rename all previously defined registers to be S5PC100 specific. Remove all power management registers. They will be added later to a separate file. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit b0cc3031ffe1800aa6fe8ab0f55a75939bb265b7 Author: Kyungmin Park Date: Tue Nov 17 08:41:11 2009 +0100 ARM: S5PC1XX: registers rename S5PC110 and S5PC100 register maps differs in many places, rename all defined registers to be S5PC100 specific. PA_SYS register known from S3C64XX series has been renamed to more adequate PA_CLK. Also system map has been also updated to cover more integrated peripherals. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit cf383678242eacd6f92a48314922598ed3408355 Author: Ben Dooks Date: Tue Nov 10 00:14:58 2009 +0000 ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3c* moves We inted to re-organise the plat-s3c/plat-s3c24xx/plat-s3c64xx into a more generic plat-samsung with less code in the other plat- directories to make it easier to port new devices and try and clear up some of the naming issues with newer devices. Start by creating a small arch/arm/plat-samsung with no actuall code in so we can move items in as we process them. Add this to arch/arm to allow it to build things once support is added. Signed-off-by: Ben Dooks commit 19d6c13b56a78b3757e747f469285c2a546d634a Author: Dmitry Artamonow Date: Wed Nov 25 14:33:15 2009 +0300 [ARM] pxa/hx4700: actually use platform_lcd driver Commit e2c509c7e6 ([ARM] pxa/hx4700: use platform_lcd driver) missed to actually register platform device for LCD. It causes following GCC warning: arch/arm/mach-pxa/hx4700.c:553: warning: 'hx4700_lcd' defined but not used Signed-off-by: Dmitry Artamonow Acked-by: Philipp Zabel Signed-off-by: Eric Miao commit 0e85190755f5f336fbd5af01bbffe1f4aacf765a Author: Antonio Ospite Date: Fri Nov 27 21:31:36 2009 +0100 [ARM] pxa/pcm990: don't use pxa_camera init() callback pxa_camera init() is ambiguous, it's better to configure PXA CIF pins statically in machine init function. Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit a7f2bdb39ed67c039ebef49e216e0fa543d6642e Author: Antonio Ospite Date: Fri Nov 27 21:30:23 2009 +0100 [ARM] pxa/em-x270: don't use pxa_camera init() callback pxa_camera init() is ambiguous, it's better to statically configure the sensor. Signed-off-by: Antonio Ospite Acked-by: Mike Rapoport Signed-off-by: Eric Miao commit db205463fd24c0972ad2c4e4fafb1c76e51b4380 Author: Igor Grinberg Date: Tue Nov 10 14:18:41 2009 +0200 [ARM] pxa/cm-x300: add PWM backlight support Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 5fa46fca1c209b9fd1dbfd5bc680a236d9f78d54 Author: Igor Grinberg Date: Wed Oct 14 09:20:27 2009 +0200 [ARM] pxa/cm-x300: update defconfig Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 14fd9e00538fa0271602bb529f094285c6e596d6 Author: Igor Grinberg Date: Wed Oct 14 09:20:25 2009 +0200 [ARM] pxa/cm-x300: update authors and copyright Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 9c017ca1a0782ccfe26bfb36f03a9ba09370d7f7 Author: Igor Grinberg Date: Wed Oct 14 09:20:24 2009 +0200 [ARM] pxa/cm-x300: add da9030 support Register DA9030 PMIC. Use only backlight sub-device for now. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit edaa64c906f1e977396d0bd868079ee632583149 Author: Igor Grinberg Date: Wed Oct 14 09:20:23 2009 +0200 [ARM] pxa/cm-x300: enable USB port 2 for PXA300 Port 2 requires setting of UP2OCR register to function as USB host. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit def8252ddb9bc52434b2ac1d560a609c61849638 Author: Igor Grinberg Date: Wed Oct 14 09:20:22 2009 +0200 [ARM] pxa/cm-x300: add support for PXA310 cpu CM-X300 can be assembled with PXA300 and PXA310 CPU. Provide support for both CPU variants. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b3d01da66d45504f8bdc6fbc9c0c1f1705ebc251 Author: Igor Grinberg Date: Wed Oct 14 09:20:21 2009 +0200 [ARM] pxa/cm-x300: add Wi2Wi chip (Bluetooth and WiFi) initialization Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 74e74defd6c471fc7ec108e64cb953164940a122 Author: Igor Grinberg Date: Wed Oct 14 09:20:20 2009 +0200 [ARM] pxa/cm-x300: add ac97 controller registration Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 83e560eee12b3215c193338496090838e5f6d1cb Author: Igor Grinberg Date: Wed Oct 14 09:20:19 2009 +0200 [ARM] pxa/cm-x300: add TDO35S lcd support Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 55052ea23d09ebe71ebeadc054e828b37d4e0356 Author: Igor Grinberg Date: Wed Oct 14 09:20:18 2009 +0200 [ARM] pxa/cm-x300: add revision difference handling Different revisions of CM-X300 use different pins for several functions. Make the kernel aware of it. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3fe6ccffcbc6c79512fe9bea5c10de75ae0c497e Author: Marc Zyngier Date: Sat Nov 14 15:53:14 2009 +0100 [ARM] pxa/viper: convert to use plat_serial8250_port irqflags field Use .irqflags in the plat_serial8250_port structure to set IRQ polarity, and get rid of the corresponding set_irq_type(). Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 2fd8e55e13daecc729e893636a06b5133d872852 Author: Antonio Ospite Date: Wed Nov 4 22:35:01 2009 +0100 [ARM] pxa/ezx: update ezx_defconfig now that ezx-pcap is in Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 87303b8a9e162e6c9746e3b9dacb40cf3e3e5e62 Author: Antonio Ospite Date: Tue Nov 3 17:45:33 2009 +0100 [ARM] pxa/ezx: add leds-lp3944 support for A910 EZX phone Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 405ac4015a92904b6366db7c6ef21491bdb7e771 Author: Antonio Ospite Date: Thu Nov 12 15:47:04 2009 +0100 [ARM] pxa/ezx: add camera support for A780 and A910 EZX phones Signed-off-by: Bart Visscher Signed-off-by: Antonio Ospite Acked-by: Guennadi Liakhovetski Signed-off-by: Eric Miao commit 0ba01ebcb39aeb27c5a861c80e0b38634d0cb457 Author: Pavel Machek Date: Thu Oct 22 22:16:34 2009 +0200 [ARM] pxa/zaurus: rename spitz_battery_levels_* to sharpsl_* Battery power levels are shared between spitz and corgi, rename variable to reflect it. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit b64b0b76cd90406f5411dc29308b9bb83180bfd6 Author: Pavel Machek Date: Thu Oct 22 21:35:33 2009 +0200 [ARM] pxa/zaurus: cleanup sharpsl_pm.c This fixes checkpatch/style problems in sharpsl_pm.c, allowing me to submit real fixes next. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit 61333c63005e5708977e309da32c952057ee445b Author: Haojian Zhuang Date: Wed Nov 4 21:58:16 2009 -0500 [ARM] pxa: rename macro from pxa9xx to pxa93x Because original macro can only judge whether current CPU is pxa93x, rename the macro to correct name. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit bf293aec15fb223fd81c0cdfd1829edff95a325b Author: Mike Rapoport Date: Wed Nov 11 11:36:59 2009 +0200 [ARM] pxa: add EXT_WAKEUP interrupts handling for pxa3xx Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 15cc7112abb66e7e1c956135ba2390638acf3416 Author: Eric Miao Date: Mon Nov 9 14:37:59 2009 +0800 [ARM] pxa: make CPU_PXA* to be selectable hidden options CONFIG_CPU_PXA{300,310,320,930,935,950} are really platform dependent and should be made into selectable hidden options. Signed-off-by: Eric Miao commit 9035a9ece9819155ed6a12654ab5d5293d3f2545 Author: Eric Miao Date: Mon Nov 9 14:40:47 2009 +0800 [ARM] pxa: select CPU_PXA310 for MACH_COLIBRI300 MACH_COLIBRI300 is supposed to support both PXA300 and PXA310, select the missing CPU_PXA310. Signed-off-by: Eric Miao Acked-by: Daniel Mack commit 1493df7319e06fb6ae6daa7e0d28355e6e8be1c9 Author: Eric Miao Date: Mon Nov 9 14:25:52 2009 +0800 [ARM] pxa: introduce CONFIG_MACH_ZYLONITE{300,320} for CPU_PXA* removing Signed-off-by: Eric Miao commit cc155c6f2cc705cb082ed676044368424e4b9121 Author: Russell King Date: Mon Nov 9 13:34:08 2009 +0800 [ARM] pxa: allow platforms to control which uarts are registered For some platforms, it is inappropriate to register all PXA UARTs. In some cases, the UARTs may not be used, and in others we may want to avoid registering the UARTs to allow other drivers (eg, FICP) to make use of the UART. In addition, a while back there was a request to be able to pass platform data to the UART driver. This patch enables all of this by providing functions platforms can call to register each individual UART. Signed-off-by: Russell King Acked-by: Mike Rapoport Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit 7c6ccbf0ddce6d5a1e13e7f50befd864f289e108 Author: Igor Grinberg Date: Wed Nov 4 14:14:40 2009 +0200 [ARM] pxa: add U2D registers and bits definitions This should be eventually moved to somewhere closer to the U2D driver, but is kept here atm so it's easier for USB configuration code to work. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit e68750aea06756bb7dd8d00ef85d3d51c7fd6bc4 Author: Igor Grinberg Date: Wed Nov 4 14:14:39 2009 +0200 [ARM] pxa: register U2D clock for pxa3xx Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6427d45068dd4357c44a5a623e5efb6990eb43c9 Author: Eric Miao Date: Fri Oct 23 00:09:47 2009 +0800 [ARM] pxa: use platform_device_id table for SSP driver Signed-off-by: Eric Miao commit 4092855d9634fd0cce879b0f47a7e128f86d869e Author: Haojian Zhuang Date: Thu Sep 10 14:01:22 2009 +0800 [ARM] pxa: add apmu clock support in mmp Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 68bef3a7859ebee8bf79a8e6e36369cbbe5903ca Author: Haojian Zhuang Date: Fri Sep 4 17:33:23 2009 +0800 [ARM] pxa: add missing irq events for pxa168 Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit de0710aa81a4663feb4a039973f96cb7a7661496 Author: Eric Miao Date: Mon Oct 12 09:32:07 2009 +0800 [ARM] pxa: re-order platforms in Kconfig and Makefile Due to the naming mess in Kconfig and Makefile, I'd like to get them sorted in the following order: 1. By category: Intel/Marvell Dev Platforms, followed by 3rd party platforms, followed by end-user products (this is to ensure the commonly referenced platforms will appear first) 2. By vendor name in alphabetic within each category (this is to ensure code reuse and similar platforms can be grouped as much as possible) VENDOR BOARD Intel/Marvell Lubbock Intel/Marvell Mainstone Intel/Marvell Zylonite Intel/Marvell Littleton Intel/Marvell TavorEVB Intel/Marvell SAAR Accelent IDP Arcom/Eurotech VIPER Community Balloon3 Cogent CSB726 CompuLab EM_X270 CompuLab EXEDA CompuLab ARMCORE CompuLab CM_X300 Gumstix Gumstix Intel Research MOTE2 Intel research Stargate2 Iskratel XCEP Keith and Koep Trizeps4 LogicPD LPD270 Phytec PCM027 Toradex Colibri HP HX4700 HP H5000 HTC Himalaya HTC Magician Mitac MioA701 Motorola EZX NEC MP900C Palm Palm PDA Palm Palm GSM Sharp Zaurus Toshiba E-Series Signed-off-by: Eric Miao commit d0a92fd3b84bf707f6b32f31d0f09d2b7bb1ad67 Author: Tomáš Čech Date: Fri Sep 11 13:57:02 2009 +0200 [ARM] pxa/treo: add Palm Centro 685 support Signed-off-by: Tomáš Čech Signed-off-by: Eric Miao commit bb2ae8f0325221a2dfd9eb31554f42e9c24abdf2 Author: Tomáš Čech Date: Fri Sep 11 13:57:01 2009 +0200 [ARM] pxa/treo: generalisation of Treo680 code Signed-off-by: Tomáš Čech Acked-by: Marek Vasut Signed-off-by: Eric Miao commit d62238711a0a917ddc6bb47390c7502806c963b1 Author: Haojian Zhuang Date: Fri Nov 20 10:57:16 2009 -0500 [ARM] pxa: update flash structure in onenand info Since flash structure is changed from flash_platform_data to onenand_platform_data in generic driver. Update the struct in saar and ttc platform driver. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit b1e3719e655a74065bdc5ddc58d6f1566dfe8138 Author: Haojian Zhuang Date: Fri Sep 25 13:15:28 2009 -0400 [ARM] pxa: add onenand support for SAAR Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit d6587c34a6de8e2e577dfc149f2d4352752dafdf Author: Haojian Zhuang Date: Wed Sep 23 01:57:35 2009 +0800 [ARM] pxa: add onenand support for TTC-DKB Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit ef559def40cd5861ba2da747747c42c2f7331057 Author: Haojian Zhuang Date: Thu Sep 10 14:37:48 2009 +0800 [ARM] pxa: add nand support in aspensite board Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit a0f266c1fa040e1fe61b51e3de75b6a11e32ceb1 Author: Haojian Zhuang Date: Tue Oct 13 15:24:55 2009 +0800 [ARM] pxa: add nand device and clock for pxa168/pxa910 Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 82b95ecb96122896fd5b7b75001fdda3e047ef38 Author: Haojian Zhuang Date: Thu Sep 10 13:55:23 2009 +0800 pxa3xx_nand: move pxa3xx_nand.h common into plat directory Since the same nand controller is shared between ARCH_PXA and ARCH_MMP. Move the pxa3xx_nand.h from mach directory to plat directoy. Signed-off-by: Haojian Zhuang Cc: David Woodhouse Signed-off-by: Eric Miao commit 171d0fbee2b80cd21ff590449a05a48c1dc917b8 Author: Haojian Zhuang Date: Thu Sep 10 13:49:45 2009 +0800 pxa3xx_nand: update dependancy to support ARCH_MMP MTD_NAND_PXA3xx module is shared between ARCH_PXA and ARCH_MMP. Update this configuration according to it. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit d3490dfdbc453a16bc7f3cff731c9f7851735ab3 Author: Haojian Zhuang Date: Thu Sep 10 14:33:30 2009 +0800 pxa3xx_nand: add new nand chip support Support samsung 2GbX8 and 32GbX8 nand flash. Support micron 4GbX8 and 4GbX16 nand flash. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 346e125967c39fc25263f3071dfc88224ae843f4 Author: Haojian Zhuang Date: Thu Sep 10 14:27:23 2009 +0800 pxa3xx_nand: disable nand irq in initialization In some bootloader, IRQ is enabled. Writing nand triggers unexpected interrupts. So disable nand irq in initialization. After nand initialized and in working state, irq is controlled by nand driver. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit dbf5986aed62620d3dde54e1b63889821c857675 Author: Haojian Zhuang Date: Thu Sep 10 14:22:55 2009 +0800 pxa3xx_nand: remove hardcode irq number Nand driver uses IRQ_NAND as hardcode irq number. In ARCH_MMP, the irq number is different. So get irq resource from platform device structure and use it in initialization and deinitialization code. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 8638fac849c181176324f26b4b82e3b96f378dde Author: Haojian Zhuang Date: Thu Sep 10 14:11:44 2009 +0800 pxa3xx_nand: remove hardcode register address Although nand controller is same between PXA3xx and MMP, the register space is different. Remove the hardcode register address setting in pxa3xx_nand.h. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 726de6e16d88986db3102ebe6ae277f73df63eaf Author: Haojian Zhuang Date: Wed Oct 14 15:47:01 2009 +0800 pxa3xx_nand: adjust timing of Micron NAND flash Slow down the tRp of Micron NAND flash timing. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 7ce33aff68f653769ba16108834ed212788bcbb6 Author: Haojian Zhuang Date: Mon Sep 14 20:21:01 2009 +0800 pxa3xx_nand: reset read buffer before reading Initialize the read buffer content to 0xFF. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit a88bdbb54a9352b916877bfc5e316c44ec1b2d8f Author: Haojian Zhuang Date: Fri Sep 11 19:33:58 2009 +0800 pxa3xx_nand: fix memory out of bound When fetch nand data with non-DMA mode, we should align info->data_size to 32bit, not 8bit. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 70c7d2dd276dfb6aa802186a2be4efe80d380d15 Author: Haojian Zhuang Date: Thu Nov 5 10:31:01 2009 -0500 [ARM] pxa/saar: set default WLED output current Set default WLED output current in saar. Otherwise, LCD backlight won't be effective. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit b3a8549593696f5f3efcdbf280e2c8e0fe894855 Author: Haojian Zhuang Date: Thu Nov 5 10:27:13 2009 -0500 backlight: da903x_bl: control WLED output current in da9034 Update WLED output current source before changing brightness. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit f64dcac0b1247842db2530959cbe3df1cb1947c4 Author: Mike Rapoport Date: Tue Nov 24 10:25:33 2009 +0200 backlight: tdo24m: ensure chip select changes between transfers Some SPI host drivers do not change chip select betwen transfers unless .cs_chnage field is explicitly set. The LCD spec requires chip select change between consecuitive transfers, so ensure it at the SPI driver level. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit fa3f99384c20751c66962848807403ff171dc02f Author: Haojian Zhuang Date: Mon Aug 31 21:52:53 2009 +0800 pxamci: introduce mmc_has_26mhz() and include pxa935 Along with more processor supporting 26MHz mode (including pxa935), introduce an individual macro mmc_has_26mhz() for this. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit c41562b1626b578e9ce2aae5b3363ee2f142c635 Author: Jun Nie Date: Tue Nov 10 15:11:36 2009 +0800 pxa168fb: remove useless vsync/hsync invert flag fb_var_screeninfo.var has already encoded this information. Signed-off-by: Jun Nie Signed-off-by: Eric Miao commit a291ea217ca88dc6f0343f6bea9bb4a35bb08848 Author: Jun Nie Date: Tue Nov 10 09:33:49 2009 +0800 pxa168fb: fix offset setting at initialization Signed-off-by: Jun Nie Signed-off-by: Eric Miao commit 049ad833b1e52f6edeb675c744547167bf76ab2c Author: Pieter Grimmerink Date: Fri Nov 13 10:28:54 2009 +0100 pxafb: add transparency field to pxafb_mode_info struct This allows to select either RGB565 (transparency 0) or RGBT555 (transparency 1) from the mode info Signed-off-by: Pieter Grimmerink Signed-off-by: Eric Miao commit 448ac479768d6c242338ecf13569dc297f8908ce Author: Sven Neumann Date: Thu Oct 22 08:34:34 2009 +0200 pxafb: use passed fb_var_screeninfo struct in pxafb_pan_display() pxafb_pan_display() used to ignore the fb_var_screeninfo parameter. Now pass it to setup_base_frame() instead of pulling default values out of fb_info. And the original patch has an issue of pxafb_pan_display() paying only attention to the 'var' parameter passed in, and Ville Syrjälä pointed out, this is potentially dangerous as user could pass in any other screeninfo parameters as well, and not only such that are relevant for display panning. This is fixed by limiting the arguments actually used to .xoffset, .yoffset and .vmode & FB_VMODE_YWRAP. Signed-off-by: Sven Neumann Cc: Ville Syrjälä Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit c35614380d5c956bfda20eab2755b2f5a7d6f1e7 Author: Zhao Yakui Date: Tue Nov 24 09:48:48 2009 +0800 drm/i915: Don't set up the TV port if it isn't in the BIOS table. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 7cf4f69d3f4511f443473954456cb91d5514756d Author: Zhao Yakui Date: Tue Nov 24 09:48:47 2009 +0800 drm/i915: Don't set up the LVDS if it isn't in the BIOS device table. We not only check the device type, but also check the addin_offset. If the addin_offset is zero, it won't be initialized. Signed-off-by: Zhao Yakui Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt [anholt: hand-applied due to conflicts] commit ae266c98f580a9ba5e0bfdb1d1f0f70ab3cd807f Author: Zhao Yakui Date: Tue Nov 24 09:48:46 2009 +0800 drm/i915: Don't set up DP ports that aren't in the BIOS device table. Use the child device array to decide whether the given DP output should be initialized. If the given DP port can't be found in child device array, it is not present and won't be initialized. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit fc816655236cd9da162356e96e74c7cfb0834d92 Author: Zhao Yakui Date: Tue Nov 24 09:48:45 2009 +0800 drm/i915: Don't set up HDMI ports that aren't in the BIOS device table. Use the child device array to decide whether the given HDMI output should be initialized. If the given HDMI port can't be found in child device array, it is not present and won't be initialized. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 6363ee6f496eb7e3b3f78dc105e522c7b496089b Author: Zhao Yakui Date: Tue Nov 24 09:48:44 2009 +0800 drm/i915: parse child device from VBT On some laptops there is no HDMI/DP. But the xrandr still reports several disconnected HDMI/display ports. In such case the user will be confused. >DVI1 disconnected (normal left inverted right x axis y axis) >DP1 disconnected (normal left inverted right x axis y axis) >DVI2 disconnected (normal left inverted right x axis y axis) >DP2 disconnected (normal left inverted right x axis y axis) >DP3 disconnected (normal left inverted right x axis y axis) This patch set is to use the child device parsed in VBT to decide whether the HDMI/DP/LVDS/TV should be initialized. Parse the child device from VBT. The device class type is also added for LFP, TV, HDMI, DP output. https://bugs.freedesktop.org/show_bug.cgi?id=22785 Signed-off-by: Zhao Yakui Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt commit c1b5dea097258b3d3d570d5ccc8f4bf5accb3f29 Author: Kristian Høgsberg Date: Wed Nov 11 12:19:18 2009 -0500 drm/i915: Disable pwrctx before unpin and free Otherwise the chip may scribble over free memory. Signed-off-by: Kristian Høgsberg Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 69341a5e01897714f968b7dccb94f57137acf45f Author: Kristian Høgsberg Date: Wed Nov 11 12:19:17 2009 -0500 drm/i915: Hold struct_mutex while unreffing pwrctx object This also extends the mutex to cover fbc disabling, which is safe. Signed-off-by: Kristian Høgsberg Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 33db679b4ee94e5a55abb439a87905d76739095a Author: Kristian Høgsberg Date: Wed Nov 11 12:19:16 2009 -0500 drm/i915: Unregister i915_wedged debugfs entry using the right key Signed-off-by: Kristian Høgsberg Signed-off-by: Chris Wilson Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 29874f44fbcbc24b231b42c9956f8f9de9407231 Author: Shaohua Li Date: Wed Nov 18 15:15:02 2009 +0800 drm/i915: fix gpio register detection logic for BIOS without VBT if no VBT is present, crt_ddc_bus will be left at 0, and cause us to use that for the GPIO register offset. That's never a valid register offset, so let the "undefined" value be 0 instead of -1. Signed-off-by: Shaohua Li Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt [anholt: clarified the commit message a bit] commit d271817baecbccb47da0d9f28c285a0dae8a06b7 Author: Chris Wilson Date: Fri Nov 27 13:06:56 2009 +0000 drm/i915: Avoid NULL dereference with component_only tv_modes In commit d2d9f2324, the guard for a valid video mode was removed. This caused the regression: kernel crash during kms graphic boot on Intel GM4500 platform https://bugzilla.redhat.com/show_bug.cgi?id=540218 This patches changes the logic slightly not to rely on a coupled variable, but to just check whether the video_modes is valid before dereferencing. Signed-off-by: Chris Wilson Cc: David Woodhouse Cc: Zhenyu Wang [ickle: Actually reference the correct bug report] Acked-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 573c24c4af6664ffcd9aa7ba617a35fde2b95534 Author: David Teigland Date: Mon Nov 30 16:34:43 2009 -0600 dlm: always use GFP_NOFS Replace all GFP_KERNEL and ls_allocation with GFP_NOFS. ls_allocation would be GFP_KERNEL for userland lockspaces and GFP_NOFS for file system lockspaces. It was discovered that any lockspaces on the system can affect all others by triggering memory reclaim in the file system which could in turn call back into the dlm to acquire locks, deadlocking dlm threads that were shared by all lockspaces, like dlm_recv. Signed-off-by: David Teigland commit 1fdf475aa141a669af8db6ccc7015f0b725087de Author: Eric Dumazet Date: Mon Nov 30 12:53:30 2009 -0800 tcp: tcp_disconnect() should clear window_clamp NFS can reuse its TCP socket after calling tcp_disconnect(). We noticed window scaling was not negotiated in SYN packet of next connection request. Fix is to clear tp->window_clamp in tcp_disconnect(). Reported-by: Krzysztof Oledzki Tested-by: Krzysztof Oledzki Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9eaa192d8988d621217a9e6071cd403fd6010496 Author: Helight.Xu Date: Mon Nov 30 18:33:51 2009 +0800 x86: Fix a section mismatch in arch/x86/kernel/setup.c copy_edd() should be __init. warning msg: WARNING: vmlinux.o(.text+0x7759): Section mismatch in reference from the function copy_edd() to the variable .init.data:boot_params The function copy_edd() references the variable __initdata boot_params. This is often because copy_edd lacks a __initdata annotation or the annotation of boot_params is wrong. Signed-off-by: ZhenwenXu LKML-Reference: <4B139F8F.4000907@gmail.com> Signed-off-by: H. Peter Anvin commit 9bedb9743fd906e4160468663ee6e1bbdc4412b8 Author: Daniel Vetter Date: Mon Nov 30 15:55:49 2009 +0100 drm/i915: fixup interrupted overlay switch off calls When switching to interruptible sleeps in the overlay code, I've forgotten to recover from interruptions at one site. This resulted in the overlay still running when it should have been switched off. This in turn caused a hang on resume because it tried to disable the (not-running) overlay in preparation for the resume modeset. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=24980 Tested-by: maximlevitsky@gmail.com Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 12ca45fea91cfbb09df828bea958b47348caee6d Author: Daniel Vetter Date: Sat Apr 25 10:08:26 2037 +0200 drm/i915: overlay: extract some duplicated code I've suspected some bug there wrt to suspend, but that was not the case. Clean up the code anyway. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 26444877812fb2a2b9301b0b3702fdf9f9e06e4b Author: Shaohua Li Date: Wed Oct 14 17:19:28 2009 +0800 drm/i915: remove Pineview EOS protection support HW guys have an evaluation about the impact about EOS, and say the impact is quite small, so they have removed EOS detection support. This patch removes EOS feature. revert commit 043029655816ed4cfc2ed247020ef97e5d637392 directly reverting it gives a hunk error, so please use this one. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt [anholt: fixed up commit message for update that the feature's really gone] commit 311089d3d372c6f2b01a6d8a5ed7fcbcd9ad7621 Author: Shaohua Li Date: Thu Nov 26 14:22:41 2009 +0800 drm/i915: use msleep for intel_wait_for_vblank 20ms delay is quite big and the routine isn't called in atomic context. better use msleep to let other tasks run. This can reduce cpu time used by Xorg, so potentially boost boot. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit 854206b074581957e7b5c955001c329f94986b4c Author: Takashi Iwai Date: Mon Nov 30 18:22:04 2009 +0100 ALSA: hda - Fix Cxt5047 test mode The NID 0x1a of Conexant 5047 chip is a mic boost volume only with the output amp unlike 5045 chip. Signed-off-by: Takashi Iwai commit ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62 Author: Pekka Enberg Date: Mon Nov 23 22:01:15 2009 +0200 SLAB: Fix lockdep annotations for CPU hotplug As reported by Paul McKenney: I am seeing some lockdep complaints in rcutorture runs that include frequent CPU-hotplug operations. The tests are otherwise successful. My first thought was to send a patch that gave each array_cache structure's ->lock field its own struct lock_class_key, but you already have a init_lock_keys() that seems to be intended to deal with this. ------------------------------------------------------------------------ ============================================= [ INFO: possible recursive locking detected ] 2.6.32-rc4-autokern1 #1 --------------------------------------------- syslogd/2908 is trying to acquire lock: (&nc->lock){..-...}, at: [] .kmem_cache_free+0x118/0x2d4 but task is already holding lock: (&nc->lock){..-...}, at: [] .kfree+0x1f0/0x324 other info that might help us debug this: 3 locks held by syslogd/2908: #0: (&u->readlock){+.+.+.}, at: [] .unix_dgram_recvmsg+0x70/0x338 #1: (&nc->lock){..-...}, at: [] .kfree+0x1f0/0x324 #2: (&parent->list_lock){-.-...}, at: [] .__drain_alien_cache+0x50/0xb8 stack backtrace: Call Trace: [c0000000e8ccafc0] [c0000000000101e4] .show_stack+0x70/0x184 (unreliable) [c0000000e8ccb070] [c0000000000afebc] .validate_chain+0x6ec/0xf58 [c0000000e8ccb180] [c0000000000b0ff0] .__lock_acquire+0x8c8/0x974 [c0000000e8ccb280] [c0000000000b2290] .lock_acquire+0x140/0x18c [c0000000e8ccb350] [c000000000468df0] ._spin_lock+0x48/0x70 [c0000000e8ccb3e0] [c0000000001407f4] .kmem_cache_free+0x118/0x2d4 [c0000000e8ccb4a0] [c000000000140b90] .free_block+0x130/0x1a8 [c0000000e8ccb540] [c000000000140f94] .__drain_alien_cache+0x80/0xb8 [c0000000e8ccb5e0] [c0000000001411e0] .kfree+0x214/0x324 [c0000000e8ccb6a0] [c0000000003ca860] .skb_release_data+0xe8/0x104 [c0000000e8ccb730] [c0000000003ca2ec] .__kfree_skb+0x20/0xd4 [c0000000e8ccb7b0] [c0000000003cf2c8] .skb_free_datagram+0x1c/0x5c [c0000000e8ccb830] [c00000000045597c] .unix_dgram_recvmsg+0x2f4/0x338 [c0000000e8ccb920] [c0000000003c0f14] .sock_recvmsg+0xf4/0x13c [c0000000e8ccbb30] [c0000000003c28ec] .SyS_recvfrom+0xb4/0x130 [c0000000e8ccbcb0] [c0000000003bfb78] .sys_recv+0x18/0x2c [c0000000e8ccbd20] [c0000000003ed388] .compat_sys_recv+0x14/0x28 [c0000000e8ccbd90] [c0000000003ee1bc] .compat_sys_socketcall+0x178/0x220 [c0000000e8ccbe30] [c0000000000085d4] syscall_exit+0x0/0x40 This patch fixes the issue by setting up lockdep annotations during CPU hotplug. Reported-by: Paul E. McKenney Tested-by: Paul E. McKenney Cc: Peter Zijlstra Cc: Christoph Lameter Signed-off-by: Pekka Enberg commit a649d1fcc9bd2299cb06b6594fabb429fa50f174 Author: Daniel Mack Date: Mon Nov 30 14:06:37 2009 +0100 ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API ALSA's for-2.6.33 branch has a new source argument to snd_soc_dai_set_pll(). Signed-off-by: Daniel Mack Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 785d1c45ce11820d5838eb6399caa0ac98c836cf Author: Kuninori Morimoto Date: Mon Nov 30 20:24:48 2009 +0900 ASoC: sh: fsi: Add runtime PM support This patch add support runtime PM. Driver callbacks for Runtime PM are empty because the device registers are always re-initialized after pm_runtime_get_sync(). The Runtime PM functions replaces the clock framework module stop bit handling in this driver. Signed-off-by: Kuninori Morimoto Acked-by: Paul Mundt Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d53bd80cb32d917e224b19925bb8f500941a3659 Author: Kuninori Morimoto Date: Mon Nov 9 11:12:49 2009 +0900 sh: ms7724se: Add runtime PM support for FSI Signed-off-by: Kuninori Morimoto Acked-by: Paul Mundt Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a694291a6211537189c6080f77f63cdabfc9b63e Author: Ryusuke Konishi Date: Sun Nov 29 23:03:04 2009 +0900 nilfs2: separate wait function from nilfs_segctor_write This separates wait function for submitted logs from the write function nilfs_segctor_write(). A new list of segment buffers "sc_write_logs" is added to hold logs under writing, and double buffering is partially applied to hide io latency. At this point, the double buffering is disabled for blocksize < pagesize because page dirty flag is turned off during write and dirty buffers are not properly collected for pages crossing over segments. To receive full benefit of the double buffering, further refinement is needed to move the io wait outside the lock section of log writer. Signed-off-by: Ryusuke Konishi commit e29df395bc6d2d0c89b3d8a5939a24b1b43c2fb6 Author: Ryusuke Konishi Date: Sun Nov 29 16:51:16 2009 +0900 nilfs2: add iterator for segment buffers This adds a few iterator functions for segment buffers to make it easy to handle multiple series of logs. Signed-off-by: Ryusuke Konishi commit 9c965bac169f786cc6cca8ff81d3b636e923c960 Author: Ryusuke Konishi Date: Sun Nov 29 01:17:31 2009 +0900 nilfs2: hide nilfs_write_info struct in segment buffer code Hides nilfs_write_info struct and nilfs_segbuf_prepare_write function in segbuf.c to simplify the interface of nilfs_segbuf_write function. Signed-off-by: Ryusuke Konishi commit 9284ad2a9016ad631460caf8fd01fc21d84f118c Author: Ryusuke Konishi Date: Wed Nov 25 01:04:21 2009 +0900 nilfs2: relocate io status variables to segment buffer This moves io status variables in nilfs_write_info struct to nilfs_segment_buffer struct. This is a preparation to hide nilfs_write_info in segment buffer code. Signed-off-by: Ryusuke Konishi commit 45d4ebf1a6255f2234a041685789cbecac3453f1 Author: Takashi Iwai Date: Mon Nov 30 11:58:30 2009 +0100 ALSA: hda - Add a position_fix quirk for MSI Wind U115 MSI Wind U115 seems to require position_fix=1 explicitly. Otherwise it screws up PulseAudio. Signed-off-by: Takashi Iwai commit 306ecee926cf79f1b3b5f6035be09ef3d83f1b76 Author: Krzysztof Helt Date: Mon Nov 30 07:46:56 2009 +0100 ALSA: opti-miro: add PnP detection The PCM12 and PCM20 can be set into the ISA PnP mode. The PCM12 PnP was sold as the PnP device. Add code to handle detection of these cards using ISA PnP framework. Tested on the PCM20 in PnP mode. The PCM12 PnP has the same MS Windows INF file except for a card name displayed for user. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 70a5f1187bcb3fac93a7d5c5fcfc5fc76b9c3f55 Author: Krzysztof Helt Date: Mon Nov 30 07:45:47 2009 +0100 ALSA: opti-miro: separate comon probing code Separate common probing code in order to use it for PnP probing. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9c2daf15ac5aba3c7897540c3b606e54550d9c8f Author: Harro Haan Date: Fri Nov 27 11:44:36 2009 +0100 mx35: add usb gadget support in mx35pdk.c Signed-off-by: Harro Haan Signed-off-by: Sascha Hauer commit 3e9a23dbaf581978d6e3eb8c92329ea622fce8ba Author: Harro Haan Date: Fri Nov 27 11:44:35 2009 +0100 mx35: register usb_ahb clock in clock-imx35.c Signed-off-by: Harro Haan Signed-off-by: Sascha Hauer commit 464191c65b85a8ec68a6e1a6293af625287c807e Author: Jens Axboe Date: Mon Nov 30 09:38:13 2009 +0100 Revert "cfq: Make use of service count to estimate the rb_key offset" This reverts commit 3586e917f2c7df769d173c4ec99554cb40a911e5. Corrado Zoccolo correctly points out, that we need consistency of rb_key offset across groups. This means we cannot properly use the per-service_tree service count. Revert this change. Signed-off-by: Jens Axboe commit 6ee88d713fb75ab191515f66edffa4e866386565 Author: Daniel Mack Date: Mon Nov 30 00:04:02 2009 -0800 Input: gpio_keys - scan gpio state at probe and resume time We need to read and report gpio state when we bind the driver to the device and upon resume so that userspace has correct state of the switches (and keys but they are less important since, even if they are happened to be pressed, we'd expect them to be released fairly soon). Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 8ea339adc0a48236008e59dd21564d71c37b331c Author: Tom Zanussi Date: Mon Nov 30 01:18:49 2009 -0600 perf trace/scripting: Add Fedora libperl install note to doc Fedora needs perl-ExtUtils-Embed for Perl scripting, which also brings along libperl-devel; note this info for the convenience of Fedora users. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-5-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 61381de0504181368672a83d2e14c38dbaf3c136 Author: Tom Zanussi Date: Mon Nov 30 01:18:48 2009 -0600 perf trace/scripting: Fix Perl common_* access functions The common_* functions (e.g. common_pc(), etc) are exported as common_* but named get_common_*, resulting in unresolved subroutine errors when executing scripts. Make the internal and external names match. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit e136323c5a8a7d91d17c5b7b340758bb9dd33739 Author: Tom Zanussi Date: Mon Nov 30 01:18:47 2009 -0600 perf trace/scripting: Ignore shadowed variable warning for perf-trace-perl.c The debugging versions of the ENTER and LEAVE internal perl macros, used when embedding perl, define a local block with a my_perl perl variable that shadows a global variable of the same name, which is also the name expected by the embedding API for the embedded interpreter. Since we don't have control over the code generated in this case (it's an externality) and can't get rid of the warning, ignore it. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit f8be4231f82ab56a87ce74906671afbe1aa9ec75 Author: Tom Zanussi Date: Mon Nov 30 01:18:46 2009 -0600 perf trace/scripting: Silence PERL_EMBED_* backtick errors The backtick shell substitutions for PERL_EMBED_LDOPT/CCOPT make a lot of noise on stderr if Embed.pm isn't installed - this silences them. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 6f7ad1e3a24a64923538557b686d24c37b26f9d8 Author: Rudy Matela Date: Sun Nov 29 23:42:42 2009 -0800 wan: Coding style correction in HDLC/Frame Relay support routines Added a space separating some if keywords from the following parenthesis to conform to the CodingStyle. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit 48b3d3efbd200ede1a4170bbcd81c062306a1907 Author: Rudy Matela Date: Sun Nov 29 23:42:14 2009 -0800 wan: Frame Relay/DLCI coding style corrections. Added a space separating some keywords (if/while) from the following parenthesis to conform to the CodingStyle. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit 21cea58e49cf59e7c77ce2a01be432458e9f99a9 Author: Dmitry Torokhov Date: Sun Nov 29 23:40:58 2009 -0800 Input: keyboard - add locking around event handling Keyboard input handler is multiplexing events form all keyboard-like devices in the system. Because of that per-device lock provided by input core is not enough to prevent clashes in ked_event() and we need our own lock to ensure that only one thread at a time executing kbd_event(). Signed-off-by: Dmitry Torokhov commit dbe1420b4ba398feef035f7cd8181ec2e492228b Author: Petr Štetiar Date: Sun Nov 29 23:37:07 2009 -0800 Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller This patch adds support for the ET&T TC5UH 5-wire USB touchscreen controller. More info at http://www.etandt.com.tw/board_solution.html Signed-off-by: Petr Štetiar Signed-off-by: Dmitry Torokhov commit dadaae3777cbc1d747d5fd97c3eac94eb9f1a85b Author: Nicolas Léveillé Date: Sun Nov 29 23:20:44 2009 -0800 Input: xpad - add two new Xbox 360 devices Added two new Xbox 360 devices: - HORI Real Arcade Pro.EX - Mad Catz SFIV Fightpad Signed-off-by: Nicolas Léveillé Signed-off-by: Dmitry Torokhov commit e7473f12be7712aafe6df163222f26caadee1175 Author: Amit Kumar Salecha Date: Sun Nov 29 21:54:55 2009 -0800 netxen: fix merge 9b963e5d0e01461099a Patch "fix memory initialization:5d521fd36de4e61" didn't got merge. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7f49a7f7011f3a59b51dd6003714d7aed72d7718 Author: Jonathan Cameron Date: Thu Oct 15 16:39:30 2009 +0100 MAINTAINERS: Add entries for IMote 2 and Stargate 2 Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit fd2cb0ce74e07babaf8c7bf96ef03c25d194e463 Author: Paul Mundt Date: Mon Nov 30 12:15:04 2009 +0900 sh: pfc: pr_info() -> pr_debug() cleanups. For some reason this was using pr_info() nested under an ifdef DEBUG. While this is appealing in that it circumvents the effort necessary to change ones loglevel, it's not terribly practical. So, convert it over to pr_debug(). Signed-off-by: Paul Mundt commit 9cdae914b2d08febca6e6e0440817d60da115ba5 Author: Paul Mundt Date: Mon Nov 30 12:10:41 2009 +0900 sh: pfc: Convert from ctrl_xxx() to __raw_xxx() I/O routines. Now that the PFC code is exposed for other architectures, use the common __raw_xxx() routines instead of the ctrl_xxx() ones. This will be needed for ARM-based SH-Mobiles amongst others. Signed-off-by: Paul Mundt commit e6d8460aca6311d7ab5371b59dc999bb4d714444 Author: Magnus Damm Date: Fri Nov 27 09:28:03 2009 +0000 sh: Improve kfr2r09 serial port setup code This patch improves the serial port communication quality of port YC401 on the KFR2R09 board. With this fix serial console is fine at 115200 - up and down keys now work as expected. Thanks to Hirohide Yamasaki for this fix. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fae4339919c741f89f7e293b8c646207e1df28e1 Author: Magnus Damm Date: Fri Nov 27 07:38:01 2009 +0000 sh: Break out SuperH PFC code This file breaks out the SuperH PFC code from arch/sh/kernel/gpio.c + arch/sh/include/asm/gpio.h to drivers/sh/pfc.c + include/linux/sh_pfc.h. Similar to the INTC stuff. The non-SuperH specific file location makes it possible to share the code between multiple architectures. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fc1d003de39c306a44abce97c346921de31277cd Author: Magnus Damm Date: Fri Nov 27 07:32:24 2009 +0000 sh: Move KEYSC header file This patch moves the KEYSC header file from the SuperH specific asm directory to a place where it can be shared by multiple architectures. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9a1607071c293e48b08bd703733480b1d55c7b93 Author: Alexey Dobriyan Date: Fri Nov 27 06:42:16 2009 +0000 sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: Paul Mundt commit 2ebe0ff7e669e7d5fc51c2add74dd71692d7bc8d Author: Magnus Damm Date: Fri Nov 27 05:16:21 2009 +0000 sh: Add CPG save/restore code for sh7724 R-standby Add sh7724 code to save and restore CPG state during R-standby. Only CPG registers IRDACLKCR and SPUCLKCR require software save and restore. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 98779ad8226c6f6e301fa186c07247e78c6f7253 Author: Magnus Damm Date: Fri Nov 27 04:36:58 2009 +0000 sh: Add SDHI power control support to Ecovec This patch adds support for SDHI power control to the Ecovec board. Platform data and power control callbacks for SDHI0 and SDHI1 are added. Power is by default off. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit be9cd7b6f84fd0cc59c8770771073b5c66f958ac Author: Magnus Damm Date: Fri Nov 27 04:31:27 2009 +0000 mfd: Add power control platform data to SDHI driver This patch adds platform data with a function for power control to the SDHI driver. The idea is that board specific code can provide their own functions so power can be enabled and disabled for the sd-cards. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c60f55fa1f82984bbb168c7721db893451f9de6c Author: Kuninori Morimoto Date: Thu Nov 26 06:00:29 2009 +0000 sh: mach-ecovec24: modify address map ecovec24 board expect address map 2 instead of map 1 Signed-off-by: Mizukawa Tatsuo Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 906bb26c0624d87df74e6642f2d74cde176fcc12 Author: Ben Hutchings Date: Sun Nov 29 15:16:19 2009 +0000 sfc: Update version, copyright dates, authors This driver has been mostly rewritten since Michael Brown's initial work, so swap the order of the authors. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 738a8f4b0c0e6ce7260e1514d41c764f334982e4 Author: Ben Hutchings Date: Sun Nov 29 15:16:05 2009 +0000 sfc: Implement TSO for TCP/IPv6 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8880f4ec21e668dcab3c6d387524a887e5bcbf73 Author: Ben Hutchings Date: Sun Nov 29 15:15:41 2009 +0000 sfc: Add support for SFC9000 family (2) This integrates support for the SFC9000 family of 10G Ethernet controllers and LAN-on-motherboard chips, starting with the SFL9021 'Siena' and SFC9020 'Bethpage'. Credit for this code is largely due to my colleagues at Solarflare: Guido Barzini Steve Hodgson Kieran Mansley Matthew Slattery Neil Turton Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit afd4aea03f597f29421dc5767e7d1f754730ec23 Author: Ben Hutchings Date: Sun Nov 29 15:15:25 2009 +0000 sfc: Add support for SFC9000 family (1) This adds support for the SFC9000 family of 10G Ethernet controllers and LAN-on-motherboard chips, starting with the SFL9021 'Siena' and SFC9020 'Bethpage'. The SFC9000 family is based on the SFC4000 'Falcon' architecture, but with some significant changes: - Two ports are associated with two independent PCI functions (except SFC9010) - Integrated 10GBASE-T PHY(s) (SFL9021/9022) - MAC, PHY and board peripherals are managed by firmware - Driver does not require board-specific code - Firmware supports wake-on-LAN and lights-out management through NC-SI - IPv6 checksum offload and RSS - Filtering by MAC address and VLAN (not included in this code) - PCI SR-IOV (not included in this code) Credit for this code is largely due to my colleagues at Solarflare: Guido Barzini Steve Hodgson Kieran Mansley Matthew Slattery Neil Turton Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f0d37f4228e440597d5d56c31292e2e1639c7539 Author: Steve Hodgson Date: Sun Nov 29 15:15:07 2009 +0000 sfc: Add firmware protocol definitions (MCDI) Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8e730c15e1560415f33d7301b617be26050ffb86 Author: Ben Hutchings Date: Sun Nov 29 15:14:45 2009 +0000 sfc: Move shared NIC code from falcon.c to new source file nic.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 744093c98363f8a65853aed39708c9effc80f8ff Author: Ben Hutchings Date: Sun Nov 29 15:12:08 2009 +0000 sfc: Rename falcon.h to nic.h nic.h is no longer specific to Falcon. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c383b53729a9bbbceee132a85955d084ba00ca3a Author: Ben Hutchings Date: Sun Nov 29 15:11:02 2009 +0000 sfc: Allow for additional checksum offload features Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 76884835684411264cda2f15585261eb02183541 Author: Ben Hutchings Date: Sun Nov 29 15:10:44 2009 +0000 sfc: Extend MTD driver for use with new NICs In new NICs flash is managed by firmware and we will use high-level operations on partitions rather than direct SPI commands. Add support for multiple MTD partitions per flash device and remove the direct link between MTD and SPI devices. Maintain a list of MTD partitions in struct efx_nic. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c1c4f453b61463df4df16f7aa5782fc0cfe05b9e Author: Ben Hutchings Date: Sun Nov 29 15:08:55 2009 +0000 sfc: Remove static PHY data and enumerations New NICs have firmware managing the PHY, and we will discover the PHY capabilities at run-time. Replace the static data with probe() and test_name() operations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e58f69f4082f60076885798fae8f3a17ea713bf6 Author: Ben Hutchings Date: Sun Nov 29 15:08:41 2009 +0000 sfc: Extend loopback mode enumeration New NICs and PHYs support a wider variety of loopback modes. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5784946068f81c5f1cce2906a7655652e34f44f3 Author: Ben Hutchings Date: Sun Nov 29 15:08:21 2009 +0000 sfc: Fold falcon_probe_nic_variant() into falcon_probe_nic() falcon_probe_nic_variant() does a lot less than it used to, and a lot less than it claims to. Fold the remainder into its caller. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0ccfe64d3f177a61a071b7a6fa363f0a292158c4 Author: Denis Kirjanov Date: Sun Nov 29 17:04:31 2009 -0800 mv643xx: convert to netdev_tx_t Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit f64f9e719261a87818dd192a3a2352e5b20fbd0f Author: Joe Perches Date: Sun Nov 29 16:55:45 2009 -0800 net: Move && and || to end of previous line Not including net/atm/ Compiled tested x86 allyesconfig only Added a > 80 column line or two, which I ignored. Existing checkpatch plaints willfully, cheerfully ignored. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 152b6a62aea2d43359dd37004e9c218bf7bdeb3b Author: Ben Hutchings Date: Sun Nov 29 03:43:56 2009 +0000 sfc: Separate shared NIC code from Falcon-specific and rename accordingly Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 06629f07248b259e08a6e4089fbe6aa3f98dfbe6 Author: Ben Hutchings Date: Sun Nov 29 03:43:43 2009 +0000 sfc: Add efx_nic_type operation for identity LED control Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0aa3fbaa3f2d29a14231ebb0c8e521c23701d41f Author: Ben Hutchings Date: Sun Nov 29 03:43:33 2009 +0000 sfc: Add efx_nic_type operation for NVRAM self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9bfc4bb1f9b5863b177752b88e8bfa364e83a4fa Author: Ben Hutchings Date: Sun Nov 29 03:43:23 2009 +0000 sfc: Add efx_nic_type operation for register self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit eb9f6744cbfa97674c13263802259b5aa0034594 Author: Ben Hutchings Date: Sun Nov 29 03:43:15 2009 +0000 sfc: Implement ethtool reset operation Refactor efx_reset_down() and efx_reset_up() accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 89c758fa47b54d8ce10d2b39ed09de6da0ba4324 Author: Ben Hutchings Date: Sun Nov 29 03:43:07 2009 +0000 sfc: Add power-management and wake-on-LAN support Wake-on-LAN is a stub for Falcon, but will be implemented fully for new NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 78c1f0a06551f6ff61bfd7c1a9302115a8135a62 Author: Steve Hodgson Date: Sun Nov 29 03:43:00 2009 +0000 sfc: Generalise link state monitoring Use the efx_nic_type::monitor operation or event handling as appropriate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d3245b28ef2a45ec4e115062a38100bd06229289 Author: Ben Hutchings Date: Sun Nov 29 03:42:41 2009 +0000 sfc: Refactor link configuration Refactor PHY, MAC and NIC configuration operations so that the existing link configuration can be re-pushed with: efx->phy_op->reconfigure(efx); efx->mac_op->reconfigure(efx); and a new configuration with: efx->nic_op->reconfigure_port(efx); (plus locking and error-checking). We have not held the link settings in software (aside from flow control), and have relied on asking the hardware what they are. This is a problem because in some cases the hardware may no longer be in a state to tell us. In particular, if an entire multi-port board is reset through one port, the driver bindings to other ports have no chance to save settings before recovering. We only actually need to keep track of the autonegotiation settings, so add an ethtool advertising mask to struct efx_nic, initialise it in PHY init and update it as necessary. Remove now-unneeded uses of efx_phy_op::{get,set}_settings() and struct ethtool_cmd. Much of this was done by Steve Hodgson . Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ef2b90ee4dba7a3d9001f1f0003b860b39a4aaae Author: Ben Hutchings Date: Sun Nov 29 03:42:31 2009 +0000 sfc: Move Falcon NIC operations to efx_nic_type This is preparation for adding differing implementations for new NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4b0d29dcfca9eafbf6e940862ab022df3ef2dd6f Author: Ben Hutchings Date: Sun Nov 29 03:42:18 2009 +0000 sfc: Turn pause frame generation on and off at the MAC, not the RX FIFO Pause frame generation is gated by both RX_XOFF_MAC_EN and an enable bit in each MAC. RX_XOFF_MAC_EN bit always reads back as 0 so we need to set it correctly every time we modify RX_CFG_REG. Simplify this by always setting it to 1 and only changing the enable bits in the MACs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 674979d33566ab7e524e25fdc227923e27a3fb78 Author: Ben Hutchings Date: Sun Nov 29 03:42:10 2009 +0000 sfc: Remove duplicate hardware structure definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 39e60212087a36a53daca3904563012ccaf6e92d Author: Ben Hutchings Date: Sun Nov 29 03:42:03 2009 +0000 sfc: Remove redundant writes to INT_ADR_KER This register only needs to be written after reset, not each time we enable interrupts. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8e7cac79808b62f242069a6ac88d364d35621371 Author: Avi Kivity Date: Sun Nov 29 16:34:48 2009 +0200 core: Fix user return notifier on fork() fork() clones all thread_info flags, including TIF_USER_RETURN_NOTIFY; if the new task is first scheduled on a cpu which doesn't have user return notifiers set, this causes user return notifiers to trigger without any way of clearing itself. This is easy to trigger with a forky workload on the host in parallel with kvm, resulting in a cpu in an endless loop on the verge of returning to userspace. Fix by dropping the TIF_USER_RETURN_NOTIFY immediately after fork. Signed-off-by: Avi Kivity LKML-Reference: <1259505288-16559-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit 5f1586d0dd8f6eeecf6c0d35cbca6291afd6f1cc Author: Ryusuke Konishi Date: Sun Nov 29 19:14:17 2009 +0900 nilfs2: do not return io error for bio allocation failure Previously, log writer had possibility to set an io error flag on segments even in case of memory allocation failure. This fixes the issue. Signed-off-by: Ryusuke Konishi commit 3291b9db567e1ec38362024049cbd02987b1e277 Author: Eric Dumazet Date: Sun Nov 29 00:44:33 2009 -0800 pktgen: NUMA aware pktgen threads are bound to given CPU, we can allocate memory for these threads in a NUMA aware way. After a pktgen session on two threads, we can check flows memory was allocated on right node, instead of a not related one. # grep pktgen_thread_write /proc/vmallocinfo 0xffffc90007204000-0xffffc90007385000 1576960 pktgen_thread_write+0x3a4/0x6b0 [pktgen] pages=384 vmalloc N0=384 0xffffc90007386000-0xffffc90007507000 1576960 pktgen_thread_write+0x3a4/0x6b0 [pktgen] pages=384 vmalloc N1=384 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9b963e5d0e01461099a40117b05480f24b63381f Merge: 3b8626b 5fdd4ba Author: David S. Miller Date: Sun Nov 29 00:57:15 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/ieee802154/fakehard.c drivers/net/e1000e/ich8lan.c drivers/net/e1000e/phy.c drivers/net/netxen/netxen_nic_init.c drivers/net/wireless/ath/ath9k/main.c commit 3b8626ba01a8a745a3fdf22dd347edd708b0af13 Author: PJ Waskiewicz Date: Wed Nov 25 00:11:54 2009 +0000 ixgbe: Display currently attached PHY through ethtool This patch extends the ethtool interface to display what PHY is currently connected to a NIC. The results can be viewed in ethtool ethX output. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5789d290cda6854b03986031df02b965572279df Author: PJ Waskiewicz Date: Wed Nov 25 00:11:30 2009 +0000 ethtool: Add Direct Attach support to connector port reporting This patch allows a base driver to specify Direct Attach as the type of port through the ethtool interface. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 91152c3242f32d3b68396c26c638250d2a00eb05 Author: Shannon Nelson Date: Tue Nov 24 18:52:10 2009 +0000 ixgbe: Fix Receive Address Register (RAR) cleaning and accounting This fixes an issue when clearing out the RAR entries. If RAR[0] is the only address in use, don't clear the others. Signed-off-by: Shannon Nelson Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 000c486ddae850106a29e45a5d660dff49ad566a Author: Don Skidmore Date: Tue Nov 24 18:51:48 2009 +0000 ixgbe: LINKS2 is not a valid register for 82598 82598 shouldn't try and access LINKS2 while configuring link and flow control. This is an 82599-only register. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9bbe3a570b4984ff2e90014074ba3a06a05384a0 Author: PJ Waskiewicz Date: Tue Nov 24 18:51:28 2009 +0000 ixgbe: Disable Flow Control for certain devices Flow Control autoneg should be disabled for certain adapters that don't support autonegotiation of Flow Control at 10 gigabit. These interfaces are the 10GBASE-T devices, CX4, and SFP+, all running at 10 gigabit only. 1 gigabit is fine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cfb3f91af49dff9b50de6929dc4de06100c4cfa8 Author: Shannon Nelson Date: Tue Nov 24 18:51:06 2009 +0000 ixgbe: handle parameters for tx and rx EITR, no div0 The driver was doing a divide by zero when adjusting tx-usecs. This patch removes the divide by zero code and changes the logic slightly to ignore tx-usecs in the case of shared TxRx vectors. Cc: Jesse Brandeburg Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 429d33ace5ce6122817f8abe9d170eaa55dc3af9 Author: andrew hendry Date: Tue Nov 24 15:16:05 2009 +0000 X25: Fix oops and refcnt problems from x25_dev_get Calls to x25_dev_get check for dev = NULL which was not set. It allowed x25 to set routes and ioctls on down interfaces. This caused oopses and refcnt problems on device_unregister. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 1fd975a0520cdb27681855d5a18526e328d36b5c Author: andrew hendry Date: Tue Nov 24 15:15:42 2009 +0000 X25: Check for errors in x25_init Adds error checking to x25_init. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 2f5517aefcfbdd7fdf0f03b13d292a10d445887f Author: andrew hendry Date: Tue Nov 24 15:15:26 2009 +0000 X25: Move SYSCTL ifdefs into header Moves the CONFIG_SYSCTL ifdefs in x25_init into header. Signed-off-by: Andrew Hendry Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 9f950f72e57fe4bf9b16ace67e4cc5ffcee79d00 Author: Kevin Hilman Date: Tue Nov 24 12:57:47 2009 +0000 NET: smc91x: convert to dev_pm_ops Convert smc91x driver from legacy PM hooks over to using dev_pm_ops. Tested on OMAP3 platform. Signed-off-by: Kevin Hilman Acked-by: Nicolas Pitre Signed-off-by: David S. Miller commit 5656b6ca19c602a7074effae360e5a4dcfdc8170 Merge: c1ac403 4814326 Author: David S. Miller Date: Sun Nov 29 00:16:22 2009 -0800 Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev commit c1ac403bfa240617da2bce861ea5c3a907a65612 Author: Ben Hutchings Date: Sat Nov 28 05:36:29 2009 +0000 sfc: Clean up RX event handling Add 'likely' hint to test of rx_checksum_enabled. Don't count IP fragments; the IP stack can do that. Do count non-matching multicast packets. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0228f5cdb03f6656247cf2876f9f4f8fc213ffd6 Author: Ben Hutchings Date: Sat Nov 28 05:36:12 2009 +0000 sfc: Move descriptor cache base addresses to struct efx_nic_type Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit daeda6309e1382819a8f8bab548560742ac26cc2 Author: Ben Hutchings Date: Sat Nov 28 05:36:04 2009 +0000 sfc: Decouple NIC revision number from Falcon PCI revision number Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 299f8d69f3590fdbd7b22880234196de3b39ceca Author: Ben Hutchings Date: Sat Nov 28 05:35:36 2009 +0000 sfc: Remove some redundant whitespace Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 45d03e59b39ceef9f05b8622a94aa7235003a2c9 Author: Ben Hutchings Date: Sat Nov 28 05:35:30 2009 +0000 sfc: Remove another unused workaround macro Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0589ece031e31a238e60057ef2abfa1ff18d46d0 Author: Matthew Slattery Date: Sat Nov 28 05:35:24 2009 +0000 sfc: Remove EFX_WORKAROUND_9141 macro The "bug9141 workaround" of setting TX_FLUSH_MIN_LEN_EN should really be considered as a normal bit of configuration rather than a workaround. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fb45f2c154be470ad950bcf16f3662ec0ca48695 Author: Ben Hutchings Date: Sat Nov 28 05:35:09 2009 +0000 sfc: Limit some hardware workarounds to Falcon Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b895d73e9836fccc402e48a8f63e6805d2edc87b Author: Steve Hodgson Date: Sat Nov 28 05:35:00 2009 +0000 sfc: Always start Falcon using the XMAC The strap bits are only important on Falcon A and all production boards using it have fixed-speed 10G PHYs. Replace dummy MAC operations with default MAC operations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ab86746175a5e1379abb9c7c38522af4d3176f57 Author: Steve Hodgson Date: Sat Nov 28 05:34:44 2009 +0000 sfc: Replace MDIO spinlock with mutex We never use MDIO in atomic context, so we don't need to spin. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 47c3d19f60da7cc018781744b1ffb3b557373e7f Author: Steve Hodgson Date: Sat Nov 28 05:34:29 2009 +0000 sfc: QT202x: Reset before reading PHY id Reading standard registers on the QT2025C before its firmware has booted may cause the boot process to fail. Therefore, follow the recommended reset sequence before reading its id registers. Either order works for the QT2022C2, so don't differentiate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fdaa9aed21c8c8b529f3c94a5ffa138bf3360b75 Author: Steve Hodgson Date: Sat Nov 28 05:34:05 2009 +0000 sfc: Simplify PHY polling Falcon can generate events for LASI interrupts from the PHY, but in practice we have never implemented this in reference designs. Instead we have polled, inserted the appropriate events, and then handled the events later. This is a waste of time and code. Instead, make PHY poll functions update the link state synchronously and report whether it changed. We can still make use of the LASI registers as a shortcut on the SFT9001. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 74e2134ff892ee4ea4fbd52637060b71e540faf1 Author: Pekka Enberg Date: Wed Nov 25 20:14:48 2009 +0200 SLUB: Fix __GFP_ZERO unlikely() annotation The unlikely() annotation in slab_alloc() covers too much of the expression. It's actually very likely that the object is not NULL so use unlikely() only for the __GFP_ZERO expression like SLAB does. The patch reduces kernel text by 29 bytes on x86-64: text data bss dec hex filename 24185 8560 176 32921 8099 mm/slub.o.orig 24156 8560 176 32892 807c mm/slub.o Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 9bf22f2c4607dbb68beb26153d83fa52b82e2d2f Author: Samuel Ortiz Date: Wed Nov 25 00:02:26 2009 +0100 iwmc3200wifi: Implement cfg80211 PMKSA API We need to implement the PMKSA API for proper WPA2 pre-auth and fast re-association. Our fullmac device generates all (re-)assoc IEs, and thus it needs the right PMKIDs. With this implementation we now get them from wpa_supplicant. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2944b2c2d2dd884c550163c698577132588277d8 Author: Samuel Ortiz Date: Wed Nov 25 00:01:01 2009 +0100 cfg80211: Add PMKSA wext compatibility handler With the addition of the *_pmksa cfg80211 ops, we can now add the corresponding wireless extensions compatibility handler. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 67fbb16be69d138a3b6645ec5395b487cb915c58 Author: Samuel Ortiz Date: Tue Nov 24 23:59:15 2009 +0100 nl80211: PMKSA caching support This is an interface to set, delete and flush PMKIDs through nl80211. Main users would be fullmac devices which firmwares are capable of generating the RSN IEs for the re-association requests, e.g. iwmc3200wifi. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a830df0714117574fd0d5fe98477059b3e9fd5bf Author: Felix Fietkau Date: Mon Nov 23 22:33:27 2009 +0100 ath9k: separate debugfs support from CONFIG_ATH_DEBUG In my setups, ath9k's debugfs files are most of the time much more useful than the messages generated by enabling CONFIG_ATH_DEBUG along with the right debug flags. Since CONFIG_ATH_DEBUG comes with a noticeable overhead on embedded systems, this patch makes it possible to use the debugfs files without that option. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f911ab83a2c07118dc605d643545647cef6f2322 Author: Johannes Berg Date: Wed Nov 25 19:07:20 2009 +0100 mac80211: log more data when tracing Enable logging of more configuration data when tracing is enabled. Except for the channel frequency this is only useful with the binary trace format, but that can be recorded and replayed with trace-cmd and I will be working on a plugin that reports all the information. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2569a826de16ff82302a8a091228275be1aa911c Author: Johannes Berg Date: Wed Nov 25 17:46:17 2009 +0100 mac80211: correctly place aMPDU RX reorder code As indicated by the comment, the aMPDU RX reorder code should logically be after ieee80211_rx_h_check(). The previous patch moved the code there, and this patch now hooks it up in that place by introducing a list of skbs that are then processed by the remaining handlers. The list may be empty if the function is buffering the skb to release it later. The only change needed to the RX data is that the crypto handler needs to clear the key that may be set from a previous loop iteration, and that not everything can be in the rx flags now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1edfb1afba2f6e4114ff09f2e3bc948fcae0c419 Author: Johannes Berg Date: Wed Nov 25 17:46:16 2009 +0100 mac80211: move aMPDU RX reorder code This code should be part of RX handlers, so move it to the place where it belongs without changing it. A follow-up patch will do the changes to hook it up. The sole purpose of this code move is to make the other patch readable, it doesn't change the code at all except that it now requires a different static function declaration (which will go away too). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8c0c709eea5cbab97fb464cd68b06f24acc58ee1 Author: Johannes Berg Date: Wed Nov 25 17:46:15 2009 +0100 mac80211: move cmntr flag out of rx flags The RX flags should soon be used only for flags that cannot change within an a-MPDU, so move the cooked monitor flag into the RX status flags. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e60d7443e00a72a2c056950cdaab79c7b077f3d4 Author: Alban Browaeys Date: Wed Nov 25 15:13:00 2009 +0100 wireless : use a dedicated workqueue for cfg80211. This patch moves the works cleanup, scan and events to a cfg80211 dedicated workqueue. Platform driver like eeepc-laptop ought to use works to rfkill (as new rfkill does lock in rfkill_unregister and the platform driver is called from rfkill_switch_all which also lock the same mutex). This raise a new issue in itself that the work scheduled by the platform driver to the global worqueue calls wiphy_unregister which flush_work scan and event works (which thus flush works on the global workqueue inside a work on the global workqueue) and also put on hold the wdev_cleanup_work (which prevents the dev_put on netdev thus indefinite Usage count error on wifi device). Signed-off-by: Johannes Berg Signed-off-by: Alban Browaeys Signed-off-by: John W. Linville commit ece1e3c61e59ba184150e5aff57bbc6355613e3e Author: Holger Schurig Date: Wed Nov 25 13:11:16 2009 +0100 libertas: move mesh command handling into mesh.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c7fe64cf4a08561a9e8f57e6018a504881236e34 Author: Holger Schurig Date: Wed Nov 25 13:10:49 2009 +0100 libertas: move mesh-only ethtool operations into mesh.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e0e42da3a4df6f487b59dad608db56e25001bcdb Author: Holger Schurig Date: Wed Nov 25 13:10:15 2009 +0100 libertas: moveing mesh-related functions into mesh.c This moves mesh initialization, start/stop and rx/tx handling from into mesh.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5e8e8b5759566b76bdf36046ae015796676a423c Author: Holger Schurig Date: Wed Nov 25 13:09:32 2009 +0100 libertas: introduce mesh.h Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 76bae570899be34317510d8006d490572152bdfb Author: Holger Schurig Date: Wed Nov 25 13:08:55 2009 +0100 libertas: rename persistcfg.c -> mesh.c mesh.c will be the file where we concentrate all mesh-related code. This allows us to either add a KConfig entry for mesh and makes matters easier for the cfg80211 transition. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b8d83392980b65ea548cbf2b1c7c542b51961166 Author: Alexey Dobriyan Date: Wed Nov 25 10:14:12 2009 +0300 ipw2x00: convert to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: John W. Linville commit 83daee06adeed7b294802c998d5e03ea7d856aa1 Author: Alexey Dobriyan Date: Wed Nov 25 10:12:20 2009 +0300 ray_cs: convert to proc_fops Signed-off-by: Alexey Dobriyan Signed-off-by: John W. Linville commit 94db29368a658b13a088db87c7b0bf59b1a7492d Author: Vivek Natarajan Date: Wed Nov 25 12:01:54 2009 +0530 ath9k: Ensure a fair beacon distribution in IBSS mode. Update the beacon queue parameters with best effort queue parameters for IBSS mode. This reduces the number of beacons generated by ath9k and ensures a fair beacon distribution when there are multiple IBSS stations. Also CWmin is quadrupled to achieve the expected percentage of distribution. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f4709fdf683e1ed37b321c258b614ebe39752bf3 Author: Luis R. Rodriguez Date: Tue Nov 24 21:37:57 2009 -0500 ath9k: Fix maximum tx fifo settings for single stream devices Atheros single stream AR9285 and AR9271 have half the PCU TX FIFO buffer size of that of dual stream devices. Dual stream devices have a max PCU TX FIFO size of 8 KB while single stream devices have 4 KB. Single stream devices have an issue though and require hardware only to use half of the amount of its capable PCU TX FIFO size, 2 KB and this requires a change in software. Technically a change would not have been required (except for frame burst considerations of 128 bytes) if these devices would have been able to use the full 4 KB of the PCU TX FIFO size but our systems engineers recommend 2 KB to be used only. We enforce this through software by reducing the max frame triggger level to 2 KB. Fixing the max frame trigger level should then have a few benefits: * The PER will now be adjusted as designed for underruns when the max trigger level is reached. This should help alleviate the bus as the rate control algorithm chooses a slower rate which should ensure frames are transmitted properly under high system bus load. * The poll we use on our TX queues should now trigger and work as designed for single stream devices. The hardware passes data from each TX queue on the PCU TX FIFO queue respecting each queue's priority. The new trigger level ensures this seeding of the PCU TX FIFO queue occurs as designed which could mean avoiding false resets and actually reseting hw correctly when a TX queue is indeed stuck. * Some undocumented / unsupported behaviour could have been triggered when the max trigger level level was being set to 4 KB on single stream devices. Its not clear what this issue was to me yet. Cc: Kyungwan Nam Cc: Bennyam Malavazi Cc: Stephen Chen Cc: Shan Palanisamy Cc: Paul Shaw Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1bc1488067ee2c295b933ef6decd6035230f1a1c Author: Benoit Papillault Date: Tue Nov 24 15:49:18 2009 +0100 ath9k: Proper padding/unpadding for the TX/RX path. Software padding is done on the TX path and software unpadding is done on the RX path. This patch corrects the position where the padding occurs. A specific function computes the pad position and this function is used in the TX and RX path. This patch has been tested by generating every possible 802.11 frames with every possible frame_control field and a varying length. This patch is useful for analyzing non standard 802.11 frames going over the air Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit e7824a50662f7f79b1a739f705b4d906c31cf221 Author: Luis R. Rodriguez Date: Tue Nov 24 02:53:25 2009 -0500 ath9k: fix processing of TX PS null data frames When mac80211 was telling us to go into Powersave we listened and immediately turned RX off. This meant hardware would not see the ACKs from the AP we're associated with and hardware we'd end up retransmiting the null data frame in a loop helplessly. Fix this by keeping track of the transmitted nullfunc frames and only when we are sure the AP has sent back an ACK do we go ahead and shut RX off. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b65b6ad016f048547127946d1afe4ba41c74296 Author: Samuel Ortiz Date: Tue Nov 24 11:33:33 2009 +0800 iwmc3200wifi: Remove tx concatenation option The tx concatenation option works fine now, we no longer need the debugging option of disabling concatenation. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b136b3a2c1867172cd3de6e7286c600b04543b30 Author: Samuel Ortiz Date: Tue Nov 24 11:33:32 2009 +0800 iwmc3200wifi: Add stopped queue to debugfs We add the stopped queue count and display to the tx queue debugfs entry. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a7af530d45969a63e20708417b70c547596ce3a9 Author: Samuel Ortiz Date: Tue Nov 24 11:33:31 2009 +0800 iwmc3200wifi: 802.11n Tx aggregation support To support 802.11n Tx aggregation support with iwmc3200 wifi, we have to handle the UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification from the UMAC. Before sending an AddBA, the UMAC synchronizes with the host in order to know what is the last Tx frame it's supposed to receive before it will be able to start the actual aggregation session. We thus have to keep track of the last sequence number that is scheduled for transmission on a particular RAxTID, send an answer to the UMAC with this sequence number. The UMAC then does the BA negociation and once it's done with it sends a new UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification to let us know that we can resume the Tx flow on the specified RAxTID. Signed-off-by: Samuel Ortiz Reviewed-by: Zhu Yi Signed-off-by: John W. Linville commit 2351178c52fedf1846c84b35418f4102487ec00e Author: Zhu Yi Date: Tue Nov 24 11:33:30 2009 +0800 iwmc3200wifi: Set wireless mode correctly Set the wireless mode with regard to both the driver's configuration and the device's EEPROM result. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0bed08de91c41b21447d704995a438d4536586ba Author: Samuel Ortiz Date: Tue Nov 24 11:33:29 2009 +0800 iwmc3200wifi: Update wireless_mode with eeprom values The iwmc3200wifi eeprom contains information about the available PHYs on the chip. We should update our wireless_mode setting and profile according to it. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fe19176ea46db572f0dc2df8bfe1dc5d8751ab9e Author: Samuel Ortiz Date: Tue Nov 24 11:33:28 2009 +0800 iwmc3200wifi: Dont set the UMAC power limit when interface is down When we're down, we shouldnt try to set the UMAC power limit. We just return 0 instead, and cfg80211 toggles the soft rfkill state. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 902b6667d3d17ac53ec62c036cd2bcf713c29d86 Author: Samuel Ortiz Date: Tue Nov 24 11:33:27 2009 +0800 iwmc3200wifi: Parse HT channels EEPROM entries The fat channels eeprom entries let us know if 11n is enabled or not. We update our wiphy supported bands based on that. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f6cd53c6a4204a3d4a274546449a70a766a99b6e Author: Samuel Ortiz Date: Tue Nov 24 11:33:26 2009 +0800 MAINTAINERS: Add iwmc3200wifi entry Update MAINTAINERS with the Intel supported iwmc3200wifi entry. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e6218cc47bd54710dc523e8c983ceddba625e3ae Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:52 2009 +0100 rt2x00: Centralize setting of extra TX headroom requested by rt2x00. Set the value of extra_tx_headroom in a central place, rather than in each of the drivers. This is preparatory for taking alignment space into account in the TX headroom requested by rt2x00. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 04d0362e2fa9d5f1ab560d0d59d04a535b4f3973 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:51 2009 +0100 rt2x00: Whitespace cleanup. Clean up the use of whitespace in the initialization of the rt2x00_ops structures. This is preparatory for a later patch that adds members to that structure, which require different whitespace alignment. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 95d69aa046f75c750f18119810b6f58d397fb576 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:50 2009 +0100 rt2x00: Fix typo (lengt --> length) in rt2x00queue.c Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ee303e543e7d5f0d38197298adf0c4fb079094e9 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:49 2009 +0100 rt2x00: Clean up use of rt2x00_intf_is_pci. RT chipsets are unique across both PCI and USB busses, and don't overlap. Therefore there is no need to test for bus type when only checking for chipset type. Remove the redundant checks. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6a6f455ca4120ae0c6a1bb77d58ba2f5e3e96afd Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:48 2009 +0100 rt2x00: Remove unused variable frame_control from rt2x00mac_tx. As additional fallout also remove the also unused variable ieee80211hdr. Reported-by: Johannes Stezenbach Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 38a522e6bc0fcd9848b91366ec899f1c2cb23609 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:47 2009 +0100 rt2x00: Only initialize HT on rt2800 devices that support it. Some RT28xx/RT30xx devices don't support 802.11n, when they are combined with the RF2020 chipset. Ensure that HT is disabled for these devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit c7c8adb53ff3e8fa3cf7a5144bd2791c4da2c07d Author: Luciano Coelho Date: Mon Nov 23 23:22:19 2009 +0200 wl1271: Remove REF_CLK hack This hack was totally wrong and was "needed" because of a problem in the way we were sending the GENERAL_PARMS command to the firmware. Now that that problem has been fixed, this hack can be removed. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 4a90406b876cade9bb8d9c95b048d60fb979ba6b Author: Luciano Coelho Date: Mon Nov 23 23:22:18 2009 +0200 wl1271: remove workaround to ignore -EIO from radio and general params We were ignoring the -EIO return value from wl1271_cmd_radio_params() and wl1271_cmd_general_params(), because they were always returning an error and we didn't know why. Now this has been fixed, so the workaround can be removed. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 98b5dd5ded8cb59b598b2c0c396100054779eda7 Author: Luciano Coelho Date: Mon Nov 23 23:22:17 2009 +0200 wl1271: fix radio and general parameters commands We were missing the command header in the radio and general parameters commands. This was causing them to fail, resulting in problems in the power levels and other PLT-related commands. Also reorganized the command functions, moving from wl1271_init.c to wl1271_cmd.c where it fits better. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit cc7defa366ea770efb25add8711defe88862197b Author: Luciano Coelho Date: Mon Nov 23 23:22:16 2009 +0200 wl1271: set radio and general params also for PLT We need to set the radio and general parameters when starting PLT mode. This patch adds calls to TEST_CMD_INI_RADIO_PARAMS and TEST_CMD_INIT_GENERAL_PARAMS when initializing PLT mode. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 17d7265c7582af77357bd31884cef26f9f802313 Author: Luciano Coelho Date: Mon Nov 23 23:22:15 2009 +0200 wl1271: fix the inetdev notifier callback return values The wl1271_dev_notify() was returning 0 or -ENODEV, when it should return NOTIFY_* instead. Now we use NOTIFY_DONE when we didn't handle the event or NOTIFY_OK when we have handled it. For inetdev notifications, it doesn't matter whether we use NOTIFY_DONE or NOTIFY_OK, because it ignores the return value of the call to blocking_notifier_call_chain(). But the notify.h header says that NOTIFY_DONE is "Don't care" and NOTIFY_OK is "Suits me", so that seems to be the right way to do it. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 03442a33174b1d9f6f8eb8c3c2e8a9cf4b75fffe Author: Juuso Oikarinen Date: Mon Nov 23 23:22:14 2009 +0200 wl1271: Set PSM support flags in driver configuration Set the PSM support flag in the device configuration for the mac80211 stack. This will enable usage of powersave. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 461fa136bb120f5b6b7d5814888a7211dbbd211b Author: Juuso Oikarinen Date: Mon Nov 23 23:22:13 2009 +0200 wl1271: Prevent PSM-entry retry loop if PSM cancelled Prevent endless PSM-entry retry loops, if PSM has already been cancelled while PSM entry was attempted. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 845025634549850879d30f00e20bc8bfe63980b4 Author: Juuso Oikarinen Date: Mon Nov 23 23:22:12 2009 +0200 wl1271: Decrease BET consecutive terminated beacons value to 10 Decrease the consecutive terminated beacons value for BET from 100 to 10. According to the vendor, 10 will give a more reliable connection and more reliable detection of connection problems. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fe8234a376e341c378a6e1c5de65db0fb49189a Author: Felix Fietkau Date: Mon Nov 23 22:22:27 2009 +0100 ath9k: clean up rc rate table Remove some fields from struct ath_rate_table that are now unused. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 545750d36fa78203e28acefb4bab61ebb7c4d197 Author: Felix Fietkau Date: Mon Nov 23 22:21:01 2009 +0100 ath9k: properly use the mac80211 rate control api This patch changes ath9k to pass proper MCS indexes and flags between the RC and the rest of the driver code. sc->cur_rate_table remains, as it's used by the RC code internally, but the rest of the driver code no longer uses it, so a potential new RC for ath9k would not have to update it. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0935db747739782fc779eb58529610c12db88ea2 Author: Ryusuke Konishi Date: Sun Nov 29 02:39:11 2009 +0900 nilfs2: use list_splice_tail or list_splice_tail_init This applies list_splice_tail (or list_splice_tail_init) operation instead of list_splice (or list_splice_init, respectively) to append a new list to tail of an existing list. Signed-off-by: Ryusuke Konishi commit 5fa9167a1bf5f5a4b7282f5e7ac56a4a5a1fa044 Author: Dominik Brodowski Date: Sun Nov 8 17:24:46 2009 +0100 pcmcia: rework the irq_req_t typedef Most of the irq_req_t typedef'd struct can be re-worked quite easily: (1) IRQInfo2 was unused in any case, so drop it. (2) IRQInfo1 was used write-only, so drop it. (3) Instance (private data to be passed to the IRQ handler): Most PCMCIA drivers using pcmcia_request_irq() to actually register an IRQ handler set the "dev_id" to the same pointer as the "priv" pointer in struct pcmcia_device. Modify the two exceptions (ipwireless, ibmtr_cs) to also work this waym and set the IRQ handler's "dev_id" to p_dev->priv unconditionally. (4) Handler is to be of type irq_handler_t. (5) Handler != NULL already tells whether an IRQ handler is present. Therefore, we do not need the IRQ_HANDLER_PRESENT flag in irq_req_t.Attributes. CC: netdev@vger.kernel.org CC: linux-bluetooth@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: alsa-devel@alsa-project.org CC: Jaroslav Kysela CC: Jiri Kosina CC: Karsten Keil for the Bluetooth parts: Acked-by: Marcel Holtmann Signed-off-by: Dominik Brodowski commit dd2e5a156525f11754d9b1e0583f6bb49c253d62 Author: Dominik Brodowski Date: Tue Nov 3 10:27:34 2009 +0100 pcmcia: remove deprecated handle_to_dev() macro Update remaining users and remove deprecated handle_to_dev() macro CC: Harald Welte CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org Signed-off-by: Dominik Brodowski commit 6838b03fc6564ea07d0cd87ea6e198d90ab1fc3e Author: Dominik Brodowski Date: Tue Nov 3 01:31:52 2009 +0100 pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer pcmcia_request_window() only needs a pointer to struct pcmcia_device, not a pointer to a pointer. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: Jiri Kosina Acked-by: Karsten Keil (for ISDN) Signed-off-by: Dominik Brodowski commit 82f88e36004162f49a9340ffbbaebe89016e4835 Author: Dominik Brodowski Date: Tue Nov 3 01:16:12 2009 +0100 pcmcia: remove unused "window_t" typedef Signed-off-by: Dominik Brodowski commit d7b0364bfc71c4abc97dfc47f85bb32363266e4e Author: Dominik Brodowski Date: Tue Nov 3 01:05:33 2009 +0100 pcmcia: move some window-related code to pcmcia_ioctl.c pcmcia_get_window() and pcmcia_get_mem_page() were only called from pcmcia_ioctl.c. Therefore, move these functions to that file, and remove the useless EXPORTs. Signed-off-by: Dominik Brodowski commit 0bdf9b3dd3cfa5cbd5d55172c19f5dd166208e17 Author: Magnus Damm Date: Wed Dec 13 19:46:53 2006 +0900 pcmcia: Change window_handle_t logic to unsigned long Logic changes based on top of the other patches: This set of patches changed window_handle_t from being a pointer to an unsigned long. The unsigned long is now a simple index into socket->win[]. Going from a pointer to unsigned long should leave the user space interface unchanged unless I'm mistaken. This change results in code that is less error prone and a user space interface which is much cleaner and safer. A nice side effect is that we are also are able to remove all members except one from window_t. [ linux@dominikbrodowski.net: Update to 2.6.31. Also, a plain "index" to socket->win[] does not work, as several codepaths rely on "window_handle_t" being non-zero if used. Therefore, set the window_handle_t to the socket->win[] index + 1. ] CC: netdev@vger.kernel.org Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit 16456ebabfec3f8f509fc18b45f256d066a1b360 Author: Magnus Damm Date: Wed Dec 13 19:46:48 2006 +0900 pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page() No logic changes, just pass struct pcmcia_socket to pcmcia_get_mem_page() [linux@dominikbrodowski.net: update to 2.6.31] Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit 868575d1e87ff2091800aea816972ddb46de60d5 Author: Magnus Damm Date: Wed Dec 13 19:46:43 2006 +0900 pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page() No logic changes, just pass struct pcmcia_device to pcmcia_map_mem_page() [linux@dominikbrodowski.net: update to 2.6.31] CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: Jiri Kosina Acked-by: Karsten Keil (for ISDN) Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit f5560da549ea2e32dd41e36548c0e7dee3d4aabb Author: Magnus Damm Date: Wed Dec 13 19:46:38 2006 +0900 pcmcia: Pass struct pcmcia_device to pcmcia_release_window() No logic changes, just pass struct pcmcia_device to pcmcia_release_window(). [linux@dominikbrodowski.net: update to 2.6.31] CC: netdev@vger.kernel.org CC: Jiri Kosina Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit b8b7d791a8ff01d2380089279a69afa99115fb23 Author: Thomas Gleixner Date: Sat Nov 28 15:03:03 2009 +0100 x86: Use -maccumulate-outgoing-args for sane mcount prologues commit 746357d (x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage) uses -mtune=generic to work around the function prologue problem with mcount on -march=pentium-mmx and others. Jakub pointed out that we can use -maccumulate-outgoing-args instead which is selected by -mtune=generic and prevents the problem without losing the -march specific optimizations. Pointed-out-by: Jakub Jelinek Signed-off-by: Thomas Gleixner Cc: Linus Torvalds Cc: stable@kernel.org commit 850265e84d1040e769d8762640e4e5f34ae2f45d Author: Srinidhi Kasagar Date: Sat Nov 28 08:24:47 2009 +0100 ARM: 5834/1: ARM: U8500 integrate to ARM architecture This hooks the U8500 support into the ARM kbuild system. This integration also enables SMP and its helper functions for U8500 platform Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit e3fd17458e4721d4ae0f0aab1c79b039575ac9c6 Author: Srinidhi Kasagar Date: Sat Nov 28 08:22:58 2009 +0100 ARM: 5833/1: ARM nomadik: enable U8500 for common platform Enable U8500 architecture to get access to the common code shared across various ST-Ericsson's machines like nomadik. Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 4e4eb42999ae155c3ac1cdb5dacbd419184064fb Author: Srinidhi Kasagar Date: Sat Nov 28 08:19:07 2009 +0100 ARM: 5832/1: ARM: U8500 Makefile.boot The Makefile.boot for the U8500 platform Signed-off-by: srinidhi kasagar Signed-off-by: Russell King commit aa44ef4d43b200c0e318ade2a3c24d00a6fd942a Author: Srinidhi Kasagar Date: Sat Nov 28 08:17:18 2009 +0100 ARM: 5831/1: ARM: U8500 core machine support Adds core support for the ST-Ericsson U8500 platform. It supports memory mappings, binds to the existing modules like GIC, SCU, TWD and local timers and sets up the infrastructure for the secondary core. Reviewed-by: Alessandro Rubini Reviewed-by: Linus Walleij Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit c6b503caef9abefb2e90ac83f672b75dc14bacd0 Author: Srinidhi Kasagar Date: Sat Nov 28 08:15:01 2009 +0100 ARM: 5830/1: ARM: U8500 clock framework Adds basic clock framework to the U8500 platform. Currently it just uses the clock lookup table and add the each entry to the clkdevice. More complex clock management to follow soon Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit ffae4e014a4bff7b904e4b5ace2ae453b9d93519 Author: Srinidhi Kasagar Date: Sat Nov 28 08:10:40 2009 +0100 ARM: 5829/1: ARM: U8500 register definitions Adds register definitions, shared peripheral interrupt numbers (SHPI) and IO mappings for the U8500 core support. SHPI are assigned to [160:32] where first 32 interrupts are reserved. Reviewed-by: Alessandro Rubin Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 59b559d7a39b590aecef583af58d123ff5876570 Author: Srinidhi Kasagar Date: Thu Nov 12 06:20:54 2009 +0100 ARM: 5786/1: Introduce plat-nomadik, MTU code re-organization Introduce the plat-nomadik folder for ST-Ericsson machines including the existing nomadik 8815 architecture. This also moves the existing MTU (MultiTimerUnit) of nomadik 8815 to the proposed plat-nomadik and adds HAS_MTU. The patch has been re-based to 2.6.32-rc6 Signed-off-by: srinidhi kasagar Acked-by: Alessandro Rubini Signed-off-by: Russell King commit cf72344d1ad7b33805ef8d65e758b267e6f4cb8d Author: Ingo Molnar Date: Sat Nov 28 10:11:00 2009 +0100 perf scripting: Fix build Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1ae4a971250c55e473ca53c78011fcf73809885d Author: Tom Zanussi Date: Wed Nov 25 01:15:52 2009 -0600 perf trace: Add a scripts/perl/bin for perf trace shell scripts To capture the relevant events for a given Perl script and to avoid having to continually remember and type in long command-lines, add a scripts/perl/bin directory containing two simple shell scripts for each Perl script, one for recording and one for processing/display. For example, to record perf data for the rw-by-pid.pl script, run scripts/perl/bin/rw-by-pid-record and to actually run the script and display the output run scripts/perl/bin/rw-by-pid-report. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-8-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 89fbf0b8a021cbf60abeacfb6b538e97c83afada Author: Tom Zanussi Date: Wed Nov 25 01:15:51 2009 -0600 perf trace: Add Documentation for perf trace Perl support Adds perf-trace-perl Documentation and a link to it from the perf-trace page. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-7-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit d1b93772be78486397693fc39d3ddea3fda90105 Author: Tom Zanussi Date: Wed Nov 25 01:15:50 2009 -0600 perf trace: Add interface to access perf data from Perl handlers The Perl scripting support for perf trace allows most of a trace event's data to be accessed directly as handler arguments, but not all of it e.g. the less common fields aren't passed in. To give scripts access to the other fields and/or any other data or metadata in the main perf executable that might be useful, a way to access the C data in perf from Perl is needed; this patch uses the Perl XS facility to do it for the common_xxx event fields not passed to handler functions. Context.pm exports three functions to Perl scripts that access fields for the current event by calling back into perf: common_pc(), common_flags() and common_lock_depth(). Support for common_flags() field values was added to Core.pm and a script used to sanity check these and other basic scripting features, check-perf-trace.pl, was also added. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-6-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit bcefe12eff5dca6fdfa94ed85e5bee66380d5cd9 Author: Tom Zanussi Date: Wed Nov 25 01:15:49 2009 -0600 perf trace: Add perf trace scripting support modules for Perl Add Perf-Trace-Util Perl module and some scripts that use it. Core.pm contains Perl code to define and access flag and symbolic fields. Util.pm contains general-purpose utility functions. Also adds some makefile bits to install them in libexec/perf-core/scripts/perl (or wherever perfexec_instdir points). Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-5-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 16c632de64a74644a46e7636db26b2cfb530ca13 Author: Tom Zanussi Date: Wed Nov 25 01:15:48 2009 -0600 perf trace: Add Perl scripting support Implement trace_scripting_ops to make Perl a supported perf trace scripting language. Additionally adds code that allows Perl trace scripts to access the 'flag' and 'symbolic' (__print_flags(), __print_symbolic()) field information parsed from the trace format files. Also adds the Perl implementation of the generate_script() trace_scripting_op, which creates a ready-to-run perf trace Perl script based on existing trace data. Scripts generated by this implementation print out all the fields for each event mentioned in perf.data (and will detect and generate the proper scripting code for 'flag' and 'symbolic' fields), and will additionally generate handlers for the special 'trace_unhandled', 'trace_begin' and 'trace_end' handlers. Script authors can simply remove the printing code to implement their own custom event handling. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit eb9a42caa7a926beb935a22bc59d981b35f0b652 Author: Tom Zanussi Date: Wed Nov 25 01:15:47 2009 -0600 perf trace: Add flag/symbolic format_flags It's useful to know whether a field is a flag or symbolic field for e.g. when generating scripts - it allows us to translate those fields specially rather than literally as plain numeric values. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 956ffd027bedc4106b901eb6a50f0a6c6de4113d Author: Tom Zanussi Date: Wed Nov 25 01:15:46 2009 -0600 perf trace: Add scripting ops Adds an interface, scripting_ops, that when implemented for a particular scripting language enables built-in support for trace stream processing using that language. The interface is designed to enable full-fledged language interpreters to be embedded inside the perf executable and thereby make the full capabilities of the supported languages available for trace processing. See below for details on the interface. This patch also adds a couple command-line options to 'perf trace': The -s option option is used to specify the script to be run. Script names that can be used with -s take the form: [language spec:]scriptname[.ext] Scripting languages register a set of 'language specs' that can be used to specify scripts for the registered languages. The specs can be used either as prefixes or extensions. If [language spec:] is used, the script is taken as a script of the matching language regardless of any extension it might have. If [language spec:] is not used, [.ext] is used to look up the language it corresponds to. Language specs are case insensitive. e.g. Perl scripts can be specified in the following ways: Perl:scriptname pl:scriptname.py # extension ignored PL:scriptname scriptname.pl scriptname.perl The -g [language spec] option gives users an easy starting point for writing scripts in the specified language. Scripting support for a particular language can implement a generate_script() scripting op that outputs an empty (or near-empty) set of handlers for all the events contained in a given perf.data trace file - this option gives users a direct way to access that. Adding support for a scripting language --------------------------------------- The main thing that needs to be done do add support for a new language is to implement the scripting_ops interface: It consists of the following four functions: start_script() stop_script() process_event() generate_script() start_script() is called before any events are processed, and is meant to give the scripting language support an opportunity to set things up to receive events e.g. create and initialize an instance of a language interpreter. stop_script() is called after all events are processed, and is meant to give the scripting language support an opportunity to clean up e.g. destroy the interpreter instance, etc. process_event() is called once for each event and takes as its main parameter a pointer to the binary trace event record to be processed. The implementation is responsible for picking out the binary fields from the event record and sending them to the script handler function associated with that event e.g. a function derived from the event name it's meant to handle e.g. 'sched::sched_switch()'. The 'format' information for trace events can be used to parse the binary data and map it into a form usable by a given scripting language; see the Perl implemention in subsequent patches for one possible way to leverage the existing trace format parsing code in perf and map that info into specific scripting language types. generate_script() should generate a ready-to-run script for the current set of events in the trace, preferably with bodies that print out every field for each event. Again, look at the Perl implementation for clues as to how that can be done. This is an optional, but very useful op. Support for a given language should also add a language-specific setup function and call it from setup_scripting(). The language-specific setup function associates the the scripting ops for that language with one or more 'language specifiers' (see below) using script_spec_register(). When a script name is specified on the command line, the scripting ops associated with the specified language are used to instantiate and use the appropriate interpreter to process the trace stream. In general, it should be relatively easy to add support for a new language, especially if the language implementation supports an interface allowing an interpreter to be 'embedded' inside another program (in this case the containing program will be 'perf trace'). If so, it should be relatively straightforward to translate trace events into invocations of user-defined script functions where e.g. the function name corresponds to the event type and the function parameters correspond to the event fields. The event and field type information exported by the event tracing infrastructure (via the event 'format' files) should be enough to parse and send any piece of trace data to the user script. The easiest way to see how this can be done would be to look at the Perl implementation contained in perf/util/trace-event-perl.c/.h. There are a couple of other things that aren't covered by the scripting_ops or setup interface and are technically optional, but should be implemented if possible. One of these is support for 'flag' and 'symbolic' fields e.g. being able to use more human-readable values such as 'GFP_KERNEL' or HI/BLOCK_IOPOLL/TASKLET in place of raw flag values. See the Perl implementation to see how this can be done. The other thing is support for 'calling back' into the perf executable to access e.g. uncommon fields not passed by default into handler functions, or any metadata the implementation might want to make available to users via the language interface. Again, see the Perl implementation for examples. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit c57ec52f2647e53709c3ce8d86b28876c2f32de0 Author: David S. Miller Date: Fri Nov 27 17:33:43 2009 -0800 sparc64: Faster early-boot framebuffer console. Borrow the powerpc bootx text console driver. Signed-off-by: David S. Miller commit da43243e765908d2ce6d22b2be995edf3218457d Author: Saeed Bishara Date: Tue Nov 24 19:33:53 2009 +0200 RTC: let Dove soc select the rtc-mv driver. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 573a652fb0da50a1ff3fca2c67afd81138fd06d2 Author: Lennert Buytenhek Date: Tue Nov 24 19:33:52 2009 +0200 ARM: Add Tauros2 L2 cache controller support Support for the Tauros2 L2 cache controller as used with the PJ1 and PJ4 CPUs. Signed-off-by: Lennert Buytenhek Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit edabd38e1a017e922e3e3b485ee3ddb4df433aa4 Author: Saeed Bishara Date: Thu Aug 6 15:12:43 2009 +0300 ARM: add base support for Marvell Dove SoC The Marvell Dove (88AP510) is a high-performance, highly integrated, low power SoC with high-end ARM-compatible processor (known as PJ4), graphics processing unit, high-definition video decoding acceleration hardware, and a broad range of peripherals. Signed-off-by: Lennert Buytenhek Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 9823b2d0f9547742fc40857f9ef153d6956266f2 Author: Thomas Kunze Date: Tue Feb 10 13:48:32 2009 +0100 collie: support pda_power driver This add the pda-power platform device to collie. commit f1fce597e68c91f04381ad869579fd2fe6064101 Author: Thomas Kunze Date: Tue Feb 10 14:12:29 2009 +0100 collie: add battery driver This driver is based on tosa_battery.c. commit f7177c8452618df34ecdcd7b6f2cb941aec0ffc3 Author: Thomas Kunze Date: Tue Feb 10 14:12:02 2009 +0100 collie: convert to gpiolib for ucb1x00 Only the parts used for collie_battery are converted. The rest will be cleaned up later. commit 9ca3dc805cd0d89c44f88b9a399061946781323a Author: Thomas Kunze Date: Tue Feb 10 14:50:56 2009 +0100 add gpiolib support to ucb1x00 The old access methods to the gpios will be removed when all users has been converted. (mainly ucb1x00-ts) commit cc647172795713e013f8de4bcdf91860e9e87bff Author: Thomas Kunze Date: Mon Feb 9 23:14:44 2009 +0100 SA1100: make gpio_to_irq and reverse a macro The function can't be used for static initialisations so convert them to macros. commit 167c55ef80d26679b8b4b4ffba9da208a7c1875d Author: Thomas Kunze Date: Tue Feb 10 13:21:42 2009 +0100 collie: locomo-led change default trigger Collie uses now the powersupply framework. Change the default led-trigger of locomo-led to reflect that. commit c8602edf3f9471466755329b78d309f2a01dd449 Author: Thomas Kunze Date: Tue Feb 10 14:54:57 2009 +0100 move drivers/mfd/*.h to include/linux/mfd So drivers like collie_battery driver can use those files easier. commit 1d0ad843b08f7655b8ac011bca1e3e0c69a554de Author: Thomas Kunze Date: Mon Oct 5 22:05:38 2009 +0200 collie: prepare for gpiolib use prefix gpio definitions for direct register access with '_' so we can use the other names for gpio_request & co commit f151ccf76b38d2ffdfe9e44fa01fe2fc0a754637 Author: Thomas Kunze Date: Tue Oct 28 21:41:39 2008 +0300 collie: fix scoop convesion to new api commit 18ed61da985c57eea3fe8038b13fa2837c9b3c3f Author: Thomas Gleixner Date: Fri Nov 27 15:24:44 2009 +0100 x86: hpet: Make WARN_ON understandable Andrew complained rightly that the WARN_ON in hpet_next_event() is confusing and the code comment not really helpful. Change it to WARN_ONCE and print the reason in clear text. Change the comment to explain what kind of hardware wreckage we deal with. Pointed-out-by: Andrew Morton Signed-off-by: Thomas Gleixner Cc: Venki Pallipadi commit 1ed091c45ae33b2179d387573c3fe3f3b4adf60a Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:23 2009 -0200 perf tools: Consolidate symbol resolving across all tools Now we have a very high level routine for simple tools to process IP sample events: int event__preprocess_sample(const event_t *self, struct addr_location *al, symbol_filter_t filter) It receives the event itself and will insert new threads in the global threads list and resolve the map and symbol, filling all this info into the new addr_location struct, so that tools like annotate and report can further process the event by creating hist_entries in their specific way (with or without callgraphs, etc). It in turn uses the new next layer function: void thread__find_addr_location(struct thread *self, u8 cpumode, enum map_type type, u64 addr, struct addr_location *al, symbol_filter_t filter) This one will, given a thread (userspace or the kernel kthread one), will find the given type (MAP__FUNCTION now, MAP__VARIABLE too in the near future) at the given cpumode, taking vdsos into account (userspace hit, but kernel symbol) and will fill all these details in the addr_location given. Tools that need a more compact API for plain function resolution, like 'kmem', can use this other one: struct symbol *thread__find_function(struct thread *self, u64 addr, symbol_filter_t filter) So, to resolve a kernel symbol, that is all the 'kmem' tool needs, its just a matter of calling: sym = thread__find_function(kthread, addr, NULL); The 'filter' parameter is needed because we do lazy parsing/loading of ELF symtabs or /proc/kallsyms. With this we remove more code duplication all around, which is always good, huh? :-) Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: John Kacur Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-12-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 62daacb51a2bf8480e6f6b3696b03f102fc15eb0 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:22 2009 -0200 perf tools: Reorganize event processing routines, lotsa dups killed While implementing event__preprocess_sample, that will do all of the symbol lookup in one convenient function, I noticed that util/process_event.[ch] were not being used at all, then started looking if there were other functions that could be shared and... All those functions really don't need to receive offset + head, the only thing they did was common to all of them, so do it at one place instead. Stats about number of each type of event processed now is done in a central place. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: John Kacur Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-11-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1de8e24520ffdcf2a90c842eed937f59079a2abd Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:21 2009 -0200 perf symbols: When not using modules, discard its symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-10-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 95011c600740837288a3b34b411244a4d9157c4e Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:20 2009 -0200 perf symbols: Support multiple symtabs in struct thread Making the routines that were so far specific to the kernel maps useful for all threads. This is done by making the kernel maps be contained in a kernel "thread". This gets the kernel specific routines closer to the userspace counterparts, which will help in reducing the boilerplate for resolving a symbol, as will be demonstrated in the next patches. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-9-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 23ea4a3fadc6b1692dec935397ea15e2affc1cba Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:19 2009 -0200 perf symbols: Kernel_maps should be an array of MAP__NR_TYPES entries So that we can support multiple symbol table types. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-8-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4e06255f5cf2acf6a5abfe7df8c9690463259dea Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:18 2009 -0200 perf symbols: Make the kallsyms loading routines part of the dso class So that the kallsyms loading routines are the direct counterpart of the vmlinux loading ones, i.e. dso__load_kallsyms is the counterpart of dso__load_vmlinux. In the process make them also use the symbols rb tree indexed by map->type, paving the way for supporting other types of symtabs, such as the next one to be supported: variables. This also allowed removal of yet another global variable: kernel_map__functions. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-7-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6a4694a433a218c729d336b348a01bfc720da095 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:17 2009 -0200 perf symbols: Better support for multiple symbol tables per dso By using an array of rb_roots in struct dso we can, from a struct map instance to get the right symbol rb_tree more easily. This way we can have just one symbol lookup method for struct map instances, map__find_symbol, instead of one per symtab type (functions, variables). Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3610583c29563e23dd038d2870f59c88438bf7a3 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:16 2009 -0200 perf symbols: Add a 'type' field to struct map That way we will be able to check if the right symtab is loaded in the underlying DSO. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 605ca4ba017455d39ac6991c58eb1e80fb8af48d Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:15 2009 -0200 perf symbols: Unexport kernel_map__functions perf annotate was the only user, and it doesn't really need it. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b0da954a4759ac19fb80a959e53b613fe376bc12 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:14 2009 -0200 perf symbols: Split the dsos list into kernel and user parts We don't need to look at modules in dsos__findnew because the kernel events come only with user DSOs. Also we need a way to list just the module DSOs so that we can create multiple sets of maps, now that we will support maps for the variables in a symtab. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 61f37a824d6782503ff66bf653f2e07902b641a1 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:13 2009 -0200 perf symbols: Rename kernel_mapto kernel_map[s]__functions As we'll have kernel_map[s]__variables too. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3f5ee186f615a720fe78eb33662ae4da57a1eee3 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:12 2009 -0200 perf symbols: Avoid annoying message about loading symbols This should be properly fixed when we remove the XXX comment in 'perf report', function resolve_symbol. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5c5452f703cd9660c4f2549458d9fd0008e1a100 Merge: 49af574 e9ff5eb Author: Mark Brown Date: Fri Nov 27 16:56:22 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 49af574b60669a58a2e96960ac694ce953119083 Author: Daniel Mack Date: Fri Nov 27 13:47:10 2009 +0100 ALSA: ARM: add Raumfeld audio support Signed-off-by: Daniel Mack Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a22eaf4ce106404f6c5283da30b4d514ede964c1 Author: Takashi Iwai Date: Fri Nov 27 15:14:09 2009 +0100 ASoC: Revert missing reset_err in wm97*.c The commit fe3e78e073d25308756f38019956061153267769 ASoC: Factor out snd_soc_init_card() removed the error paths that are still valid for wm97* codecs, causing the compile errors like sound/soc/codecs/wm9705.c:399: error: label 'reset_err' used but not defined sound/soc/codecs/wm9712.c:687: error: label 'reset_err' used but not defined sound/soc/codecs/wm9713.c:1237: error: label 'reset_err' used but not defined Revert the removed error path codes. Signed-off-by: Takashi Iwai commit efd44318157009274fa5962d60167ecfb954e246 Merge: 492667d 4f65ae3 Author: Joerg Roedel Date: Fri Nov 27 14:27:30 2009 +0100 Merge branch 'gart/fixes' into amd-iommu/2.6.33 commit 492667dacc0ac9763969155482b1261b34ccf450 Author: Joerg Roedel Date: Fri Nov 27 13:25:47 2009 +0100 x86/amd-iommu: Remove amd_iommu_pd_table The data that was stored in this table is now available in dev->archdata.iommu. So this table is not longer necessary. This patch removes the remaining uses of that variable and removes it from the code. Signed-off-by: Joerg Roedel commit 8eed9833346781dd15e3bef35a91b0a40787ea3c Author: Joerg Roedel Date: Thu Nov 26 15:45:41 2009 +0100 x86/amd-iommu: Move reset_iommu_command_buffer out of locked code This patch removes the ugly contruct where the iommu->lock must be released while before calling the reset_iommu_command_buffer function. Signed-off-by: Joerg Roedel commit b00d3bcff4d996f65e337d404b0df5dc201a01ab Author: Joerg Roedel Date: Thu Nov 26 15:35:33 2009 +0100 x86/amd-iommu: Cleanup DTE flushing code This patch cleans up the code to flush device table entries in the IOMMU. With this chance the driver can get rid of the iommu_queue_inv_dev_entry() function. Signed-off-by: Joerg Roedel commit 3fa43655d81d471d47c44b0db4e2be1f8af32207 Author: Joerg Roedel Date: Thu Nov 26 15:04:38 2009 +0100 x86/amd-iommu: Introduce iommu_flush_device() function This patch adds a function to flush a DTE entry for a given struct device and replaces iommu_queue_inv_dev_entry calls with this function where appropriate. Signed-off-by: Joerg Roedel commit 7f760ddd702d162d693bc79f62c3bdd7fe55bd9d Author: Joerg Roedel Date: Thu Nov 26 14:49:59 2009 +0100 x86/amd-iommu: Cleanup attach/detach_device code This patch cleans up the attach_device and detach_device paths and fixes reference counting while at it. Signed-off-by: Joerg Roedel commit 7c392cbe984d904f7c89a6a75b2ac245254e8da5 Author: Joerg Roedel Date: Thu Nov 26 11:13:32 2009 +0100 x86/amd-iommu: Keep devices per domain in a list This patch introduces a list to each protection domain which keeps all devices associated with the domain. This can be used later to optimize certain functions and to completly remove the amd_iommu_pd_table. Signed-off-by: Joerg Roedel commit 241000556f751dacd332df6ab2e903a23746e51e Author: Joerg Roedel Date: Wed Nov 25 15:59:57 2009 +0100 x86/amd-iommu: Add device bind reference counting This patch adds a reference count to each device to count how often the device was bound to that domain. This is important for single devices that act as an alias for a number of others. These devices must stay bound to their domains until all devices that alias to it are unbound from the same domain. Signed-off-by: Joerg Roedel commit 657cbb6b6cba0f9c98c5299e0c803b2c0e67ea0a Author: Joerg Roedel Date: Mon Nov 23 15:26:46 2009 +0100 x86/amd-iommu: Use dev->arch->iommu to store iommu related information This patch changes IOMMU code to use dev->archdata->iommu to store information about the alias device and the domain the device is attached to. This allows the driver to get rid of the amd_iommu_pd_table in the future. Signed-off-by: Joerg Roedel commit 8793abeb783c12cc37f92f6133fd6468152b98df Author: Joerg Roedel Date: Fri Nov 27 11:40:33 2009 +0100 x86/amd-iommu: Remove support for domain sharing This patch makes device isolation mandatory and removes support for the amd_iommu=share option. This simplifies the code in several places. Signed-off-by: Joerg Roedel commit 171e7b3739e175eea7b32eca9dbe189589e14a28 Author: Joerg Roedel Date: Tue Nov 24 17:47:56 2009 +0100 x86/amd-iommu: Rearrange dma_ops related functions This patch rearranges two dma_ops related functions so that their forward declarations are not longer necessary. Signed-off-by: Joerg Roedel commit 308973d3b958b9328a1051642c81ee6dbc5021a4 Author: Joerg Roedel Date: Tue Nov 24 17:43:32 2009 +0100 x86/amd-iommu: Move some pte allocation functions in the right section This patch moves alloc_pte() and fetch_pte() into the page table handling code section so that the forward declarations for them could be removed. Signed-off-by: Joerg Roedel commit 87a64d523825351a23743e69949c2a8c2077cecf Author: Joerg Roedel Date: Tue Nov 24 17:26:43 2009 +0100 x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc This function doesn't use the parameter anymore so it can be removed. Signed-off-by: Joerg Roedel commit 98fc5a693bbdda498a556654c70d1e31a186c988 Author: Joerg Roedel Date: Tue Nov 24 17:19:23 2009 +0100 x86/amd-iommu: Use get_device_id and check_device where appropriate The logic of these two functions is reimplemented (at least in parts) in places in the code. This patch removes these code duplications and uses the functions instead. As a side effect it moves check_device() to the helper function code section. Signed-off-by: Joerg Roedel commit 71c70984e5afc20d304fbb523f1c8bb42c4ceb36 Author: Joerg Roedel Date: Tue Nov 24 16:43:06 2009 +0100 x86/amd-iommu: Move find_protection_domain to helper functions This is a helper function and when its placed in the helper function section we can remove its forward declaration. Signed-off-by: Joerg Roedel commit 94f6d190eeed91cb2bb901aa7816edd1e2405347 Author: Joerg Roedel Date: Tue Nov 24 16:40:02 2009 +0100 x86/amd-iommu: Simplify get_device_resources() With the previous changes the get_device_resources function can be simplified even more. The only important information for the callers is the protection domain. This patch renames the function to get_domain() and let it only return the protection domain for a device. Signed-off-by: Joerg Roedel commit 15898bbcb48fc86c2baff156163df0941ecb6a15 Author: Joerg Roedel Date: Tue Nov 24 15:39:42 2009 +0100 x86/amd-iommu: Let domain_for_device handle aliases If there is no domain associated to a device yet and the device has an alias device which already has a domain, the original device needs to have the same domain as the alias device. This patch changes domain_for_device to handle this situation and directly assigns the alias device domain to the device in this situation. Signed-off-by: Joerg Roedel commit f3be07da531ceef1b51295e5becc9bc07670b671 Author: Joerg Roedel Date: Mon Nov 23 19:43:14 2009 +0100 x86/amd-iommu: Remove iommu specific handling from dma_ops path This patch finishes the removal of all iommu specific handling code in the dma_ops path. Signed-off-by: Joerg Roedel commit cd8c82e875c27ee0d8b59fb76bc12aa9db6a70c2 Author: Joerg Roedel Date: Mon Nov 23 19:33:56 2009 +0100 x86/amd-iommu: Remove iommu parameter from __(un)map_single With the prior changes this parameter is not longer required. This patch removes it from the function and all callers. Signed-off-by: Joerg Roedel commit 576175c2503ae9b0f930ee9a6a0abaf7ef8956ad Author: Joerg Roedel Date: Mon Nov 23 19:08:46 2009 +0100 x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs Since the assumption that an dma_ops domain is only bound to one IOMMU was given up we need to make alloc_new_range aware of it. Signed-off-by: Joerg Roedel commit 680525e06ddccda8c51bdddf532cd5b7d950c411 Author: Joerg Roedel Date: Mon Nov 23 18:44:42 2009 +0100 x86/amd-iommu: Remove iommu parameter from dma_ops_domain_(un)map The parameter is unused in these function so remove it from the parameter list. Signed-off-by: Joerg Roedel commit f99c0f1c75f75924a6f19cb40a21ccefc6e8754d Author: Joerg Roedel Date: Mon Nov 23 16:52:56 2009 +0100 x86/amd-iommu: Use check_device in get_device_resources Every call-place of get_device_resources calls check_device before it. So call it from get_device_resources directly and simplify the code. Signed-off-by: Joerg Roedel commit 420aef8a3acfc3e75427107e23d5a9bafd17c477 Author: Joerg Roedel Date: Mon Nov 23 16:14:57 2009 +0100 x86/amd-iommu: Use check_device for amd_iommu_dma_supported The check_device logic needs to include the dma_supported checks to be really sure. Merge the dma_supported logic into check_device and use it to implement dma_supported. Signed-off-by: Joerg Roedel commit 318afd41d2eca3224de3fd85a3b9a27a3010a98d Author: Joerg Roedel Date: Mon Nov 23 18:32:38 2009 +0100 x86/amd-iommu: Make np-cache a global flag The non-present cache flag was IOMMU local until now which doesn't make sense. Make this a global flag so we can remove the lase user of 'struct iommu' in the map/unmap path. Signed-off-by: Joerg Roedel commit 09b4280439ef6fdc55f1353a9135034336eb5d26 Author: Joerg Roedel Date: Fri Nov 20 17:02:44 2009 +0100 x86/amd-iommu: Reimplement flush_all_domains_on_iommu() This patch reimplements the function flush_all_domains_on_iommu to use the global protection domain list. Signed-off-by: Joerg Roedel commit e3306664eb307ae4cc93211cd9f12d0dbd49de65 Author: Joerg Roedel Date: Fri Nov 20 16:48:58 2009 +0100 x86/amd-iommu: Reimplement amd_iommu_flush_all_domains() This patch reimplementes the amd_iommu_flush_all_domains function to use the global protection domain list instead of flushing every domain on every IOMMU. Signed-off-by: Joerg Roedel commit aeb26f55337d4310840c8adc3ec7d6aebb714472 Author: Joerg Roedel Date: Fri Nov 20 16:44:01 2009 +0100 x86/amd-iommu: Implement protection domain list This patch adds code to keep a global list of all protection domains. This allows to simplify the resume code. Signed-off-by: Joerg Roedel commit 601367d76bd19b7eea2286ae99e5b1cb5d74f38d Author: Joerg Roedel Date: Fri Nov 20 16:08:55 2009 +0100 x86/amd-iommu: Remove iommu_flush_domain function This iommu_flush_tlb_pde function does essentially the same. So the iommu_flush_domain function is redundant and can be removed. Signed-off-by: Joerg Roedel commit dcd1e92e405449ecc5e8bd8fcfebf3b2a13d3d37 Author: Joerg Roedel Date: Fri Nov 20 15:30:58 2009 +0100 x86/amd-iommu: Use __iommu_flush_pages for tlb flushes This patch re-implements iommu_flush_tlb functions to use the __iommu_flush_pages logic. Signed-off-by: Joerg Roedel commit 6de8ad9b9ee0ec5b52ec8ec41401833e5e89186f Author: Joerg Roedel Date: Mon Nov 23 18:30:32 2009 +0100 x86/amd-iommu: Make iommu_flush_pages aware of multiple IOMMUs This patch extends the iommu_flush_pages function to flush the TLB entries on all IOMMUs the domain has devices on. This basically gives up the former assumption that dma_ops domains are only bound to one IOMMU in the system. For dma_ops domains this is still true but not for IOMMU-API managed domains. Giving this assumption up for dma_ops domains too allows code simplification. Further it splits out the main logic into a generic function which can be used by iommu_flush_tlb too. Signed-off-by: Joerg Roedel commit abe6becb7c603991b925c0d2dd908e31dd6611f5 Merge: bbb3c64 8366fc3 Author: Takashi Iwai Date: Fri Nov 27 13:27:03 2009 +0100 Merge branch 'next/isa' into topic/misc commit 8366fc390865bfb1497fe19a518fe5713f96ba3b Author: Krzysztof Helt Date: Fri Nov 27 11:24:13 2009 +0100 media/radio: New driver for the radio FM module on Miro PCM20 sound card This is recreated driver for the FM module found on Miro PCM20 sound cards. This driver was removed around the 2.6.2x kernels because it relied on the removed OSS module. Now, it uses a current ALSA module (snd-miro) and is adapted to v4l2 layer. It provides only basic functionality: frequency changing and FM module muting. Signed-off-by: Krzysztof Helt Reviewed-by: Hans Verkuil Acked-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai commit bfc9902599549736b9c6445e1e2235b8542f64a6 Author: Takashi Iwai Date: Fri Nov 27 12:22:44 2009 +0100 ALSA: hda - Don't trigger pin-sense for STAC/IDT codecs STAC/IDT codecs seem to behave weird when SET_PIN_SENSE verb is issued before reading the jack-detection although the TRIG_REQ pin capability is given by the hardware. Since snd_hda_jack_detect() issues the SET_PIN_SENSE verb simply judging from the pincap, we have to revert the change in the commit d56757abc11a21996d9839c0d4e3b2c3666cd318 ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() to plain GET_PIN_SENSE verb without triggering. Reported-by: Jiri Slaby Signed-off-by: Takashi Iwai commit abdb318b79d387a723af5db2aa79f812cefd0797 Author: Jiro SEKIBA Date: Fri Nov 27 19:41:14 2009 +0900 nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty Replace mark_inode_dirty() as nilfs_mark_inode_dirty() to reduce deep function calls. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 3534573b58fd7576d3dc8dd66a9973592ac08b2d Author: Jiro SEKIBA Date: Fri Nov 27 19:41:13 2009 +0900 nilfs2: delete mark_inode_dirty in nilfs_delete_entry Delete mark_inode_dirty() in nilfs_delete_entry() to reduce duplicate mark_inode_dirty() calls both in nilfs_rename() and nilfs_delete_entry(). Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 58d55471cb1911f7493aba7bf3b6b87ca91e4314 Author: Jiro SEKIBA Date: Fri Nov 27 19:41:12 2009 +0900 nilfs2: delete mark_inode_dirty in nilfs_commit_chunk Delete mark_inode_dirty() in nilfs_commit_chunk(), for callers of nilfs_commit_chunk() will call equivalent mark_inode_dirty() after calling nilfs_commit_chunk(). Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 2093abf9cbcec3cb1409a67d8bce51854595b1d5 Author: Jiro SEKIBA Date: Fri Nov 27 19:41:11 2009 +0900 nilfs2: change return type of nilfs_commit_chunk change return type of nilfs_commit_chunk() as void from int, for nilfs_set_file_dirty() usually does not return error. This is an intermediate patch to reduce mark_inode_dirty() in nilfs_commit_chunk(). Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 4cd76c3c930993cf70657775bb521cad006e37b4 Author: Jiro SEKIBA Date: Fri Nov 27 19:41:10 2009 +0900 nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink Split nilfs_unlink() to reduce nested transaction and duplicate mark_inode_dirty() calls when calling nilfs_unlink() from nilfs_rmdir(). nilfs_do_unlink() is an actual unlink functionality which is not in transaction and does not call mark_inode_dirty() for dentry argument. nilfs_unlink() is a wrapper function for do_nilfs_unlink() with transaction and mark_inode_dirty() for dentry argument. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 17491472769abbf4dac694d96c65eed5a7e1c81c Author: Jiro SEKIBA Date: Fri Nov 27 19:41:09 2009 +0900 nilfs2: delete redundant mark_inode_dirty delete redundant mark_inode_dirty() calls Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 565de406e7bfa92ffec6315e89857986da657192 Author: Jiro SEKIBA Date: Fri Nov 27 19:41:08 2009 +0900 nilfs2: expand inode_inc_link_count and inode_dec_link_count This is an intermidiate patch to reduce redandunt mark_inode_dirty() calls by calling inode_inc_link_count() and inode_dec_link_count() functions. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 43f8bc262fcfadc7583b2353d2708e6eb77788ff Author: Jiro SEKIBA Date: Fri Nov 27 19:41:07 2009 +0900 nilfs2: delete mark_inode_dirty from nilfs_set_link Delete mark_inode_dirty() from nilfs_set_link() to reduce redundant mark_inode_dirty() calls in caller of nilfs_set_link(). Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 9ca941d4b62e72571948efe5a73c563b4cacc98d Author: Jiro SEKIBA Date: Fri Nov 27 19:41:06 2009 +0900 nilfs2: delete mark_inode_dirty in nilfs_new_inode It is redundant to call mark_inode_dirty() in nilfs_new_inode() because all caller of nilfs_new_inode() will call mark_inode_dirty() after calling nilfs_new_inode() directly or indirectly in transaction. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 0518a3a4585cb3eeeaf14ca57131f11d252130c6 Author: Joerg Roedel Date: Fri Nov 20 16:00:05 2009 +0100 x86/amd-iommu: Add function to complete a tlb flush This patch adds a function to the AMD IOMMU driver which completes all queued commands an all IOMMUs a specific domain has devices attached on. This is required in a later patch when per-domain flushing is implemented. Signed-off-by: Joerg Roedel commit c459611424d8b8396060eb766e23bd0c70c993bc Author: Joerg Roedel Date: Fri Nov 20 14:57:32 2009 +0100 x86/amd-iommu: Add per IOMMU reference counting This patch adds reference counting for protection domains per IOMMU. This allows a smarter TLB flushing strategy. Signed-off-by: Joerg Roedel commit bb52777ec4d736c2d7c4f037b32d4eeeb172ed89 Author: Joerg Roedel Date: Fri Nov 20 14:31:51 2009 +0100 x86/amd-iommu: Add an index field to struct amd_iommu This patch adds an index field to struct amd_iommu which can be used to lookup it up in an array. This index will be used in struct protection_domain to keep track which protection domain has devices behind which IOMMU. Signed-off-by: Joerg Roedel commit bf3118c1276d27fe9e84aa42382da25ee0750777 Author: Joerg Roedel Date: Fri Nov 20 13:39:19 2009 +0100 x86/amd-iommu: Update copyright headers This patch updates the copyright headers in the relevant AMD IOMMU driver files to match the date of the latest changes. Signed-off-by: Joerg Roedel commit 6a9401a7ac13e62ef2baf4d46e022d303edc3050 Author: Joerg Roedel Date: Fri Nov 20 13:22:21 2009 +0100 x86/amd-iommu: Separate internal interface definitions This patch moves all function declarations which are only used inside the driver code to a seperate header file. Signed-off-by: Joerg Roedel commit 8700055e0a30b3f67c1474b09200b59c32dd3796 Author: Krzysztof Helt Date: Fri Nov 27 11:20:56 2009 +0100 ALSA: opti-miro: fix OOPS if hardware is not detected If a hardware is not detected there is a kernel crash due to not initialized snd_miro->aci pointer. This pointer is initialized after detection of the opti (miro) chip. This bug was introduced by patches to expose ACI mikser outside the snd-miro driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit d6797322231af98b9bb4afb175dd614cf511e5f7 Author: Takashi Iwai Date: Thu Nov 26 15:08:54 2009 +0100 ALSA: Remove old DMA-mmap code from arm/devdma.c The call of dma_mmap_coherent() is done in the PCM core now. Signed-off-by: Takashi Iwai commit 6985c8877a711c7c307af05203858cb7c3c89d0d Author: Takashi Iwai Date: Thu Nov 26 15:04:24 2009 +0100 ALSA: pcm - fix page conversion on non-coherent PPC arch The non-cohernet PPC arch doesn't give the correct address by a simple virt_to_page() for pages allocated via dma_alloc_coherent(). This patch adds a hack to fix the conversion similarly like MIPS. Note that this doesn't fix perfectly: the pages should be marked with proper pgprot value. This will be done in a future implementation like the conversion to dma_mmap_coherent(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Takashi Iwai commit 66b6cfacfc5aa2fda37b0d40cd54931ca5ef8cd7 Author: Takashi Iwai Date: Thu Nov 26 12:50:01 2009 +0100 ALSA: pcm - fix page conversion on non-coherent MIPS arch The non-coherent MIPS arch doesn't give the correct address by a simple virt_to_page() for pages allocated via dma_alloc_coherent(). Original patch by Wu Zhangjin . [Ralf mentioned: "The origins of this patch go back far further. The oldest patch I could find which is a superset of this was written by Atsushi Nemoto and various incarnations of it have been sumitted to and reject by me a number of times through the years."] A proper check of the buffer allocation type was added to avoid the wrong conversion. Note that this doesn't fix perfectly: the pages should be marked with proper pgprot value. This will be done in a future implementation like the conversion to dma_mmap_coherent(). Acked-by: Ralf Baechle Signed-off-by: Takashi Iwai commit 415c7d26d28fa10edb46503a8dd5b6440d479c0b Author: Yoichi Yuasa Date: Mon Nov 2 11:37:36 2009 +0900 Add KZM-ARM11-01 support Signed-off-by: Yoichi Yuasa Signed-off-by: Sascha Hauer commit 143a179d6cafe939c881ee918574e3943157ef01 Author: Alan Carvalho de Assis Date: Wed Nov 25 15:24:50 2009 -0200 mx27: Add basic support for Maxtrack i-MXT TD60 Signed-off-by: Alan Carvalho de Assis Signed-off-by: Sascha Hauer commit 97adeda043d4c2e11dcaca64a7e5fd0c4574c3fe Author: Uwe Kleine-König Date: Thu Nov 12 22:56:29 2009 +0100 IMX: don't disable the uart clock if DEBUG_LL uses it Before the clock was left enabled only for DEBUG_LL_CONSOLE which requires an additional patch to exist at all. With this patch applied DEBUG_LL_CONSOLE depends on DEBUG_LL, so this doesn't break. Signed-off-by: Uwe Kleine-König Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 52a11f354970e7301e1d1a029b87535be45abec9 Author: Lai Jiangshan Date: Wed Nov 25 16:33:15 2009 +0800 trace_kprobes: Don't output zero offset "symbol_name+0" is not so friendly. It makes the output longer. Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEBCB.7080309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 3d9b2e1ddf42dd3df38af7794fa5e39cce760f3b Author: Lai Jiangshan Date: Wed Nov 25 16:32:47 2009 +0800 trace_kprobes: Always show group name Sometimes the group name is not "kprobes", It'll be better if we can read it from tracing/kprobe_events. # echo 'r:laijs/vfs_read vfs_read %ax' > kprobe_events # cat kprobe_events r:laijs/vfs_read vfs_read %ax=%ax Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEBAF.6000104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit abab9d37d2a826fcf588c5f30152dbe05c40111c Author: Lai Jiangshan Date: Wed Nov 25 16:32:21 2009 +0800 trace_kprobes: Fix memory leak tp->nr_args is not set before we "goto error", it causes memory leak for free_trace_probe() use tp->nr_args to free memory of args. Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEB95.2060107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 0f1ef51d244809f417bdf45cdb00109fb6005672 Author: Lai Jiangshan Date: Thu Nov 26 15:49:33 2009 +0800 trace_syscalls: Add syscall nr field Field syscall number is missed in syscall_enter_define_fields()/ syscall_exit_define_fields(). Syscall number is also needed for event filter or other users. Signed-off-by: Lai Jiangshan Acked-by: Frederic Weisbecker Cc: Jason Baron Cc: Steven Rostedt LKML-Reference: <4B0E330D.1070206@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit dd1853c3f493f6d22d9e5390b192a07b73d2ac0a Author: Frederic Weisbecker Date: Fri Nov 27 04:55:54 2009 +0100 hw-breakpoints: Use struct perf_event_attr to define kernel breakpoints Kernel breakpoints are created using functions in which we pass breakpoint parameters as individual variables: address, length and type. Although it fits well for x86, this just does not scale across architectures that may support this api later as these may have more or different needs. Pass in a perf_event_attr structure instead because it is meant to evolve as much as possible into a generic hardware breakpoint parameter structure. Reported-by: K.Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259294154-5197-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5fa10b28e57f94a90535cfeafe89dcee9f47d540 Author: Frederic Weisbecker Date: Fri Nov 27 04:55:53 2009 +0100 hw-breakpoints: Use struct perf_event_attr to define user breakpoints In-kernel user breakpoints are created using functions in which we pass breakpoint parameters as individual variables: address, length and type. Although it fits well for x86, this just does not scale across archictectures that may support this api later as these may have more or different needs. Pass in a perf_event_attr structure instead because it is meant to evolve as much as possible into a generic hardware breakpoint parameter structure. Reported-by: K.Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259294154-5197-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e5af02261668350b43eb7381648930bde8e872f7 Author: Anton Blanchard Date: Fri Nov 27 13:28:20 2009 +1100 softlockup: Fix hung_task_check_count sysctl I'm seeing spikes of up to 0.5ms in khungtaskd on a large machine. To reduce this source of jitter I tried setting hung_task_check_count to 0: # echo 0 > /proc/sys/kernel/hung_task_check_count which didn't have the intended response. Change to a post increment of max_count, so a value of 0 means check 0 tasks. Signed-off-by: Anton Blanchard Acked-by: Frederic Weisbecker Cc: msb@google.com LKML-Reference: <20091127022820.GU32182@kryten> Signed-off-by: Ingo Molnar commit 86f9e097f340fd0fbd37afe92bd5453f5a84cbca Author: Michal Simek Date: Tue Nov 24 00:22:41 2009 +0000 powerpc/of_serial: Add missing ns16550a id Many boards have a bug-free ns16550 compatible serial port, which we should register as PORT_16550A. This introduces a new value "ns16550a" for the compatible property of of_serial to let a firmware choose that model instead of using the crippled PORT_16550 mode. Reported-by: Alon Ziv Signed-off-by: Michal Simek Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 39adfa540fa0b32e41b2a5a9e225384009ae6128 Author: David Gibson Date: Mon Nov 23 20:03:40 2009 +0000 powerpc/mm: Fix bug in gup_hugepd() Commit a4fe3ce7699bfe1bd88f816b55d42d8fe1dac655 introduced a new get_user_pages() path for hugepages on powerpc. Unfortunately, there is a bug in it's loop logic, which can cause it to overrun the end of the intended region. This came about by copying the logic from the normal page path, which assumes the address and end parameters have been pagesize aligned at the top-level. Since they're not *hugepage* size aligned, the simplistic logic could step over the end of the gup region without triggering the loop end condition. This patch fixes the bug by using the technique that the normal page path uses in levels above the lowest to truncate the ending address to something we know we'll match with. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit c045256d146800ea1d741a8e9e377dada6b7e195 Author: David Gibson Date: Mon Nov 23 19:31:14 2009 +0000 powerpc/mm: Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT Commit a0668cdc154e54bf0c85182e0535eea237d53146 cleans up the handling of kmem_caches for allocating various levels of pagetables. Unfortunately, it conflicts badly with CONFIG_PPC_SUBPAGE_PROT, due to the latter's cleverly hidden technique of adding some extra allocation space to the top level page directory to store the extra information it needs. Since that extra allocation really doesn't fit into the cleaned up page directory allocating scheme, this patch alters CONFIG_PPC_SUBPAGE_PROT to instead allocate its struct subpage_prot_table as part of the mm_context_t. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit 5e7565930524410f097f5b04f8aba663089a6ffc Author: Patrick McHardy Date: Wed Nov 25 07:54:54 2009 +0000 vlan: support "loose binding" to the underlying network device Currently the UP/DOWN state of VLANs is synchronized to the state of the underlying device, meaning all VLANs are set down once the underlying device is set down. This causes all routes to the VLAN devices to vanish. Add a flag to specify a "loose binding" mode, in which only the operstate is transfered, but the VLAN device state is independant. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cc83f6d6922018a1b762f67af539867a6b05398e Author: Ben Hutchings Date: Wed Nov 25 16:12:31 2009 +0000 sfc: Do not set net_device::trans_start in self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f30eb23ea50a6be7ea282a2dc3909119892ebc79 Author: Ben Hutchings Date: Wed Nov 25 16:12:24 2009 +0000 sfc: Move inline comment into kernel-doc Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8be4f3e6f7b670529bd67aa1f0319bec1e29ebcf Author: Ben Hutchings Date: Wed Nov 25 16:12:16 2009 +0000 sfc: Change MAC promiscuity and multicast hash at the same time From: Steve Hodgson Currently we can set multicast hash immediately (in atomic context) but must delay setting MAC promiscuity. There is not that much point in deferring one but not the other, and setting the multicast hash on Siena will involve a firmware request. So process them both in efx_mac_work(). Also, set the broadcast bit in the multicast hash in efx_set_multicast_list(), since this is required for both Falcon and Siena. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9007b9fa368b172e6b9a985899080fbebb7d3204 Author: Ben Hutchings Date: Wed Nov 25 16:12:01 2009 +0000 sfc: Simplify XMAC link polling From: Steve Hodgson Only the XMAC on Falcon needs help from the driver to poll and reset the MAC-PHY link (XAUI); GMII is a simple parallel bus and on later NICs firmware takes care of the XAUI link. Also, an XMAC interrupt currently schedules a work item which simply clears a flag (efx_nic::mac_up) to be checked by the regular monitor (or the next link reconfiguration, if that is sooner). Rename the flag to xmac_poll_required, changing its sense. Remove the needless indirection and just set the flag immediately. Call falcon_xmac_poll() directly where required. Add a new generic operation mac_op::check_fault to check the link outside of regular monitoring, as required during self-tests. (Note that this leaves us with an unused work item, but we will immediately have another use for it.) Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fe75820b99ff2de713de23252432f0f9d0ca1d35 Author: Ben Hutchings Date: Wed Nov 25 16:11:45 2009 +0000 sfc: Move Falcon board/PHY/MAC monitoring code to falcon.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 55edc6e6ff728681ebc10d418222740705376664 Author: Ben Hutchings Date: Wed Nov 25 16:11:35 2009 +0000 sfc: Split MAC stats DMA initiation and completion From: Steve Hodgson Currently we initiate MAC stats DMA and busy-wait for completion when stats are requested. We can improve on this with a periodic timer to initiate and poll for stats, and opportunistically poll when stats are requested. Since efx_nic::stats_disable_count and efx_stats_{disable,enable}() are Falcon-specific, rename them and move them accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1dfc5ceacd00365a9089e98643f4b26253d5a6aa Author: Ben Hutchings Date: Wed Nov 25 16:11:19 2009 +0000 sfc: Hold MAC lock for longer in efx_init_port() Although efx_init_port() is only called at probe time and so cannot race with port reconfiguration, most of the functions it calls can expect to be called with the MAC lock held. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 26deba501371c215f95624ede81ab5b611fd7d95 Author: Steve Hodgson Date: Wed Nov 25 16:11:03 2009 +0000 sfc: Only switch Falcon MAC clocks as necessary Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1338344a84f5ea60a6689127d2717845e8564b1a Author: Ben Hutchings Date: Wed Nov 25 16:10:05 2009 +0000 sfc: Remove unused function efx_flush_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 127e6e10ad17585c48cba8e1dcf30d98b90ee583 Author: Ben Hutchings Date: Wed Nov 25 16:09:55 2009 +0000 sfc: Fix bugs in RX queue flushing Avoid overrunning the hardware limit of 4 concurrent RX queue flushes. Expand the queue flush state to support this. Make similar changes to TX flushing to keep the code symmetric. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 44838a447de3b1541cbf845853c4f8999310b0dd Author: Ben Hutchings Date: Wed Nov 25 16:09:41 2009 +0000 sfc: Clean up struct falcon_board and struct falcon_board_data Put all static information in struct falcon_board_type and replace it with a pointer in struct falcon_board. Simplify probing aocordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 734a350a6ccee59647f064fd49cd6cebc5dda48b Author: Ben Hutchings Date: Wed Nov 25 16:09:13 2009 +0000 sfc: Remove unused constant Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8986352a32485f9dd9069e370ffa6d5b0737a854 Author: Ben Hutchings Date: Wed Nov 25 16:09:04 2009 +0000 sfc: Comment corrections Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 332c1ce9e7b0f9285cba0cf3d32bad87a4f8e40a Author: Ben Hutchings Date: Wed Nov 25 16:08:52 2009 +0000 sfc: Strengthen EFX_ASSERT_RESET_SERIALISED Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 80cb9a0f7f381e1c0e9f6dabec6e67db0dd3a0d9 Author: Ben Hutchings Date: Wed Nov 25 16:08:41 2009 +0000 sfc: Treat all MAC registers as 128-bit Although all the defined fields in these registers are within 32 bits, they are architecturally defined as 128-bit like most other Falcon registers. In particular, we must use efx_reado() to ensure proper locking when reading MD_STAT_REG. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 46e1ac0f42c7ff20a7e47c172e4835273b0e6899 Author: Ben Hutchings Date: Wed Nov 25 16:08:30 2009 +0000 sfc: Fix descriptor cache sizes These were accidentally undersized by a factor of 2, which limited performance. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27c0b1a850cdea6298f573d835782f3337be913c Author: Arnd Bergmann Date: Thu Nov 26 06:07:11 2009 +0000 macvlan: export macvlan mode through netlink In order to support all three modes of macvlan at runtime, extend the existing netlink protocol to allow choosing the mode per macvlan slave interface. This depends on a matching patch to iproute2 in order to become accessible in user land. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 618e1b7482f7a8a4c6c6e8ccbe140e4c331df4e9 Author: Arnd Bergmann Date: Thu Nov 26 06:07:10 2009 +0000 macvlan: implement bridge, VEPA and private mode This allows each macvlan slave device to be in one of three modes, depending on the use case: MACVLAN_PRIVATE: The device never communicates with any other device on the same upper_dev. This even includes frames coming back from a reflective relay, where supported by the adjacent bridge. MACVLAN_VEPA: The new Virtual Ethernet Port Aggregator (VEPA) mode, we assume that the adjacent bridge returns all frames where both source and destination are local to the macvlan port, i.e. the bridge is set up as a reflective relay. Broadcast frames coming in from the upper_dev get flooded to all macvlan interfaces in VEPA mode. We never deliver any frames locally. MACVLAN_BRIDGE: We provide the behavior of a simple bridge between different macvlan interfaces on the same port. Frames from one interface to another one get delivered directly and are not sent out externally. Broadcast frames get flooded to all other bridge ports and to the external interface, but when they come back from a reflective relay, we don't deliver them again. Since we know all the MAC addresses, the macvlan bridge mode does not require learning or STP like the bridge module does. Based on an earlier patch "macvlan: Reflect macvlan packets meant for other macvlan devices" by Eric Biederman. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Cc: Eric Biederman Signed-off-by: David S. Miller commit a1e514c5d0397b5581721aad9b303f7df83b103d Author: Arnd Bergmann Date: Thu Nov 26 06:07:09 2009 +0000 macvlan: cleanup rx statistics We have very similar code for rx statistics in two places in the macvlan driver, with a third one being added in the next patch. Consolidate them into one function to improve overall readability of the driver. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 445409602c09219767c06497c0dc2285eac244ed Author: Arnd Bergmann Date: Thu Nov 26 06:07:08 2009 +0000 veth: move loopback logic to common location The veth driver contains code to forward an skb from the start_xmit function of one network device into the receive path of another device. Moving that code into a common location lets us reuse the code for direct forwarding of data between macvlan ports, and possibly in other drivers. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 1bda8aa86b89d4c9b668000127ff87172f2daa10 Author: Simon Kagstrom Date: Wed Nov 25 22:10:59 2009 +0000 via-velocity: Bump version Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit b06f78f4d06988aca2353fba6376c25726d7e236 Author: Simon Kagstrom Date: Wed Nov 25 22:10:52 2009 +0000 via-velocity: Set tx checksum from ethtool instead of module parameter Defaults to on (as before). Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit c79992fddee28bbd31b35ac297e1068d32930179 Author: Simon Kagstrom Date: Wed Nov 25 22:10:43 2009 +0000 via-velocity: Re-enable transmit scatter-gather support The velocity hardware can handle up to 7 memory segments. This can be turned on and off via ethtool. The support was removed in commit 83c98a8cd04dd0f848574370594886ba3bf56750 but is re-enabled and cleaned up here. It's off by default. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 2a5774f7d8b79243542d932a3a476f496d03f0ba Author: Simon Kagstrom Date: Wed Nov 25 22:10:34 2009 +0000 via-velocity: Change DMA_LENGTH_DEF (from the VIA driver) The VIA driver has changed the default for the DMA_LENGTH_DEF parameter. Together with adaptive interrupt supression and NAPI support, this improves performance quite a bit Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit dfff7144b14bab3d8baaeba8926fab371fa4a01e Author: Simon Kagstrom Date: Wed Nov 25 22:10:26 2009 +0000 via-velocity: Implement NAPI support This patch adds NAPI support for VIA velocity. The new velocity_poll function also pairs tx/rx handling twice which improves perforamance on some workloads (e.g., netperf UDP_STREAM) significantly (that part is from the VIA driver). Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 6dfc4b95b29d89dbdb45de04b1b1ff493ec8016d Author: Simon Kagstrom Date: Wed Nov 25 22:10:12 2009 +0000 via-velocity: Add ethtool interrupt coalescing support (Partially from the upstream VIA driver). Tweaking the number of frames-per-interrupt and timer-until-interrupt can reduce the amount of CPU work quite a lot. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit da95b2d422b6eb2b76789bbdbfafb7e07c493e7a Author: Simon Kagstrom Date: Wed Nov 25 22:09:53 2009 +0000 via-velocity: Correct 64-byte alignment for rx buffers (From the VIA driver). The current code does not guarantee 64-byte alignment since it simply does int add = skb->data & 63; skb->data += add; (via skb_reserve). So for example, if the skb->data address would be 0x10, this would result in 32-byte alignment (0x10 + 0x10). Correct by adding 64 - (skb->data & 63) instead. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 55f532ec3e84410a9393d1a21b1f58518a0958bc Author: David S. Miller Date: Thu Nov 26 15:28:13 2009 -0800 Revert "sparc: Make atomic locks raw" This reverts commit 4df286e52917c95c415400367cfd523dfbb0f93a. Breaks the build as reported by Stephen Rothwell. Signed-off-by: David S. Miller commit b2e74a265ded1a185f762ebaab967e9e0d008dd8 Author: Stephane Eranian Date: Thu Nov 26 09:24:30 2009 -0800 perf_events: Fix read() bogus counts when in error state When a pinned group cannot be scheduled it goes into error state. Normally a group cannot go out of error state without being explicitly re-enabled or disabled. There was a bug in per-thread mode, whereby upon termination of the thread, the group would transition from error to off leading to bogus counts and timing information returned by read(). Fix it by clearing the error state. Signed-off-by: Stephane Eranian Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: perfmon2-devel@lists.sourceforge.net LKML-Reference: <4b0eb9ce.0508d00a.573b.ffffeab6@mx.google.com> Signed-off-by: Ingo Molnar commit 74ea23aa6c9a8bece71b35ddeeb7ad6ae6782cd9 Author: Peter Ujfalusi Date: Thu Nov 26 13:55:11 2009 +0200 ASoC: tlv320dac33: Change RT wq to singlethread wq RT workqueue is going away in the near future, replace it with singlethread wq for now, which is still supported. Signed-off-by: Peter Ujfalusi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9eb4a06788a598573c751af1a7e46639afc89513 Author: Takashi Iwai Date: Thu Nov 26 12:43:39 2009 +0100 ALSA: pcm - define snd_pcm_default_page_ops() Add a helper (inline) function as the default page ops. Any hacks wrt the page address conversion will be applied in this function. Signed-off-by: Takashi Iwai commit 657b1989dacf58e83e7a76bca6d4a91a9f294cf6 Author: Takashi Iwai Date: Thu Nov 26 12:40:21 2009 +0100 ALSA: pcm - Use dma_mmap_coherent() if available Use dma_mmap_coherent() for mmapping the buffers allocated via dma_alloc_coherent() if available. Currently, only ARM has this function, so we do temporarily have an ifdef pcm_native.c. This should be handled better globally in future. Signed-off-by: Takashi Iwai commit dd4377b02d9f028006beed1b7b1695ee5d1498b6 Author: Xiaotian Feng Date: Thu Nov 26 19:53:48 2009 +0800 x86/pat: Trivial: don't create debugfs for memtype if pat is disabled If pat is disabled (boot with nopat), there's no need to create debugfs for it, it's empty all the time. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi Cc: H. Peter Anvin LKML-Reference: <1259236428-16329-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 4d795fb17a02a87e35782773b88b7a63acfbeaae Author: Ingo Molnar Date: Thu Nov 26 13:11:46 2009 +0100 tracing: Fix kmem event exports Commit 53d0422 ("tracing: Convert some kmem events to DEFINE_EVENT") moved the kmem tracepoint creation from util.c to page_alloc.c, but forgot to move the exports. Move them back. Cc: Li Zefan Cc: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mel Gorman LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b7b20df91d43d5e59578b8fc16e895c0c8cbd9b5 Author: Hidetoshi Seto Date: Thu Nov 26 14:49:27 2009 +0900 sched, time: Define nsecs_to_jiffies() Use of msecs_to_jiffies() for nsecs_to_cputime() have some problems: - The type of msecs_to_jiffies()'s argument is unsigned int, so it cannot convert msecs greater than UINT_MAX = about 49.7 days. - msecs_to_jiffies() returns MAX_JIFFY_OFFSET if MSB of argument is set, assuming that input was negative value. So it cannot convert msecs greater than INT_MAX = about 24.8 days too. This patch defines a new function nsecs_to_jiffies() that can deal greater values, and that can deal all incoming values as unsigned. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Amrico Wang Cc: Thomas Gleixner Cc: John Stultz LKML-Reference: <4B0E16E7.5070307@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d5b7c78e975302a1bab28263266c39ecb71acad4 Author: Hidetoshi Seto Date: Thu Nov 26 14:49:05 2009 +0900 sched: Remove task_{u,s,g}time() Now all task_{u,s}time() pairs are replaced by task_times(). And task_gtime() is too simple to be an inline function. Cleanup them all. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Americo Wang LKML-Reference: <4B0E16D1.70902@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d180c5bccec02612256fd8076ff3c1fac3429553 Author: Hidetoshi Seto Date: Thu Nov 26 14:48:30 2009 +0900 sched: Introduce task_times() to replace task_{u,s}time() pair Functions task_{u,s}time() are called in pair in almost all cases. However task_stime() is implemented to call task_utime() from its inside, so such paired calls run task_utime() twice. It means we do heavy divisions (div_u64 + do_div) twice to get utime and stime which can be obtained at same time by one set of divisions. This patch introduces a function task_times(*tsk, *utime, *stime) to retrieve utime and stime at once in better, optimized way. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Americo Wang LKML-Reference: <4B0E16AE.906@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit fb3704663058ebb8ec05236f9c984b702550bac5 Author: Uwe Kleine-König Date: Thu Nov 26 11:55:19 2009 +0000 ARM: fix "offest" -> "offset" typo Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina Signed-off-by: Russell King commit ba005e1f417295d28cd1563ab82bc33af07fb16a Author: Masami Hiramatsu Date: Tue Nov 24 16:56:58 2009 -0500 tracepoint: Add signal loss events Add signal_overflow_fail and signal_lose_info tracepoints for signal-lost events. Changes in v3: - Add docbook style comments Changes in v2: - Use siginfo string macro Suggested-by: Roland McGrath Reviewed-by: Jason Baron Signed-off-by: Masami Hiramatsu Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215658.30449.9934.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f9d4257e01d266e67420cc99d456b6d4c8464f54 Author: Masami Hiramatsu Date: Tue Nov 24 16:56:51 2009 -0500 tracepoint: Add signal deliver event Add a tracepoint where a process gets a signal. This tracepoint shows signal-number, sa-handler and sa-flag. Changes in v3: - Add docbook style comments Changes in v2: - Add siginfo argument - Fix comment Signed-off-by: Masami Hiramatsu Reviewed-by: Jason Baron Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215651.30449.20926.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d1eb650ff4130972fa21462fa49cd35a2865403b Author: Masami Hiramatsu Date: Tue Nov 24 16:56:45 2009 -0500 tracepoint: Move signal sending tracepoint to events/signal.h Move signal sending event to events/signal.h. This patch also renames sched_signal_send event to signal_generate. Changes in v4: - Fix a typo of task_struct pointer. Changes in v3: - Add docbook style comments Changes in v2: - Add siginfo argument - Add siginfo storing macro Signed-off-by: Masami Hiramatsu Reviewed-by: Jason Baron Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215645.30449.60208.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 918bc960dc630b1a79c0d2991a81985812ff69f5 Author: Jack Steiner Date: Wed Nov 25 10:20:19 2009 -0600 x86: SGI UV: Map low MMR ranges Explicitly mmap the UV chipset MMR address ranges used to access blade-local registers. Although these same MMRs are also mmaped at higher addresses, the low range is more convenient when accessing blade-local registers. The low range addresses always alias to the local blade regardless of the blade id. Signed-off-by: Jack Steiner LKML-Reference: <20091125162018.GA25445@sgi.com> Signed-off-by: Ingo Molnar commit 16bc67edeb49b531940b2ba6c183780a1b5c472d Merge: f663011 047106a Author: Ingo Molnar Date: Thu Nov 26 10:50:39 2009 +0100 Merge branch 'sched/urgent' into sched/core Merge reason: Pick up fixes that did not make it into .32.0 Signed-off-by: Ingo Molnar commit 8ec6993d9f7d961014af970ded57542961fe9ad9 Author: Brian Gerst Date: Wed Nov 25 11:17:36 2009 -0500 x86, 64-bit: Set data segments to null after switching to 64-bit mode This prevents kernel threads from inheriting non-null segment selectors, and causing optimizations in __switch_to() to be ineffective. Signed-off-by: Brian Gerst Cc: Tim Blechmann Cc: Linus Torvalds Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Jan Beulich LKML-Reference: <1259165856-3512-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 80bbf6b641c8843b9d751a1f299aa7ee073ab9d4 Author: Frederic Weisbecker Date: Wed Nov 25 21:20:53 2009 +0100 hw-breakpoints: Fix unused function in off-case bp_perf_event_destroy() is unused in its off-case version, let's remove it to fix the following warning reported by Stephen Rothwell in linux-next: kernel/perf_event.c:4306: warning: 'bp_perf_event_destroy' defined but not used Reported-by: Stephen Rothwell Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <1259180453-5813-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8e550632cccae34e265cb066691945515eaa7fb5 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: fix corner cases in idling logic Idling logic was disabled in some corner cases, leading to unfair share for noidle queues. * the idle timer was not armed if there were other requests in the driver. unfortunately, those requests could come from other workloads, or queues for which we don't enable idling. So we will check only pending requests from the active queue * rq_noidle check on no-idle queue could disable the end of tree idle if the last completed request was rq_noidle. Now, we will disable that idle only if all the queues served in the no-idle tree had rq_noidle requests. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 76280aff1c7e9ae761cac4b48591c43cd7d69159 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: idling on deep seeky sync queues Seeky sync queues with large depth can gain unfairly big share of disk time, at the expense of other seeky queues. This patch ensures that idling will be enabled for queues with I/O depth at least 4, and small think time. The decision to enable idling is sticky, until an idle window times out without seeing a new request. The reasoning behind the decision is that, if an application is using large I/O depth, it is already optimized to make full utilization of the hardware, and therefore we reserve a slice of exclusive use for it. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit e4a229196a7c676514c78f6783f8994f64bf681c Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: fix no-idle preemption logic An incoming no-idle queue should preempt the active no-idle queue only if the active queue is idling due to service tree empty. Previous code was buggy in two ways: * it relied on service_tree field to be set on the active queue, while it is not set when the code is idling for a new request * it didn't check for the service tree empty condition, so could lead to LIFO behaviour if multiple queues with depth > 1 were preempting each other on an non-NCQ device. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 64b028b22616946a05bf9580f7f7f7ee2ac070b4 Author: Ingo Molnar Date: Thu Nov 26 10:37:55 2009 +0100 x86: Clean up the loadsegment() macro Make it readable in the source too, not just in the assembly output. No change in functionality. Cc: Brian Gerst LKML-Reference: <1259176706-5908-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 79b0379cee09b00ef309384aff652e328e438c79 Author: Brian Gerst Date: Wed Nov 25 14:18:26 2009 -0500 x86: Optimize loadsegment() Zero the input register in the exception handler instead of using an extra register to pass in a zero value. Signed-off-by: Brian Gerst LKML-Reference: <1259176706-5908-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 767df1bdd8cbff2c8c40c9ac8295bbdaa5fb24c4 Author: Hidetoshi Seto Date: Thu Nov 26 17:29:02 2009 +0900 x86, mce: Add __cpuinit to hotplug callback functions The mce_disable_cpu() and mce_reenable_cpu() are called only from mce_cpu_callback() which is marked as __cpuinit. So these functions can be __cpuinit too. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen LKML-Reference: <4B0E3C4E.4090809@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit feae3203d711db0a9965300ee6d592257fdaae4f Author: Mike Travis Date: Tue Nov 17 18:22:13 2009 -0600 timers, init: Limit the number of per cpu calibration bootup messages Limit the number of per cpu calibration messages by only printing out results for the first cpu to boot. Also, don't print "CPUx is down" as this is expected, and we don't need 4096 reminders... ;-) Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002219.889552000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit 9b3660a55a9052518c91cc7c62d89e22f3f6f490 Author: Mike Travis Date: Tue Nov 17 18:22:16 2009 -0600 x86: Limit number of per cpu TSC sync messages Limit the number of per cpu TSC sync messages by only printing to the console if an error occurs, otherwise print as a DEBUG message. The info message "Skipping synchronization ..." is only printed after the last cpu has booted. Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002222.181053000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit f6630114d9198aa959ac95c131334c020038f253 Author: Mike Travis Date: Tue Nov 17 18:22:15 2009 -0600 sched: Limit the number of scheduler debug messages Remove the verbose scheduler debug messages unless kernel parameter "sched_debug" set. /proc/sched_debug unchanged. Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002221.489305000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit 0b587fc4d35afb1bc0fc3d890084bb14c78372dc Author: Daniel T Chen Date: Wed Nov 25 18:27:20 2009 -0500 ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using CX20549 (Venice) BugLink: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4792 Cristian reported that these models have really bad sound above 6 dB and proposed the original patch. I've updated the comment to reflect this change. Signed-off-by: Daniel T Chen Reported-by: Cristian Klein Signed-off-by: Takashi Iwai commit e459dd08f45d2aa68abb0c02f8ab045cf8a598b8 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:57 2009 +0100 cfq-iosched: fix ncq detection code CFQ's detection of queueing devices initially assumes a queuing device and detects if the queue depth reaches a certain threshold. However, it will reconsider this choice periodically. Unfortunately, if device is considered not queuing, CFQ will force a unit queue depth for some workloads, thus defeating the detection logic. This leads to poor performance on queuing hardware, since the idle window remains enabled. Given this premise, switching to hw_tag = 0 after we have proved at least once that the device is NCQ capable is not a good choice. The new detection code starts in an indeterminate state, in which CFQ behaves as if hw_tag = 1, and then, if for a long observation period we never saw large depth, we switch to hw_tag = 0, otherwise we stick to hw_tag = 1, without reconsidering it again. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 75e7b634309ef4eabf8a93d36e58863f727fa209 Merge: d9449ce 35a8a3f Author: Jens Axboe Date: Thu Nov 26 09:46:51 2009 +0100 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-2.6.33 commit d9449ce35a1e8fb58dd2d419f9215562a14ecca0 Author: Vivek Goyal Date: Thu Nov 26 09:45:40 2009 +0100 Fix regression in direct writes performance due to WRITE_ODIRECT flag removal There seems to be a regression in direct write path due to following commit in for-2.6.33 branch of block tree. commit 1af60fbd759d31f565552fea315c2033947cfbe6 Author: Jeff Moyer Date: Fri Oct 2 18:56:53 2009 -0400 block: get rid of the WRITE_ODIRECT flag Marking direct writes as WRITE_SYNC_PLUG instead of WRITE_ODIRECT, sets the NOIDLE flag in bio and hence in request. This tells CFQ to not expect more request from the queue and not idle on it (despite the fact that queue's think time is less and it is not seeky). So direct writers lose big time when competing with sequential readers. Using fio, I have run one direct writer and two sequential readers and following are the results with 2.6.32-rc7 kernel and with for-2.6.33 branch. Test ==== 1 direct writer and 2 sequential reader running simultaneously. [global] directory=/mnt/sdc/fio/ runtime=10 [seqwrite] rw=write size=4G direct=1 [seqread] rw=read size=2G numjobs=2 2.6.32-rc7 ========== direct writes: aggrb=2,968KB/s readers : aggrb=101MB/s for-2.6.33 branch ================= direct write: aggrb=19KB/s readers aggrb=137MB/s This patch brings back the WRITE_ODIRECT flag, with the difference that we don't set the BIO_RW_UNPLUG flag so that device is not unplugged after submission of request and an explicit unplug from submitter is required. That way we fix the jeff's issue of not enough merging taking place in aio path as well as make sure direct writes get their fair share. After the fix ============= for-2.6.33 + fix ---------------- direct writes: aggrb=2,728KB/s reads: aggrb=103MB/s Thanks Vivek Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit c16632bab1a17e357cec66920ceb3f0630009360 Author: Corrado Zoccolo Date: Thu Nov 26 09:41:21 2009 +0100 cfq-iosched: cleanup unreachable code cfq_should_idle returns false for no-idle queues that are not the last, so the control flow will never reach the removed code in a state that satisfies the if condition. The unreachable code was added to emulate previous cfq behaviour for non-NCQ rotational devices. My tests show that even without it, the performances and fairness are comparable with previous cfq, thanks to the fact that all seeky queues are grouped together, and that we idle at the end of the tree. Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 11e6635763bdc0e24b39a38876574660755acffc Author: Andrew Morton Date: Wed Nov 25 23:01:50 2009 -0800 kernel/hw_breakpoint.c: Fix local/global shadowing If the new percpu tree is combined with the perf events tree the following new warning triggers: kernel/hw_breakpoint.c: In function 'toggle_bp_task_slot': kernel/hw_breakpoint.c:151: warning: 'task_bp_pinned' is used uninitialized in this function Because it's not valid anymore to define a local variable and a percpu variable (even if it's file scope local) with the same name. Rename the local variable to resolve this. Signed-off-by: Andrew Morton Cc: Frederic Weisbecker Cc: K.Prasad Cc: Tejun Heo Cc: Linus Torvalds LKML-Reference: <200911260701.nAQ71owx016356@imap1.linux-foundation.org> [ v2: added changelog ] Signed-off-by: Ingo Molnar commit 2c31b7958fd21df9fa04e5c36cda0f063ac70b27 Author: Frederic Weisbecker Date: Thu Nov 26 06:04:38 2009 +0100 x86/hw-breakpoints: Don't lose GE flag while disabling a breakpoint When we schedule out a breakpoint from the cpu, we also incidentally remove the "Global exact breakpoint" flag from the breakpoint control register. It makes us losing the fine grained precision about the origin of the instructions that may trigger breakpoint exceptions for the other breakpoints running in this cpu. Reported-by: Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259211878-6013-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 605bfaee9078cd0b01d83402315389839ee4bb5c Author: Frederic Weisbecker Date: Thu Nov 26 05:35:42 2009 +0100 hw-breakpoints: Simplify error handling in breakpoint creation requests This simplifies the error handling when we create a breakpoint. We don't need to check the NULL return value corner case anymore since we have improved perf_event_create_kernel_counter() to always return an error code in the failure case. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Prasad LKML-Reference: <1259210142-5714-3-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c6567f642e20bcc79abed030f44be5b0d6da2ded Author: Frederic Weisbecker Date: Thu Nov 26 05:35:41 2009 +0100 hw-breakpoints: Improve in-kernel event creation error granularity In fail case, perf_event_create_kernel_counter() returns NULL instead of an error, which doesn't help us to inform the user about the origin of the problem from the outer most callers. Often we can just return -EINVAL, which doesn't help anyone when it's eventually about a memory allocation failure. Then, this patch makes perf_event_create_kernel_counter() always return a detailed error code. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1259210142-5714-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit d99be40aff88722ab03ee295e4f6c13a4cca9a3d Author: Frederic Weisbecker Date: Thu Nov 26 05:35:40 2009 +0100 ksym_tracer: Fix breakpoint removal after modification The error path of a breakpoint modification is broken in the ksym tracer. A modified breakpoint hlist node is immediately released after its removal. Also we leak a breakpoint in this case. Fix the path. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Prasad LKML-Reference: <1259210142-5714-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2d4dc890b5c8fabd818a8586607e6843c4375e62 Author: Ilya Loginov Date: Thu Nov 26 09:16:19 2009 +0100 block: add helpers to run flush_dcache_page() against a bio and a request's pages Mtdblock driver doesn't call flush_dcache_page for pages in request. So, this causes problems on architectures where the icache doesn't fill from the dcache or with dcache aliases. The patch fixes this. The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid pointless empty cache-thrashing loops on architectures for which flush_dcache_page() is a no-op. Every architecture was provided with this flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is equal 1 or do nothing otherwise. See "fix mtd_blkdevs problem with caches on some architectures" discussion on LKML for more information. Signed-off-by: Ilya Loginov Cc: Ingo Molnar Cc: David Woodhouse Cc: Peter Horton Cc: "Ed L. Cashin" Signed-off-by: Jens Axboe commit 3586e917f2c7df769d173c4ec99554cb40a911e5 Author: Gui Jianfeng Date: Thu Nov 26 09:14:11 2009 +0100 cfq: Make use of service count to estimate the rb_key offset For the moment, different workload cfq queues are put into different service trees. But CFQ still uses "busy_queues" to estimate rb_key offset when inserting a cfq queue into a service tree. I think this isn't appropriate, and it should make use of service tree count to do this estimation. This patch is for for-2.6.33 branch. Signed-off-by: Gui Jianfeng Signed-off-by: Jens Axboe commit 470dda7417f284b9cfc96560b2acd98df63798a2 Author: Li Zefan Date: Thu Nov 26 15:08:01 2009 +0800 tracing: Restore original format of sched events The original format for sched_stat_iowait and sched_stat_sleep: $ cat events/sched/sched_stat_iowait/format ... print fmt: "comm=%s pid=%d delay=%Lu [ns]", ... $ cat events/sched/sched_stat_sleep/format ... print fmt: "comm=%s pid=%d delay=%Lu [ns]", ... But commit commit 75ec29ab848a7e92a41aaafaeb33d1afbc839be4 ("tracing: Convert some sched trace events to DEFINE_EVENT and _PRINT") broke the format: $ cat events/sched/sched_stat_iowait/format print fmt: "task: %s:%d iowait: %Lu [ns]", ... $ cat events/sched/sched_stat_sleep/format print fmt: "task: %s:%d sleep: %Lu [ns]", ... No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E2951.9050800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b5eb34c3592545c756e50d882c08417eb60740a7 Author: Li Zefan Date: Thu Nov 26 15:07:36 2009 +0800 tracing: Convert some ext4 events to DEFINE_TRACE Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 294695 6104 340 301139 49853 fs/ext4/ext4.o.old 289983 6104 324 296411 485db fs/ext4/ext4.o 5 events are convertd: ext4__write_begin: ext4_write_begin, ext4_da_write_begin ext4__write_end: ext4_{ordered, writeback, journalled}_write_end No change in functionality. Signed-off-by: Li Zefan Cc: Theodore Ts'o Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E2938.2040708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 071688f36e7eba3e37b2fc48e35bfdab99b80b4d Author: Li Zefan Date: Thu Nov 26 15:06:55 2009 +0800 tracing: Convert some jbd2 events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 34903 1693 448 37044 90b4 fs/jbd2/journal.o.old 31931 1693 416 34040 84f8 fs/jbd2/journal.o Four events are converted: jbd2_commit: jbd2_start_commit, jbd2_commit_{locking, flushing, logging} No change in functionality. Signed-off-by: Li Zefan Cc: Theodore Ts'o Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E290F.7030909@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 77ca1e0294f25fc26053ba14353e703158acef26 Author: Li Zefan Date: Thu Nov 26 15:06:14 2009 +0800 tracing: Convert some block events to DEFINE_EVENT use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 53570 3284 184 57038 dece block/blk-core.o.old 43702 3284 144 47130 b81a block/blk-core.o 12 events are converted: block_rq: block_rq_insert, block_rq_issue block_rq_with_error: block_rq_{abort, requeue, complete} block_bio: block_bio_{backmerge, frontmerge, queue} block_get_rq: block_getrq, block_sleeprq block_unplug: block_unplug_timer, block_unplug_io No change in functionality. Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E28E6.7060609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7703466b4c0a21b88d701882bef0d45bcb0a0281 Author: Li Zefan Date: Thu Nov 26 15:05:38 2009 +0800 tracing: Convert some power events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 4312 524 12 4848 12f0 kernel/trace/power-traces.o.old 3455 524 8 3987 f93 kernel/trace/power-traces.o Two events are converted: power: power_start, power_frequency No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: <4B0E28C2.1090906@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 382ece710bf88b08440b598731361e5a47582b62 Author: Li Zefan Date: Thu Nov 26 15:05:03 2009 +0800 tracing: Convert some workqueue events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 13171 800 72 14043 36db kernel/workqueue.o.old 12243 800 68 13111 3337 kernel/workqueue.o Two events are converted: workqueue: workqueue_insertion, workqueue_execution No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E289F.5010104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c467307c1a812c3150b27a68c2b2d3397bb40a4f Author: Li Zefan Date: Thu Nov 26 15:04:31 2009 +0800 tracing: Convert softirq events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 12781 952 36 13769 35c9 kernel/softirq.o.old 11981 952 32 12965 32a5 kernel/softirq.o Two events are converted: softirq: softirq_entry, softirq_exit No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E287F.4030708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 53d0422c2d10808fddb2c30859193bfea164c7e3 Author: Li Zefan Date: Thu Nov 26 15:04:10 2009 +0800 tracing: Convert some kmem events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 333987 69800 27228 431015 693a7 mm/built-in.o.old 330030 69800 27228 427058 68432 mm/built-in.o 8 events are converted: kmem_alloc: kmalloc, kmem_cache_alloc kmem_alloc_node: kmalloc_node, kmem_cache_alloc_node kmem_free: kfree, kmem_cache_free mm_page: mm_page_alloc_zone_locked, mm_page_pcpu_drain No change in functionality. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mel Gorman LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 925684d6d589e40e41007edf47c69e729d911263 Author: Li Zefan Date: Thu Nov 26 15:03:23 2009 +0800 tracing: Convert module refcnt events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 29854 1980 128 31962 7cda kernel/module.o.old 28750 1980 128 30858 788a kernel/module.o Two events are converted: module_refcnt: module_get, module_put No change in functionality. Signed-off-by: Li Zefan Cc: Rusty Russell Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E283B.3010508@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 091ad3658e3c76c5fb05f65bfb64a0246f8f31b5 Author: Ingo Molnar Date: Thu Nov 26 09:04:55 2009 +0100 events: Rename TRACE_EVENT_TEMPLATE() to DECLARE_EVENT_CLASS() It is not quite obvious at first sight what TRACE_EVENT_TEMPLATE does: does it define an event as well beyond defining a template? To clarify this, rename it to DECLARE_EVENT_CLASS, which follows the various 'DECLARE_*()' idioms we already have in the kernel: DECLARE_EVENT_CLASS(class) DEFINE_EVENT(class, event1) DEFINE_EVENT(class, event2) DEFINE_EVENT(class, event3) To complete this logic we should also rename TRACE_EVENT() to: DEFINE_SINGLE_EVENT(single_event) ... but in a more quiet moment of the kernel cycle. Cc: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 67f2de0bf9141dd9fe9189d0caaa28d7ad21a523 Author: Ingo Molnar Date: Thu Nov 26 08:29:10 2009 +0100 x86: dumpstack, 64-bit: Disable preemption when walking the IRQ/exception stacks This warning: [ 847.140022] rb_producer D 0000000000000000 5928 519 2 0x00000000 [ 847.203627] BUG: using smp_processor_id() in preemptible [00000000] code: khungtaskd/517 [ 847.207360] caller is show_stack_log_lvl+0x2e/0x241 [ 847.210364] Pid: 517, comm: khungtaskd Not tainted 2.6.32-rc8-tip+ #13761 [ 847.213395] Call Trace: [ 847.215847] [] debug_smp_processor_id+0x1f0/0x20a [ 847.216809] [] show_stack_log_lvl+0x2e/0x241 [ 847.220027] [] show_stack+0x1c/0x1e [ 847.223365] [] sched_show_task+0xe4/0xe9 [ 847.226694] [] check_hung_task+0x140/0x199 [ 847.230261] [] check_hung_uninterruptible_tasks+0x1b7/0x20f [ 847.233371] [] ? watchdog+0x0/0x50 [ 847.236683] [] watchdog+0x4e/0x50 [ 847.240034] [] kthread+0x97/0x9f [ 847.243372] [] child_rip+0xa/0x20 [ 847.246690] [] ? restore_args+0x0/0x30 [ 847.250019] [] ? _spin_lock+0xe/0x10 [ 847.253351] [] ? kthread+0x0/0x9f [ 847.256833] [] ? child_rip+0x0/0x20 Happens because on preempt-RCU, khungd calls show_stack() with preemption enabled. Make sure we are not preemptible while walking the IRQ and exception stacks on 64-bit. (32-bit stack dumping is preemption safe.) Signed-off-by: Ingo Molnar commit b803090615ccec669681ff85ce28671e7bfefa3d Author: Ingo Molnar Date: Thu Nov 26 08:17:31 2009 +0100 x86: dumpstack: Clean up the x86_stack_ids[][] initalization and other details Make the initialization more readable, plus tidy up a few small visual details as well. No change in functionality. LKML-Reference: Signed-off-by: Ingo Molnar commit 350f75960c8ba317935b4274c56c16412e085b08 Author: Alexey Dobriyan Date: Wed Nov 25 15:54:21 2009 -0800 r8169: move PHY regs tables to .rodata As side effect, consume less stack. -rtl8169_get_mac_version [vmlinux]: 432 -rtl8169_init_one [vmlinux]: 376 +rtl8169_init_one [vmlinux]: 136 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bc74b0c8af17458ecae77f725e507ab5fd100105 Author: Martin Willi Date: Wed Nov 25 00:58:39 2009 +0000 xfrm: Add SHA384 and SHA512 HMAC authentication algorithms to XFRM These algorithms use a truncation of 192/256 bits, as specified in RFC4868. Signed-off-by: Martin Willi Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 8f8a088c2127c729638da8f2d33860e346c01eda Author: Martin Willi Date: Wed Nov 25 00:29:53 2009 +0000 xfrm: Use the user specified truncation length in ESP and AH Instead of using the hardcoded truncation for authentication algorithms, use the truncation length specified on xfrm_state. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 4447bb33f09444920a8f1d89e1540137429351b6 Author: Martin Willi Date: Wed Nov 25 00:29:52 2009 +0000 xfrm: Store aalg in xfrm_state with a user specified truncation length Adding a xfrm_state requires an authentication algorithm specified either as xfrm_algo or as xfrm_algo_auth with a specific truncation length. For compatibility, both attributes are dumped to userspace, and we also accept both attributes, but prefer the new syntax. If no truncation length is specified, or the authentication algorithm is specified using xfrm_algo, the truncation length from the algorithm description in the kernel is used. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 4e242d1616781f9f1f0b01abf878700b259cd8b5 Author: Martin Willi Date: Wed Nov 25 00:29:51 2009 +0000 xfrm: Define new XFRM netlink auth attribute with specified truncation bits The new XFRMA_ALG_AUTH_TRUNC attribute taking a xfrm_algo_auth as argument allows the installation of authentication algorithms with a truncation length specified in userspace, i.e. SHA256 with 128 bit instead of 96 bit truncation. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit a661c4199b300503dae694efa21f1354f763b97c Author: Alexey Dobriyan Date: Wed Nov 25 15:40:35 2009 -0800 net: convert /proc/net/rt_acct to seq_file Rewrite statistics accumulation to be in terms of structure fields, not raw u32 additions. Keep them in same order, though. This is the last user of create_proc_read_entry() in net/, please NAK all new ones as well as all new ->write_proc, ->read_proc and create_proc_entry() users. Cc me if there are problems. :-) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0448f5e88443667d6a2e809eb470960bdbb07657 Author: Boaz Harrosh Date: Wed Nov 25 15:19:17 2009 -0800 sparc: remove unused nfsd #includes Some unused includes removed. In an effort to cleanup nfsd headers and move private definitions to source directory. Signed-off-by: Boaz Harrosh Signed-off-by: David S. Miller commit 09ad9bc752519cc167d0a573e1acf69b5c707c67 Author: Octavian Purdila Date: Wed Nov 25 15:14:13 2009 -0800 net: use net_eq to compare nets Generated with the following semantic patch @@ struct net *n1; struct net *n2; @@ - n1 == n2 + net_eq(n1, n2) @@ struct net *n1; struct net *n2; @@ - n1 != n2 + !net_eq(n1, n2) applied over {include,net,drivers/net}. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 4421752e331cfb1d942b47ffdb26e451a8da58a0 Author: Ranjith Lohithakshan Date: Wed Nov 18 18:41:09 2009 -0800 AM35xx: Defconfig for AM3517 EVM board This patch adds a minimal defconfig for AM3517 EVM board. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit c625327e2f5a506a89563e14ed837c82fa61548f Author: Ranjith Lohithakshan Date: Wed Nov 18 18:41:09 2009 -0800 AM35xx: Add support for AM3517 EVM board This patch creates a minimal AM3517 EVM board support. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit 62002e8f82c00a4efdbdc69ebfc540fddf28aae0 Author: vikram pandita Date: Wed Nov 18 18:41:08 2009 -0800 omap: 3630sdp: defconfig creation Create 3630sdp defconfig file Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 34c9ac2376fbd04399be92312e4fa1e19a638eaa Author: vikram pandita Date: Wed Nov 18 18:41:08 2009 -0800 omap: 3630sdp: introduce 3630 sdp board support Add 3630SDP board support The board shares the same peripherals as a zoom2 main. So reuse the peripheral file of zoom platform. Peripheral zoom2 zoom3 sdp3630 --------------------------------------- Ethernet smsc smsc smc NOR n/a n/a B Onenand n/a n/a B HDMI A A B (persent on different i2c) NAND A A A (same nand) SDRAM A A A (same sdram) Keypad A A A (same twl) Camera A A A (same sensor can be mounted) LCD Display A A A (same wvga display) OPPs A A A (same chip feature) Audio A A A (same audio via twl5030) OMAP3630 details can be found here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 9d9e5027252f7a610bad928bcba906fbb838e3ba Author: Enric Balletbo i Serra Date: Wed Nov 18 18:41:08 2009 -0800 omap3: Add defconfig for IGEP v2 board Add defconfig for IGEP v2 board Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 58e111621d402d41cb0cabae7c532d6194b7d943 Author: Enric Balletbo i Serra Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add minimal IGEP v2 support The IGEP v2 board is a low-cost, fan-less and industrial temperature range single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines. Its architecture shares much in common with other OMAP3 boards. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 35ca0d1e4292d1bf4a0d50de4c71dbaf73db0a31 Author: Mike Rapoport Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add CompuLab CM-T35 defconfig Add CompuLab CM-T35 defconfig Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit 2886d128d8ff83af88b9cbe6dbf7f0d2bbee8d76 Author: Mike Rapoport Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add CompuLab CM-T35 board support This patch adds basic support for CompuLab CM-T35 module. Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit 1991bdfaf5897b6fbfdc7dce81508f7cbc044768 Author: Shaohua Li Date: Tue Nov 17 17:19:23 2009 +0800 drm/i915: handle failure path correctly for lvds In failure path, make sure encoder is cleaned up, otherwise there is a kernel oops. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit 1b3c7a47f993bf9ab6c4c7cc3bbf5588052b58f4 Author: Zhenyu Wang Date: Wed Nov 25 13:09:38 2009 +0800 drm/i915: Fix LVDS stability issue on Ironlake In disable sequence, all output ports on PCH have to be disabled before PCH transcoder, but LVDS port was left always enabled. This one fixes that by disable LVDS port properly during pipe disable process, and resolved stability issue seen on Ironlake. Also move panel fitting disable time just after pipe disable to align with the spec. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 4215866059b126590aceddfe9f846595b0c1f458 Author: Zhao Yakui Date: Fri Nov 20 11:24:18 2009 +0800 drm/i915: Restore the DPLL calculation logic for 9xx platform The DPLL calculation logic for 9xx platform is changed in: commit 652c393a3368af84359da37c45afc35a91144960 Author: Jesse Barnes Date: Mon Aug 17 13:31:43 2009 -0700 drm/i915: add dynamic clock frequency control Maybe we will get the different M/N/P combination with that by using the previous dpll calculation logic. So restore the DPLL calculation logic for 9xx platform. Signed-off-by: Zhao Yakui Reviewed-by: Jesse Barnes Signed-off-by: Eric Anholt commit d1fcea6a529d22212b324f26cd660c85b289a026 Author: Zhao Yakui Date: Fri Nov 20 11:24:17 2009 +0800 drm/i915: Check whether the LVDS downclock is found in VBT Enumerate the LVDS panel timing info entry list in VBT to check whether the LVDS downclock is found. If found, the downclock is also used to switch dynamically between low and high frequency for LVDS. Signed-off-by: Zhao Yakui Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit 18f9ed12f8c977e25d65a16af8e8d73f72417ba1 Author: Zhao Yakui Date: Fri Nov 20 03:24:16 2009 +0000 drm/i915: Enable LVDS downclock feature through EDID. If more than one mode with the same resolution defined in EDID has different refresh rate, it is thought that the downclock is found for LVDS. We will program the different FPx0/1 register so that we can select dynamically between the low and high frequency. On the g4x platform we will use the CxSR feature to switch the different refresh rate if the LVDS downclock feature is supported. Signed-off-by: Zhao Yakui Reviewed-by: Jesse Barnes Signed-off-by: Eric Anholt commit 04658fba2314d6d70d5fa05c0b5995e6428aacc3 Author: John W. Linville Date: Fri Nov 13 13:12:59 2009 -0500 ath9k: remove warnings related to signed/unsigned type mismatch CC [M] drivers/net/wireless/ath/ath9k/recv.o drivers/net/wireless/ath/ath9k/recv.c: In function `ath_rx_prepare': drivers/net/wireless/ath/ath9k/recv.c:208: warning: comparison is always true due to limited range of data type drivers/net/wireless/ath/ath9k/recv.c:220: warning: comparison is always false due to limited range of data type Signed-off-by: John W. Linville commit c0fa59df7214e546f8a37bc677867ac7b67b5c93 Author: Mark Brown Date: Thu Nov 19 11:36:10 2009 +0000 ASoC: Add BCLK calculation utility for TDM mode too Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b8007ef7422270864eae523cb38d7522a53a94d3 Author: Lai Jiangshan Date: Tue Nov 3 13:45:32 2009 +0800 tracing: Separate raw syscall from syscall tracer The current syscall tracer mixes raw syscalls and real syscalls. echo 1 > events/syscalls/enable And we get these from the output: (XXXX insteads " grep-20914 [001] 588211.446347" .. etc) XXXX: sys_read(fd: 3, buf: 80609a8, count: 7000) XXXX: sys_enter: NR 3 (3, 80609a8, 7000, a, 1000, bfce8ef8) XXXX: sys_read -> 0x138 XXXX: sys_exit: NR 3 = 312 XXXX: sys_read(fd: 3, buf: 8060ae0, count: 7000) XXXX: sys_enter: NR 3 (3, 8060ae0, 7000, a, 1000, bfce8ef8) XXXX: sys_read -> 0x138 XXXX: sys_exit: NR 3 = 312 There are 2 drawbacks here. A) two almost identical records are saved in ringbuffer when a syscall enters or exits. (4 records for every syscall) This wastes precious space in the ring buffer. B) the lines including "sys_enter/sys_exit" produces hardly any useful information for the output (no labels). The user can use this method to prevent these drawbacks: echo 1 > events/syscalls/enable echo 0 > events/syscalls/sys_enter/enable echo 0 > events/syscalls/sys_exit/enable But this is not user friendly. So we separate raw syscall from syscall tracer. After this fix applied: syscall tracer's output (echo 1 > events/syscalls/enable): XXXX: sys_read(fd: 3, buf: bfe87d88, count: 200) XXXX: sys_read -> 0x200 XXXX: sys_fstat64(fd: 3, statbuf: bfe87c98) XXXX: sys_fstat64 -> 0x0 XXXX: sys_close(fd: 3) raw syscall tracer's output (echo 1 > events/raw_syscalls/enable): XXXX: sys_enter: NR 175 (0, bf92bf18, bf92bf98, 8, b748cff4, bf92bef8) XXXX: sys_exit: NR 175 = 0 XXXX: sys_enter: NR 175 (2, bf92bf98, 0, 8, b748cff4, bf92bef8) XXXX: sys_exit: NR 175 = 0 XXXX: sys_enter: NR 3 (9, bf927f9c, 4000, b77e2518, b77dce60, bf92bff8) Signed-off-by: Lai Jiangshan LKML-Reference: <4AEFC37C.5080609@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 7ac074340480018681a0d72b324d4487543bdc0e Author: Steven Rostedt Date: Wed Nov 25 13:22:21 2009 -0500 ring-buffer-benchmark: Add parameters to set produce/consumer priorities Running the ring-buffer-benchmark's threads at the lowest priority may work well for keeping it in the background, but it is not appropriate for the benchmarks. This patch adds 4 parameters to the module: consumer_fifo consumer_nice producer_fifo producer_nice By default the consumer and producer still run at nice +19. If the *_fifo options are set, they will override the *_nice values. modprobe ring_buffer_benchmark consumer_nice=0 producer_fifo=10 The above will set the consumer thread to a nice value of 0, and the producer thread to a RT SCHED_FIFO priority of 10. Note, this patch also fixes a bug where calling set_user_nice on the consumer thread would oops the kernel when the parameter "disable_reader" is set. Signed-off-by: Steven Rostedt commit efe117ab8114f47f317b4803e5bc0104420bcba2 Author: Eric Dumazet Date: Thu Nov 5 11:06:40 2009 +0100 mac80211: Speedup ieee80211_remove_interfaces() Speedup ieee80211_remove_interfaces() by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit c16fe26701013b9f55aa554fc0a13a7320b164ee Author: Andrey Porodko Date: Fri Nov 13 19:16:51 2009 +0500 davinci: Initial support for Neuros OSD2 platform. The Neuros OSD 2.0 is the hardware component of the Neuros Open Internet Television Platform. Hardware is very close to Ti DM644X-EVM board. It has: DM6446M02 module with 256MB NAND, 256MB RAM, TLV320AIC32 AIC, USB, Ethernet, SD/MMC, UART, THS8200, TVP7000 for video. Additionaly realtime clock, IR remote control receiver, IR Blaster based on MSP430 (firmware although is different from used in DM644X-EVM), internal ATA-6 3.5” HDD drive with PATA interface, two muxed red-green leds. For more information please refer to http://wiki.neurostechnology.com/index.php/OSD_2.0_HD Signed-off-by: Andrey Porodko Signed-off-by: Kevin Hilman commit 27a147cd2a9f6fb574d033fd787ce154b29ef7e6 Author: Sekhar Nori Date: Wed Nov 4 17:08:43 2009 +0530 davinci: remove unused variable in arch/arm/mach-davinci/board-sffsdr.c This patch fixes the following warning: arch/arm/mach-davinci/board-sffsdr.c:99: warning: 'sffsdr_emac_pdata' defined but not used Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 445094f994406d0db7026e61b524788fa6d7acda Author: Sekhar Nori Date: Wed Nov 4 17:08:42 2009 +0530 davinci: fix section mismatch warning in arch/arm/mach-davinci/board-dm646x-evm.c A section mismatch is reported for gpio_led_platform_data as it is referenced by a non annotated function (evm_led_setup) This patch fixes the issue by converting the __initconst to const as is the case in arch/arm/mach-davinci/board-dm644x-evm.c file. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 99381b4f114d00ccfe2495aa79755b6094bdd0c9 Author: Miguel Aguilar Date: Thu Nov 5 08:52:05 2009 -0600 DaVinci: DM365: Enable DaVinci RTC support for DM365 EVM The general structures are defined at DM365 SoC file and the specific platform data structure for the EVM is defined at board file. Signed-off-by: Miguel Aguilar Signed-off-by: Kevin Hilman commit 0046d0bf68853a4d8af1fb6a2bf701f31fb1563e Author: Chaithrika U S Date: Tue Nov 3 15:46:14 2009 +0530 DA8xx/OMAP-L1xx: Add high speed SD/MMC capabilities Include high speed capabilities in MMC/SD platform data for DA830/OMAP-L137 and DA850/OMAP-L138 EVMs. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit afc3ea1cea98d4eda6376bfb82f026e8e94da1c2 Author: Sekhar Nori Date: Thu Oct 22 15:12:17 2009 +0530 davinci: DA8XX/OMAP-L1XX: enable cpuidle and regulator in defconfig Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 13d5e27a4482e43bea9073706033c84cd873b5ca Author: Sekhar Nori Date: Thu Oct 22 15:12:16 2009 +0530 davinci: DA850/OMAP-L138: avoid using separate initcall for initializing regulator Using a device_initcall() for initializing the voltage regulator on DA850 is not such a good idea because it gets called for all platforms - even those who do not have a regulator implemented. This leads to a big fat warning message during boot-up when regulator cannot be found. Instead, tie initialization of voltage regulator to cpufreq init. Define a platform specific init call which in case of DA850 gets used for initializing the regulator. On other future platforms it can be used for other purposes. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 5aeb15aafc0c378d4ae2aff7b5d5c686793b8a0e Author: Sekhar Nori Date: Thu Oct 22 15:12:15 2009 +0530 davinci: DA850/OMAP-L138 EVM: register for cpuidle support Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 1960e693ac12ae5fe518309d6a63a44c93fad9e7 Author: Sekhar Nori Date: Thu Oct 22 15:12:14 2009 +0530 davinci: DA8XX/OMAP-L1XX: add support for cpuidle driver register This patch provides a function to help register cpuidle driver on da8xx/omap-l1xx platforms. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit a6c0f6eca1173e9d44f1f0fb9ecc832abd7d77d6 Author: Sekhar Nori Date: Tue Nov 3 15:14:13 2009 +0530 davinci: add CPU idle driver The patch adds support for DaVinci cpu idle driver. Two idle states are defined: 1. Wait for interrupt 2. Wait for interrupt and DDR self-refresh (or power down) Some DaVinci SoCs support putting DDR in self-refresh (eg Dm644x, DM6467) while others support putting DDR in self-refresh and power down (eg DM35x, DA8xx). Putting DDR (or mDDR) in power down saves more power than self-refresh. The patch has been tested on DA850/OMAP-L138 EVM. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 1ef203c3242c17da6559c4be1aa91c689d3efbb0 Author: Sudhakar Rajashekhara Date: Tue Nov 3 11:51:19 2009 +0530 davinci: DA8XX/OMAP-L1XX: fix compiler warning When kernel is built with CONFIG_DEBUG_SECTION_MISMATCH=y option, using da8xx_omapl_defconfig, some warnings are observed: WARNING: vmlinux.o(.text+0xc2a4): Section mismatch in reference from the function da850_evm_setup_nor_nand() to the variable .init.data:da850_nand_pins The function da850_evm_setup_nor_nand() references the variable __initdata da850_nand_pins. This is often because da850_evm_setup_nor_nand lacks a __initdata annotation or the annotation of da850_nand_pins is wrong. This patch fixes such warnings. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 039c5ee3c901aded685fbbfbbea636f2f3ffc0e2 Author: Sudhakar Rajashekhara Date: Tue Nov 3 11:51:09 2009 +0530 davinci: DA850/OMAP-L138: eliminate static function declaration Eliminate the static function declaration by rearranging data in da850/omap-l138 board file. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 17fadd9a5edfeef15ea0e06822a25cc073d9ee02 Author: Sekhar Nori Date: Wed Oct 21 21:18:24 2009 +0530 davinci: DA850/OMAP-L138 EVM: simplify configuration of emac in MII/RMII mode There are multiple steps in configuring the EMAC to MII or RMII mode. Current code implements them using multiple checks. Consolidate the multiple checks into a single if construct. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 797d799ed09bbbfd13f684756bccafbbd44ffcd0 Author: Sekhar Nori Date: Wed Oct 21 21:18:23 2009 +0530 davinci: DA850/OMAP-L138 EVM: get rid of DA850_UI_EXP config option Get rid of DA850_UI_EXP config option since it is not used anywhere else in code. Instead make the UI expander choice menu dependent on the EVM selection itself. Also add help text indicating that UI board is actually detected automatically. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit bae105879f2f2404155da6f50b3636193d228a62 Author: Sekhar Nori Date: Wed Oct 21 21:18:22 2009 +0530 davinci: DA850/OMAP-L138 EVM: implement autodetect of RMII PHY Implement autodetection of RMII PHY by shifting the decision to use the RMII PHY to da850_evm_ui_expander_setup() from da850_evm_init() earlier. Without this patch, selecting RMII PHY in the UI expander menu will make the MII PHY unusable even though UI board is not connected. The actual configuration and registration of the EMAC device is delayed to device_initcall() so it happens after the UI card detection is complete. A side effect of this patch is the removal of a voilation of Documentation/SubmittingPatches section 2.2 in function da850_evm_init() Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit b5ebe4e198e595cad412a9de2d7b253693545d30 Author: Sekhar Nori Date: Wed Oct 21 21:18:21 2009 +0530 davinci: DA830/OMAP-L137 EVM: do not configure NAND on UI card when MMC/SD is selected On the DA830, AEMIF and MMC/SD pins are shared. On the EVM, when the mux_mode signal is low MMC/SD works and when mux_mode signal is high, NAND works. When MMC/SD driver is configured in the kernel, do not let NAND get registered and drive mux_mode high. Instead, print a warning for user to understand why the platform device for NAND did not get registered. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 77316f0575264c56fb0c8f241b946a91e3a00602 Author: Sekhar Nori Date: Wed Oct 21 21:18:20 2009 +0530 davinci: DA830/OMAP-L137 EVM: use runtime detection for UI card This patch supports runtime detection of DA830 UI card and eliminates the need for DA830_UI config option. Successful probe of GPIO expander present on the UI card is used to detect its presence. For this reason, GPIO_PCF857X is auto- selected when DA830 EVM is configured. In case the UI card is absent, the probe fails in reasonable time. As a side effect this patch also gets rid of the voilation of Documentation/SubmittingPatches section 2.2 in function da830_evm_ui_expander_setup() Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit a0433ac30c75e5c989088cc5503653cc7a12998a Author: Sekhar Nori Date: Fri Oct 9 20:55:43 2009 +0530 davinci: DA830/OMAP-L137 EVM: remove ifdefs inside da830_evm_init() Remove ifdefs inside da830_evm_init function since they are discouraged in Documentation/SubmittingPatches section 2.2 Use the method outlined in that document for fixing it. Tested on DA830 EVM. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 5950b55b0498f268d1ffa6adb63f96a1f350c37e Author: Sekhar Nori Date: Fri Oct 9 20:55:42 2009 +0530 davinci: DA830/OMAP-L137 EVM: fix warning with default config This patch fixes the following warning seen when building with default config: arch/arm/mach-davinci/board-da830-evm.c:371: warning: 'da830_evm_devices' defined but not used Tested on DA830 EVM with and without CONFIG_DA830_UI_NAND enabled. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 733975a314e4ddd374676cd300e207dd44eeafd2 Author: David A. Griego Date: Fri Sep 18 14:15:18 2009 -0700 davinci: Add NAND support for DA830/OMAP-L137 EVM platform Add support for NAND flash parts on the DA830/OMAP-L137 EVM User Interface board. This includes overriding the default bad block tables used by the davinci_nand driver. Signed-off-by: David A. Griego Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit ca6a272a4f1c2b81ec062f39cdc02ce7aed26d14 Author: Sergei Shtylyov Date: Fri Oct 30 23:52:04 2009 +0400 DA830 EVM: MUSB platform code Properly set up the OTG mode thru the CFGCHIP2 register, enable the USB0_DRVVBUS pin, and finally register the MUSB platform device. Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit b0ea26e1c8970c1b252a43e6c33555829ba4b0d2 Author: Sergei Shtylyov Date: Fri Oct 30 23:49:44 2009 +0400 DA8xx: MUSB platform device registration Add the function to register the MUSB platform device. Additional compile warning fixes by Sekhar Nori. Signed-off-by: Sergei Shtylyov Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 355fb4e3ea590976819c03070bf2c9491aede258 Author: Sergei Shtylyov Date: Fri Oct 30 23:46:14 2009 +0400 DaVinci: rename setup_usb() to davinci_setup_usb() Rename setup_usb() into davinci_setup_usb(). While at it: - move its declaration from to more fitting ; - teach it to handle values of the 'mA' parameter greater than 510 and thus pass 1000 instead of 500 for the power switches capable of sourcing over 1 A; - teach it to handle odd values of the 'potpgt_ms' parameter... Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 990c09d5f5b2079e8bf3c6615c78fa5ed2b97147 Author: Miguel Aguilar Date: Tue Oct 13 13:57:07 2009 -0600 Davinci: DM365: Enable DaVinci Key Scan support for DM365 EVM The general structures are defined at DM365 SoC file and the specific platform data structure for the EVM is defined at board file. Signed-off-by: Miguel Aguilar commit 1ce52121c415457e92c281aaec4b38a864278fa2 Author: Kevin Hilman Date: Fri Jul 17 08:36:19 2009 -0700 davinci: DMx and da8xx defconfig updates DMx: - enable MMC and dm365evm_keys - Enable DM355 and DM365 input drivers as modules. da8xx - combine da830 and da850 into common defconfig - drop SYSFS_DEPRECATED flag - auto-select D$ writethrough for da830 - enable CPUfreq and FB Signed-off-by: Kevin Hilman commit 51157ed8c5983c2c2be527d46faa42387f3e3e3c Author: Chaithrika U S Date: Tue Oct 13 17:32:43 2009 +0530 davinci: DA850/OMAP-L138: Set ASYNC3 domain flag for McASP In the McASP clock definition add a flag to indicate that the peripheral clock belongs to ASYNC3 clock domain. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 50fbabfe8de683ad49455d4c337410e921c9b361 Author: Hemant Pedanekar Date: Fri Sep 18 23:09:29 2009 +0530 davinci: dm646x-evm: Add platform data for NAND This patch adds platform data and partition info for NAND on dm6467 EVM. Note that the partition layout is dependent on the UBL, U-Boot etc. used. This patch tries to minimize that dependency by setting first partition for UBL, U-Boot and environment altogether. Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 42d399e4189346b495fec8a9a267e8b7f744ee48 Author: Sergei Shtylyov Date: Fri Oct 2 22:05:29 2009 +0400 DaVinci: remove unneeded #include's There have accumulated quite a lot of them after the code reorganizations... In several cases I had to replace #include which wasn't needed directly but happened to #include which was needed. Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 69872e93d971e72cd43fdf90befaaffd8e32437a Author: Sekhar Nori Date: Thu Oct 1 12:41:06 2009 +0530 davinci: make it easier to identify SoC init failures This patch makes it easier to identify SoC init failures by panicing when SoC init fails. Without successful SoC init, the kernel eventually fails when attempt is made to access the clocks. Also, an error is printed when JTAG ID match fails to make it easier to identify failures due to SoC rev changes. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 2206771c4359e236308122ad3fed7f5d91586fd7 Author: Chaithrika U S Date: Wed Sep 30 17:00:53 2009 -0400 davinci: RMII support for DA850/OMAP-L138 EVM DA850/OMAP-L138 EVM has a RMII Ethernet PHY on the UI daughter card. The PHY is enabled by proper programming of the IO Expander (TCA6416) ports. Also for RMII PHY to work, the MDIO clock of MII PHY has to be disabled since both the PHYs have the same address. This is done via the GPIO2[6] pin. This patch adds support for RMII PHY. This patch also adds a menuconfig option to select one or no peripheral connected to expander. Currently, sub-options in this menu are RMII and no peripheral.This menuconfig option is similar to the one present for UI card on DA830/OMAP-L137 EVM. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 75e2ea643fe43d5aa836475acee5bd97cd9ea4bf Author: Chaithrika U S Date: Wed Sep 30 17:00:28 2009 -0400 davinci: DA850/OMAP-L138 EVM expander setup and UI card detection DA850/OMAP-L138 EVM can be connected to an UI card which has various peripherals on it.The UI card has TCA6416 expander which can be probed to check whether the UI card is connected or not. If the UI card is connected, setup NOR and NAND devices. This is done via the expander setup callback. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 789a785ee4351a0b425d1b3702d40aeb71745ff3 Author: Sergei Shtylyov Date: Wed Sep 30 19:48:03 2009 +0400 davinci: DA8xx: rename 'psc_ctlr' field into 'gpsc' Replace badly chosen 'psc_ctlr' name of the 'struct clk' field (PSC already means "Power and Sleep Controller", so the '_ctlr' postfix makes the name tautological) with technically correct 'gpsc' (Global PSC -- which contains all the module registers). Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit a9eb1f675c3363a174a424f7834e768d17cd20e5 Author: Sekhar Nori Date: Tue Sep 22 21:14:04 2009 +0530 davinci: DA850/OMAP-L138 EVM: add support for TPS65070 PMIC This patch adds support for using the TPS65070 PMIC found on the DA850/OMAP-L138 EVM. It defines the power rail consumer mapping and registers the the I2C based PMIC as a board device. The power rail constraints are derived from the maxmimum and minimum recommended operating condition values of the respective consumers derived from section 5.2 of the OMAP-L138 datasheet. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 09dc2d452103583802e1379164eb7638c7f95f6e Author: Sekhar Nori Date: Tue Sep 22 21:14:03 2009 +0530 davinci: DA850/OMAP-L138 EVM: register for CPUFreq support Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 35f9acd8bd13ba3d90998b5f31cae3e271309127 Author: Sekhar Nori Date: Tue Sep 22 21:14:02 2009 +0530 davinci: DA850/OMAP-L138: add voltage regulation support This patch adds support for regulating the CVDD voltage for the DA850/OMAP-L138 platform. The CVDD min and max values for each OPP have been obtained from section 5.2 "Recommended Operating Conditions" of SPRS586 Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 683b1e1f0e6f7b2690c0ce76751ba8f26f0235c6 Author: Sekhar Nori Date: Tue Sep 22 21:14:01 2009 +0530 davinci: DA850/OMAP-L138: add frequency scaling support Adds basic frequency scaling support for DA850/OMAP-L138. Currently, frequency scaling only on PLL0 is supported. No scaling of PLL1 as yet. Peripherals like MMC/SD which have a clock input synchronous with ARM clock will not work well since the clock will change behind their backs. Support for notification to such devices to adjust themselves to the new frequency will be added in later patches. Current defconfigs keep CPUFreq disabled so it will not affect normal operation. The OPP defintions assume clock input of 24MHz to the SoC. This is inline with hardcoding of input frequency in the .c files. At some point this will need to move into board dependent code as new boards appear with a different reference clock. Tested on OMAP-L138 EVM with ondemand governer and a shell script to vary processor load. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 6601b8030de3e9c29930684eeac15302a59f991a Author: Sekhar Nori Date: Tue Sep 22 21:14:00 2009 +0530 davinci: add generic CPUFreq driver for DaVinci Adds a basic CPUFreq driver for DaVinci devices registering with the kernel CPUFreq infrastructure. Support is added for both frequency and voltage regulation. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit a75fd514f4871eb08aed41fc34ed716e0b78f750 Author: Kevin Hilman Date: Fri Oct 2 07:52:09 2009 -0700 davinci: da830 EVM: remove #include All that is needed is the existing #include Signed-off-by: Kevin Hilman commit f2024a9969c81815bcb5d934c80fec152ac81301 Author: Kevin Hilman Date: Tue Sep 29 11:09:21 2009 -0700 davinci: da830: add support for new silicon revisions Newer revs of da830 silicon have different 'variant' field of the JTAG id register. Current code only supports rev 1.0 silicon. This patch adds support for rev1.1 and rev2.0 silicon and updates the 'name' strings to add a '-' between 'omap' & 'l137' to have consistent naming with da850/omap-l138. From Mark Grosen : "There are currently three silicon revisions for OMAPL137. The JTAG IDs (DEVIDR register contents) for each silicon revision are shown below: 0x0B7D F02F for silicon revision 1.0 0x8B7D F02F for silicon revision 1.1 0x9B7D F02F for silicon revision 2.0 Corresponding errata documentation will be available in the next few weeks on the ti.com website." Reported-by: Nick Thompson Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 6af6564db80d49c4530076f5cebeb0d257a04122 Author: Kevin Hilman Date: Tue Sep 29 11:49:46 2009 -0700 davinci: da830 EVM: make machine name string consistent with da850 The machine name string shows up in /proc/cpuinfo under 'Hardware' and can be used by userspace apps. Make the format consistent with the DA850/OMAP-l138 EVM by adding the '-' between OMAP and L137. Signed-off-by: Kevin Hilman commit 0e9a3ddc91882a19e255dceb18b712f57e3bb731 Author: Sergei Shtylyov Date: Fri Sep 25 23:28:13 2009 +0400 davinci: DA830 EVM: OHCI platform code On this board the OHCI port's power control and over-current signals from TPS2065 power switch are connected via GPIO1[15] and GPIO2[1] respectively, so we can implement the DA8xx OHCI glue layer's hooks for overriding the root hub port's power and over-current status bits. We also have to properly set up the clocking mode in the CFGCHIP2 register, so that internal 24 MHz reference clock is fed to the USB 2.0 (MUSB) PHY and its output is used to clock the USB 1.1 (OHCI) PHY... Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit e5d3d252d5e06e846d767166e254831b711ee243 Author: Sergei Shtylyov Date: Fri Sep 25 23:14:02 2009 +0400 davinci: DA8xx: OHCI platform device Add the function to register the OHCI platform device, given the root hub related platform data passed from the board specific code. The platfrom data provide for overriding the OHCI port power and over-current bits at the board level. Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 371b53e02546dd49249e8a4ffdafcc649b348357 Author: Sergei Shtylyov Date: Fri Sep 25 22:24:57 2009 +0400 davinci: DA8xx: CFGCHIP2 register definitions These are needed by the MUSB and OHCI glue layers... Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 134ce221b03404148ec53c829d96bdd25170b55b Author: Sandeep Paulraj Date: Sun Sep 20 14:06:33 2009 -0400 DaVinci: EDMA: Updating terminlogy in EDMA driver The patch itself does not change the functionality of any existing code. PARAM entries in the present GIT kernel are referred to as slots. New API's being added to the EDMA driver were referring to these PARAM entries as "params". This patch updates the terminolgy used in the EDMA driver. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit cc93fc3f34552e791e480ac21a17eceb9c0e26f2 Author: Sandeep Paulraj Date: Sun Sep 20 13:47:03 2009 -0400 DaVinci: EDMA: Fix Bug while obtaining contiguous params The reserve_contiguous_params function is used to reserve a set of contiguous PARAMs. If we do not find a complete set of contiguous PARAMs, the functions still has to free every PARAM that it found to be free in the process of finding a complete set and thus marked as "in use". This patch mainly deals with correctly handling the freeing of PARAMs. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit dc4c05a5131d691ccbc06c2e670385127871bdbe Author: Sneha Narnakaje Date: Wed Sep 16 23:00:13 2009 -0400 davinci: DM365: Update NAND driver platform data This patch updates the NAND driver platform data to use 4-bit ECC and the ECC_HW/ECC_HW_OOB_FIRST modes. Signed-off-by: Sneha Narnakaje Signed-off-by: Kevin Hilman commit 74c987a0d9a327c0133260a29bb5e5efc9de86c6 Author: Sneha Narnakaje Date: Wed Sep 16 22:59:48 2009 -0400 davinci: DM355: Update NAND driver platform data This patch updates the NAND driver platform data to use 4-bit ECC and the ECC_HW/ECC_HW_OOB_FIRST modes. Signed-off-by: Sneha Narnakaje Signed-off-by: Kevin Hilman commit 6b0cf4e93c3212810f775967bdb2206be65eccec Author: Sandeep Paulraj Date: Wed Sep 16 18:17:43 2009 -0400 DaVinci: EDMA: Fix Bug in edma_alloc_cont_slots API The edma_alloc_cont_slots API is used for obtaining a set of contiguous slots. When we use the "_ANY" option with this API, by definition of this option it is suppossed to start looking for a set of contiguous slots starting from slot 64 for DaVinci SOC's and 32 for DA8xx SOC's. This has been explained in the API description in the driver itself. So when we use the "_ANY" option with this API, the slot number passed as an argument should be a "don't care". This patch takes care of this condition mentioned above. When checking to see if the starting slot is a valid number, it checks to make sure that the "_ANY" option is not used. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 51c99e0498c637bf43fb3be786d121d8dceef337 Author: Sandeep Paulraj Date: Wed Sep 16 18:09:59 2009 -0400 DaVinci: EDMA: Fix bug in edma_free_cont_slots API In the edma_free_cont_slots API, the variable slot was being modified and then used in the for loop. This results in incorrect behaviour when the API is used. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 7761ef67930dac37f90aaf0ffcd6b1f473c07dfc Author: Sudhakar Rajashekhara Date: Tue Sep 15 17:46:14 2009 -0400 davinci: Correct the GPIO number for LCD panel power On the latest DA850/OMAP-L138 EVM (Beta) the GPIO pin number of LCD panel power has changed. This patch takes care of this change. Software will support only Beta versions of DA850/OMAP-L138 EVM. In the process, add the missing entry for data pin 0 and remove the GPIO specific pins from da850_lcdcntl_pins structure. EVM specific muxing for LCD is being done in the board file now. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit c51df70b1e14220c8fc0799f6c27b9362d9424d0 Author: Mark A. Greer Date: Tue Sep 15 18:15:54 2009 -0700 davinci: Add RTC support for DA8xx/OMAP-L13x SoC's Add RTC support for the da830/omap-l137 and da850/omap-l138 SoC's by leveraging existing the rtc-omap driver. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 13e1f0440e7892fa7041fc855d8eeffc5d6aa21a Author: Steve Chen Date: Tue Sep 15 18:15:06 2009 -0700 davinci: Add LCD Graphics support for DA830/OMAP-L137 EVM Add graphics support for the Sharp LCD035Q3DG01 graphical LCD that's on the User Interface (UI) daughter card of the DA830/OMAP-L137 EVM. The LCD shares EMIFA lines with the NAND and NOR devices that are also on the UI card so those lines are shared via a couple of muxes. The muxes are controlled by the 'MUX_MODE' line on the UI card. The 'MUX_MODE' line is controlled by pin P6 of a pcf8574 i2c expander that's at i2c address 0x3f on UI card. The i2c expander is controlled using the gpio infrastructure from the board code using the 'setup()' and 'teardown()' routines. Signed-off-by: Steve Chen Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b9e6342b2b796c2f7fdc98cefd17df16892b035e Author: Mark A. Greer Date: Tue Sep 15 18:14:19 2009 -0700 davinci: Add support for Sharp LCD035Q3DG01 graphical LCD Add support for the Sharp LCD035Q3DG01 graphical LCD. This requires a minor interface change to da8xx_register_lcdc() so that the board code can pass in the platform_data which describes the lcd controller that's to be used. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 2eb30c81ce91f646f6f2e6cdfd36b79a492002ce Author: David A. Griego Date: Tue Sep 15 18:10:20 2009 -0700 davinci: Add MMC/SD support for DA830/OMAP-L137 EVM Add pinmux settings, etc. to enable the MMC/SC hardware. Signed-off-by: David A. Griego Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit f63dd12da29f47c37bbc093abec098538e04357c Author: Hemant Pedanekar Date: Wed Sep 2 16:49:35 2009 +0530 davinci: dm646x: Add support for 3.x silicon revision DM6467 silicon revisions 3.x have variant field in JTAGID register as '1'. This path adds entry for the same in dm646x_ids to be able to boot on boards with 3.x revision chips. Also modifies name for 'variant=0' (revisions 1.0, 1.1). Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 5d36a3321bd77418cc55e05680efc35deeaba3f4 Author: Sekhar Nori Date: Mon Aug 31 15:48:05 2009 +0530 davinci: DA850/OMAP-L138: allow async3 source to be changed The patch allows Async3 clock source to be selected between PLL1 SYSCLK2 and PLL0 SYSCLK2. Having Async3 source from PLL1 SYSCLK2 allows peripherals on that domain to remain unaffected by frequency scaling on PLL0. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit b82a51e8ce560fece675b8e3ca652eee26a47789 Author: Sekhar Nori Date: Mon Aug 31 15:48:04 2009 +0530 davinci: support re-parenting a clock in the clock framework The clk_set_parent() API is implemented to enable re-parenting clocks in the clock tree. This is useful in DVFS and helps by shifting clocks to an asynchronous domain where supported by hardware Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit d6a61563f9e934ef20a1338780082f63802c8908 Author: Sekhar Nori Date: Mon Aug 31 15:48:03 2009 +0530 davinci: support changing the clock rate in clock framework clk_round_rate, clk_set_rate have been updated to handle dynamic frequency changes. The motivation behind the changes is to support dynamic CPU frequency change. davinci_set_pllrate() changes the PLL rate of a given PLL. This function has been presented as a generic function though it has been tested only on OMAP-L138 EVM. No other currently available DaVinci device will probably use this function, but any future device specific changes will hopefully be small enough to get taken care using a cpu_is_xxx() macro. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit de381a91f544008f4f99571e2ef1f60b92d5f0cf Author: Sekhar Nori Date: Mon Aug 31 15:48:02 2009 +0530 davinci: make clock rate re-calculation easy Make clock rate recalculation easy by having a re-calculate function for each clock. The existing functions for calculation of output rates of PLL and PLL-derived sysclks have been convered to the new re-calculate API. A new function is introduced to take care of rate (re)calculation for leaf clocks. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit f02bf3b396846f3da60b4962aeaae8652e20f0dd Author: Sekhar Nori Date: Mon Aug 31 15:48:01 2009 +0530 davinci: enable easy top down traversal of clock tree Achieve easy top down traversal of clock tree by keeping track of each clock's list of children. This is useful in supporting DVFS where clock rates of all children need to be updated in an efficient manner. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit cd87444802ddceaa2259bc5ac48c1d2e42a99a3f Author: Sekhar Nori Date: Mon Aug 31 15:48:00 2009 +0530 davinci: DA8XX/OMAP-L1XX: JTAG ID register should offset from SYSCFG base This makes it clear that JTAG ID register is part of the SYSCFG module Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 6a28adef21e551602023afc5bba330f8013556d8 Author: Sekhar Nori Date: Mon Aug 31 15:47:59 2009 +0530 davinci: DA8XX/OMAP-L1XX: Avoid use of IO_ADDRESS for SYSCFG module Avoid use of IO_ADDRESS() for SYSCFG module by doing an ioremap() instead. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 3c60a66de662dca6e47951a78b73de1bf081e785 Author: Sekhar Nori Date: Mon Aug 31 15:47:58 2009 +0530 davinci: DA8XX/OMAP-L1XX: It's SYSCFG not BOOT_CFG Rename the DA8XX_BOOT_CFG_BASE macro to get it in line with the public documentation for these parts. Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit 32bf078caff4dbdba59f8aab022f11a4e1622880 Author: Mark A. Greer Date: Fri Aug 28 15:05:21 2009 -0700 davinci: Add DA830/OMAP-L137 EVM specific pinmux setting for McASP1 The DA830/OMAP-L137 EVM cannot use the default pinmux setup for McASP1 so put the correct settings in the board file for that platform. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b8864aa4abf3cda4676c4174453cf813de6b1701 Author: Mark A. Greer Date: Fri Aug 28 15:05:02 2009 -0700 davinci: Change DA8xx/OMAP-L13x McASP registration routine name For consistency with existing code, change the name of da8xx_init_mcasp() to da8xx_register_mcasp(). Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 31f53cf391520e62804ed013daf50dfa170d114a Author: Mark A. Greer Date: Fri Aug 28 15:02:54 2009 -0700 davinci: Move DA8xx/OMAP-L13x emac register routine Some mcasp code was inserted between the emac resource setup and the related register routine that registers the emac. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit e9ab3214a8fc546d62e22064caa559b912620106 Author: Miguel Aguilar Date: Wed Sep 2 15:33:29 2009 -0600 Davinci: DM365: Add platform device for McBSP 1) Registers the platform device for McBSP on dm365. 2) Add platform data to DM365 EVM board file. 3) Set i2c address for audio codec at DM365 EVM board file. Signed-off-by: Miguel Aguilar Signed-off-by: Kevin Hilman commit ed16067205d79aef6ab885a662380fd1dad3ff6a Author: Sandeep Paulraj Date: Thu Aug 27 16:39:43 2009 -0400 DaVinci: DM365: Correct USB parent clock The parent clock for the USB source clock is actually PLL1 aux clock, not PLL2 sysclk1. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit eb5ba378bc0ed3f426edee3af7fdcd215a505026 Author: Phaneendra Kumar Date: Thu Aug 27 17:06:56 2009 -0400 DaVinci: DM365: SDIO interrupt resource correction This patch fixes a typo/bug in the DM365 SDIO interrupt assignment Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 35a8a3fdcd4f973a5430e868f2f2a5c363803a5b Author: Philipp Reisner Date: Wed Nov 25 17:50:00 2009 +0100 drbd: moved CN_IDX_DRBD and CN_VAL_DRBD to the right file Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 66d61bec697e99476c2fb095f9a6ead3be2e1c21 Author: Jiri Kosina Date: Tue Nov 24 18:22:20 2009 +0100 HID: make Media key on Logitech DiNovo Mini work Put proper mapping of Media key on Logitech DiNovo Mini. According to the specification from Logitech webpage, this key is intended to launch a Media center. Reported-by: Stefan Plattner Signed-off-by: Jiri Kosina commit c8e0f93a381d1d76135e567f13a4418fce66fd95 Author: Eric Anholt Date: Sun Nov 22 03:49:37 2009 +0100 drm/i915: Replace a calloc followed by copying data over it with malloc. Execbufs involve quite a bit of payload, to the extent that cache misses show up in the profiles here, and a suspicion that some of those cachelines may get evicted and then reloaded in the subsequent copy. This is still abstracted like drm_calloc_large since we want to check for size overflow, and because we want to choose between kmalloc and vmalloc on the fly. cairo's interface for malloc-with-calloc's-args was used as the model. Signed-off-by: Eric Anholt commit 2449ae85e3c88ef27853aef0d19772149e269ae7 Merge: 97cef58 b5e102c Author: Mark Brown Date: Wed Nov 25 14:25:36 2009 +0000 Merge branch 'twl4030-mfd' into for-2.6.33 commit b5e102cdcfb4a5d4349a9628eb5ad11bd65a1f3b Author: Daniel J Blueman Date: Wed Nov 25 12:12:59 2009 +0000 mfd: twl4030: fix ELF section mismatch... Since twl4030_probe is only called from functions in the init ELF section, annotate it so. Signed-off-by: Daniel J Blueman Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 28b4e0d86acf59ae3bc422921138a4958458326e Author: Tejun Heo Date: Wed Nov 25 22:24:44 2009 +0900 x86: Rename global percpu symbol dr7 to cpu_dr7 Percpu symbols now occupy the same namespace as other global symbols and as such short global symbols without subsystem prefix tend to collide with local variables. dr7 percpu variable used by x86 was hit by this. Rename it to cpu_dr7. The rename also makes it more consistent with its fellow cpu_debugreg percpu variable. Signed-off-by: Tejun Heo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Rusty Russell Cc: Christoph Lameter Cc: Linus Torvalds , Cc: Andrew Morton LKML-Reference: <20091125115856.GA17856@elte.hu> Signed-off-by: Ingo Molnar Reported-by: Stephen Rothwell commit 93335a21557e80f6a99bc2812c634e488139043c Author: Shmulik Ladkani Date: Wed Nov 25 15:23:41 2009 +0200 sched.c: Call debug_show_all_locks() when dumping all tasks In commit v2.6.21-691-g39bc89f ("make SysRq-T show all tasks again") the interface of show_state_filter() was changed: zero valued 'state_filter' specifies "dump all tasks" (instead of -1). However, the condition for calling debug_show_all_locks() ("show locks if all tasks are dumped") was not updated accordingly. Signed-off-by: Shmulik Ladkani Cc: peterz@infradead.org LKML-Reference: <4b0d2fe4.0ab6660a.6437.3cfc@mx.google.com> Signed-off-by: Ingo Molnar commit 273bee27fa9f79d94b78c83506016f2e41e78983 Author: FUJITA Tomonori Date: Wed Nov 25 08:46:28 2009 +0900 x86: Fix iommu=soft boot option iommu=soft boot option forces the kernel to use swiotlb. ( This has the side-effect of enabling the swiotlb over the GART if this boot option is provided. This is the desired behavior of the swiotlb boot option and works like that for all other hw-IOMMU drivers. ) Signed-off-by: FUJITA Tomonori Cc: yinghai@kernel.org LKML-Reference: <20091125084611O.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit bbb3c644bd9967753ce8c214c5e64b27c361d2a4 Author: Daniel T Chen Date: Tue Nov 24 22:51:05 2009 -0500 ALSA: intel8x0: Mute External Amplifier by default for Gateway 4525GZ BugLink: https://bugs.launchpad.net/bugs/487884 This Gateway model needs External Amplifier muted for audible playback, so set the inv_eapd quirk for it. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 99df5a6a215f026e62287083de2b44b22edd3623 Author: Tom Zanussi Date: Wed Nov 25 01:14:59 2009 -0600 trace/syscalls: Change ret param in struct syscall_trace_exit to long Commit ee949a86b3aef15845ea677aa60231008de62672 ("tracing/syscalls: Use long for syscall ret format and field definitions") changed the syscall exit return type to long, but forgot to change it in the struct. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1259133299-23594-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 0d0bea5ea4a0e91feff22ac5e32e14ff3a682247 Author: Tom Zanussi Date: Wed Nov 25 01:14:58 2009 -0600 perf tools: Add 'signed' flag setting back into trace-event-parse.c Commit 13999e59343b042b0807be2df6ae5895d29782a0 (perf tools: Handle the case with and without the "signed" trace field) removed code to set the FIELD_IS_SIGNED flag that was originally added by commit 26a50744b21fff65bd754874072857bee8967f4d (tracing/events: Add 'signed' field to format files). This adds it back. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1259133299-23594-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 9533ac6291d78cd16c4b11a15bfbb055affd76c3 Merge: fe61267 75ec29a Author: Ingo Molnar Date: Wed Nov 25 09:03:15 2009 +0100 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 7539cf4b92be4aecc573ea962135f246a7a33401 Author: Tetsuo Handa Date: Tue Nov 24 22:00:05 2009 +0900 TOMOYO: Add recursive directory matching operator support. TOMOYO 1.7.1 has recursive directory matching operator support. I want to add it to TOMOYO for Linux 2.6.33 . ---------- [PATCH] TOMOYO: Add recursive directory matching operator support. This patch introduces new operator /\{dir\}/ which matches '/' + 'One or more repetitions of dir/' (e.g. /dir/ /dir/dir/ /dir/dir/dir/ ). Signed-off-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: James Morris commit edad1f208e6edabb917e4f8a33c7e45bf78bb79d Author: Paul Mundt Date: Wed Nov 25 16:23:35 2009 +0900 serial: sh-sci: Depend on HAVE_CLK unconditionally. The sh-sci code conditionalized the clock framework support in order to give the other platforms a chance to catch up. sh64 supported this some time ago and the forthcoming ARM changes handle this as well, this leaves h8300 as the odd one out. H8300 has had since 2.5 to merge it's sh-sci support upstream, and has yet to do so. At this point I will no longer be holding back the driver to support an unreponsive architecture, 7 years is quite enough of a grace period. Support is easily implemented on the architecture if and when it ever decides to merge its changes upstream. Signed-off-by: Paul Mundt commit 6ba653830c85a37d0a054f1e43d9b51e59d1150b Author: Paul Mundt Date: Wed Nov 25 12:07:31 2009 +0900 sh: Fix up the FPU emulation build. Signed-off-by: Paul Mundt commit b00eb796f1b67c46036b5490e83b31741f1eebaf Author: Bob Moore Date: Fri Nov 13 10:01:43 2009 +0800 ACPICA: Update version to 20091112. Version 20091112. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9a884ab64a4d092b4c3bf24fd9a30f7fbd4591e7 Author: Lin Ming Date: Thu Nov 12 09:57:53 2009 +0800 ACPICA: Add additional module-level code support This change will execute module-level code that is not at the root of the namespace (under a Device object, etc.). ACPICA BZ 762. http://www.acpica.org/bugzilla/show_bug.cgi?id=762 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit dc95a270c684e771b25dce0b60559cc80c033f22 Author: Bob Moore Date: Thu Nov 12 09:52:45 2009 +0800 ACPICA: Deploy new create integer interface where appropriate Simplifies creation of simple integer objects. ACPICA BZ 823. http://www.acpica.org/bugzilla/show_bug.cgi?id=823 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 502f7efa6ae7c3f6d93dac417af521af1f56bcc7 Author: Bob Moore Date: Thu Nov 12 09:49:50 2009 +0800 ACPICA: New internal utility function to create Integer objects acpi_ut_create_integer_object. This function (when deployed) should simplify some of the object creation code. ACPICA BZ 823. http://www.acpica.org/bugzilla/show_bug.cgi?id=823 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ad5babeed8d3082406c5b67ae558b95a479ddb6f Author: Bob Moore Date: Thu Nov 12 09:44:06 2009 +0800 ACPICA: Add repair for predefined methods that must return sorted lists This change will repair (by sorting) packages returned by _ALR, _PSS, and _TSS. Drivers can now assume that the packages are correctly sorted. Adds one new file, nsrepair2.c. ACPICA BZ 784. http://www.acpica.org/bugzilla/show_bug.cgi?id=784 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 419a909dd10142d015dd96457db1b1eda643f89e Author: Bob Moore Date: Thu Nov 12 09:36:00 2009 +0800 ACPICA: Fix possible fault if return Package objects contain NULL elements For predefined name validation. Also adds a warning if a NULL element is followed by any non-null elements. ACPICA BZ 813, 814. http://www.acpica.org/bugzilla/show_bug.cgi?id=813 http://www.acpica.org/bugzilla/show_bug.cgi?id=814 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2263576cfc6e8f6ab038126c3254404b9fcb1c33 Author: Lin Ming Date: Fri Nov 13 10:06:08 2009 +0800 ACPICA: Add post-order callback to acpi_walk_namespace The existing interface only has a pre-order callback. This change adds an additional parameter for a post-order callback which will be more useful for bus scans. ACPICA BZ 779. Also update the external calls to acpi_walk_namespace. http://www.acpica.org/bugzilla/show_bug.cgi?id=779 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 7d5d05d0704127c9acd24090c14731c111bd0af1 Author: Bob Moore Date: Thu Nov 12 09:31:50 2009 +0800 ACPICA: Change package length error message to an info message This message happens when the package element list is longer than the declared length of the package. Changed to an info message because this condition is not actually an error. It is caused by the BIOS attempting to truncate the package on the fly by adjusting the package element count at the start of the package definition. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7df200cd980442868f5579c0880a9221da628d17 Author: Bob Moore Date: Thu Nov 12 09:18:45 2009 +0800 ACPICA: Reduce severity of predefined repair messages, Warning to Info Since the object was successfully repaired, a Warning is too severe. Reduced to Info for now. We may eventually change these messages to debug-only. ACPICA BZ 812. http://www.acpica.org/bugzilla/show_bug.cgi?id=812 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b9e39c89a9639e5005d8225a23fb7faf118a85eb Author: Uwe Kleine-König Date: Tue Nov 24 22:07:32 2009 +0100 serial: sh-sci: don't use __devexit_p to wrap sci_remove The function sci_remove is defined without any section modifier, so don't use __devexit_p to wrap it. Signed-off-by: Uwe Kleine-König Cc: Magnus Damm Cc: linux-kernel@vger.kernel.org Signed-off-by: Paul Mundt commit b9e05c64a02a1e699925cb49dd5542087eba0c3a Author: Uwe Kleine-König Date: Tue Nov 24 22:07:23 2009 +0100 rtc: don't use __exit_p to wrap ds1302_rtc_remove The function ds1302_rtc_remove is defined using __devexit, so don't use __exit_p but __devexit_p to wrap it. Signed-off-by: Uwe Kleine-König Cc: Alessandro Zummo Cc: linux-kernel@vger.kernel.org Cc: Paul Gortmaker Cc: rtc-linux@googlegroups.com Signed-off-by: Paul Mundt commit cc3316e7a97cdbfc34633e20195f8c98b9ff9ff5 Author: Bob Moore Date: Wed Oct 14 09:01:39 2009 +0800 ACPICA: Update version to 20091013 Version 20091013. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 50b77eda9b12ff0ccf12b4021b7193d71778c0a9 Author: Lin Ming Date: Tue Oct 13 10:34:56 2009 +0800 ACPICA: Fix possible memory leak for Scope ASL operator Using Scope(\) to change the scope to the root could cause a single object memory leak. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 74d3ec77a5e0633b0c7a8490941432c2e4789037 Author: Lin Ming Date: Tue Oct 13 10:29:30 2009 +0800 ACPICA: Remove possibility of executing _REG methods twice If a custom address space handler is installed by the host before the "initialize operation regions" phase of the ACPICA initialization, any _REG methods for that address space could be executed twice. This change fixes the problem. ACPICA BZ 427. http://www.acpica.org/bugzilla/show_bug.cgi?id=427 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 0240d7b4f20f7d156a74dfdd0647a0231b7e8ef4 Author: Lin Ming Date: Tue Oct 13 10:23:20 2009 +0800 ACPICA: Add repair for bad _MAT buffers _MAT can inadvertently return an Integer instead of a Buffer if the return value has been read from a Field whose width is less than or equal to the global integer width (32 or 64 bits). ACPICA BZ 810. http://www.acpica.org/bugzilla/show_bug.cgi?id=810 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 2752699392b828edf3123f911f6e8b4dd7daeb56 Author: Bob Moore Date: Tue Oct 13 10:20:33 2009 +0800 ACPICA: Add repair for bad _BIF/_BIX packages Add a repair for the "Oem Information" field which is often mistakenly returned as an integer. It should always be a string. ACPICA BZ 807. http://www.acpica.org/bugzilla/show_bug.cgi?id=807 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f6e1d8cc38b3776038fb15d3acc82ed8bb552f82 Author: Bjorn Helgaas Date: Fri Nov 13 17:35:04 2009 -0700 x86/PCI: MMCONFIG: add lookup function This patch factors out the search for an MMCONFIG region, which was previously implemented in both mmconfig_32 and mmconfig_64. No functional change. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 8c57786ad3d921713c7ad8e44132aa537a1d0fec Author: Bjorn Helgaas Date: Fri Nov 13 17:34:59 2009 -0700 x86/PCI: MMCONFIG: clean up printks No functional change; just tidy up printks and make them more consistent with the rest of PCI. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit ba2afbabfc44d6322e8607c004f37868ff786cf8 Author: Bjorn Helgaas Date: Fri Nov 13 17:34:54 2009 -0700 x86/PCI: MMCONFIG: add pci_mmconfig_remove() to remove MMCONFIG region This is only used internally now, but eventually will be used in the hot-remove path to remove the MMCONFIG region associated with a host bridge. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit ff097ddd4aeac790fd51d013c79c2f18ec9a7117 Author: Bjorn Helgaas Date: Fri Nov 13 17:34:49 2009 -0700 x86/PCI: MMCONFIG: manage pci_mmcfg_region as a list, not a table This changes pci_mmcfg_region from a table to a list, to make it easier to add and remove MMCONFIG regions for PCI host bridge hotplug. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 987c367b4e93be6826394e7c9cc14d28bb5c8810 Author: Bjorn Helgaas Date: Fri Nov 13 17:34:44 2009 -0700 x86/PCI: MMCONFIG: remove typeof so we can use a list This replaces "typeof(pci_mmcfg_config[0])" with the actual type because I plan to convert pci_mmcfg_config to a list, and then "pci_mmcfg_config[0]" won't mean anything. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3f0f5503926f7447615f083c2d57545a83b6357c Author: Bjorn Helgaas Date: Fri Nov 13 17:34:39 2009 -0700 x86/PCI: MMCONFIG: add virtual address to struct pci_mmcfg_region The virtual address is only used for x86_64, but it's so much simpler to manage it as part of the pci_mmcfg_region that I think it's worth wasting a pointer per MMCONFIG region on x86_32. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2f2a8b9c90279e75f87aaf322a948bdced27e89f Author: Bjorn Helgaas Date: Fri Nov 13 17:34:34 2009 -0700 x86/PCI: MMCONFIG: trivial is_mmconf_reserved() interface simplification Since pci_mmcfg_region contains the struct resource, no need to pass the pci_mmcfg_region *and* the resource start/size. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 56ddf4d3cf04e80254d3d721c6bea2f8ec44c41a Author: Bjorn Helgaas Date: Fri Nov 13 17:34:29 2009 -0700 x86/PCI: MMCONFIG: add resource to struct pci_mmcfg_region This patch adds a resource and corresponding name to the MMCONFIG structure. This makes allocation simpler (we can allocate the resource and name at the same time we allocate the pci_mmcfg_region), and gives us a way to hang onto the resource after inserting it. This will be needed so we can release and free it when hot-removing a host bridge. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 95cf1cf0c5a767feb811dfed298b95b1df8824c7 Author: Bjorn Helgaas Date: Fri Nov 13 17:34:24 2009 -0700 x86/PCI: MMCONFIG: use pointer to simplify pci_mmcfg_config[] structure access No functional change, but simplifies a future patch to convert the table to a list. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit d7e6b66fe87c9f42480d73fc314aecaeae84ca6b Author: Bjorn Helgaas Date: Fri Nov 13 17:34:18 2009 -0700 x86/PCI: MMCONFIG: rename pci_mmcfg_region structure members This only renames the struct pci_mmcfg_region members; no functional change. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit d215a9c8b46e55a1d3bc1cd907c943ef95938a0e Author: Bjorn Helgaas Date: Fri Nov 13 17:34:13 2009 -0700 x86/PCI: MMCONFIG: use a private structure rather than the ACPI MCFG one This adds a struct pci_mmcfg_region with a little more information than the struct acpi_mcfg_allocation used previously. The acpi_mcfg structure is defined by the spec, so we can't change it. To begin with, struct pci_mmcfg_region is basically the same as the ACPI MCFG version, but future patches will add more information. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit df5eb1d67e8074dfbc23cf396c556116728187b3 Author: Bjorn Helgaas Date: Fri Nov 13 17:34:08 2009 -0700 x86/PCI: MMCONFIG: add PCI_MMCFG_BUS_OFFSET() to factor common expression This factors out the common "bus << 20" expression used when computing the MMCONFIG address. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit f7ca69848786bb99fdfafb511791b078c298438e Author: Bjorn Helgaas Date: Fri Nov 13 17:34:03 2009 -0700 x86/PCI: MMCONFIG: reject MMCONFIG apertures at address zero Since all MMCONFIG regions go through pci_mmconfig_add(), we can test the address once there. If the caller supplies an address of zero, we never insert it in the pci_mmcfg_config[] table, so no need to test it elsewhere. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 463a5df175e3ceed684397ee2f8a3eb523d835a0 Author: Bjorn Helgaas Date: Fri Nov 13 17:33:58 2009 -0700 x86/PCI: MMCONFIG: simplify tests for empty pci_mmcfg_config table We never set pci_mmcfg_config unless we increment pci_mmcfg_config_num, so there's no need to test both pci_mmcfg_config_num and pci_mmcfg_config. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 7da7d360ae025158d09aab18d66f5d2fe3c02252 Author: Bjorn Helgaas Date: Fri Nov 13 17:33:53 2009 -0700 x86/PCI: MMCONFIG: centralize MCFG structure management This patch encapsulate pci_mmcfg_config[] updates. All alloc/free is now done in pci_mmconfig_add() and free_all_mcfg(), so all updates to pci_mmcfg_config[] and pci_mmcfg_config_num are in those two functions. This replaces the previous sequence of extend_mmcfg(), fill_one_mmcfg() with the single pci_mmconfig_add() interface. This interface is currently static but will eventually be used in the host bridge hot-add path. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit d3578ef7aab5b9bb874d085609b3ed5d9abffc48 Author: Bjorn Helgaas Date: Fri Nov 13 17:33:47 2009 -0700 x86/PCI: MMCONFIG: step through MCFG table, not pci_mmcfg_config[] Step through the ACPI MCFG table, not pci_mmcfg_config[]. No functional change, but simplifies future patches that encapsulate pci_mmcfg_config[]. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit e823d6ff581c5d1d76aa8c73a202d7d1419d34b8 Author: Bjorn Helgaas Date: Fri Nov 13 17:33:42 2009 -0700 x86/PCI: MMCONFIG: count MCFG structures with local variable Use a local variable, not pci_mmcfg_config_num, to count MCFG entries. No functional change, but simplifies future changes. Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 5663b1b963183e98ece3e77e471da833bb5ad2ff Author: Bjorn Helgaas Date: Fri Nov 13 17:33:37 2009 -0700 x86/PCI: MMCONFIG: remove unused definitions Reviewed-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 67f241f4579651ea4335b58967c8880c0a378249 Author: Yinghai Lu Date: Wed Nov 11 22:27:40 2009 -0800 x86/pci: seperate x86_pci_rootbus_res_quirks from amd_bus.c Those functions are used by intel_bus.c so seperate them to another file. and make amd_bus a bit smaller. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 7b7a78594292d540720485544ad1043b71de14e0 Author: Jiri Kosina Date: Tue Nov 17 23:19:53 2009 +0100 PCI: fix comment typo in bus_numa.h Signed-off-by: André Goddard Rosa Signed-off-by: Jiri Kosina Signed-off-by: Jesse Barnes commit 2ed7a806d864bde5903b73da1c65b0316b21efd3 Author: Alex Chiang Date: Mon Nov 16 14:21:13 2009 -0700 x86/PCI: remove early PCI pr_debug statements commit db635adc turned -DDEBUG for x86/pci on when CONFIG_PCI_DEBUG is set. In general, I agree with that change. However, it exposes a bunch of very low level PCI debugging in the early x86 path, such as: 0 reading 2 from a: ffff 1 reading 2 from a: ffff 2 reading 2 from a: ffff 3 reading 2 from a: 300 3 reading 2 from 0: 1002 3 reading 2 from 2: 515e These statements add a lot of noise to the boot and aren't likely to be necessary even when handling random upstream bug reports. [In contrast, statements such as these: pci 0000:02:04.0: found [14e4:164a] class 000200 header type 00 pci 0000:02:04.0: reg 10: [mem 0xf8000000-0xf9ffffff 64bit] pci 0000:02:04.0: reg 30: [mem 0x00000000-0x0001ffff pref] are indeed useful when remote debugging users' machines] Remove the noisy printks and save electrons everywhere. Cc: Bjorn Helgaas Cc: Yinghai Lu Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 5651c48cfafef1b9a7ebdc00ebeb32f2af887a89 Author: Kenji Kaneshige Date: Fri Nov 13 15:14:10 2009 +0900 PCI pciehp: fix power fault interrupt storm problem Enabling power fault detected event notification in current pciehp might cause power fault interrupt storm on some machines. On those machines. On those machines, power fault detected bit in the slot status register was set again immediately when it is cleared in the interrupt service routine, and next power fault detected interrupt was notified again. Therefore, disable power fault detected event notification for now. This patch also removes unnecessary handling for power fault cleared event because this event is not supported by PCIe spec. Tested-by: Jens Axboe Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 13598378f29c125d78047b23330eb2294b03d414 Author: Kenji Kaneshige Date: Wed Nov 11 14:38:16 2009 +0900 PCI hotplug: use pci_is_pcie() Change for PCI hotplug to use pci_is_pcie() instead of checking pci_dev->is_pcie. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b44d7db36480a3b27e78141fc9d6597aa577744b Author: Kenji Kaneshige Date: Wed Nov 11 14:37:24 2009 +0900 PCIe AER: use pci_is_pcie() Changes for PCIe AER driver to use pci_is_pcie() instead of checking pci_dev->is_pcie. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8b06477dc4fcdfc21442ad334d3f3e335225ea0c Author: Kenji Kaneshige Date: Wed Nov 11 14:36:52 2009 +0900 PCIe ASPM: use pci_is_pcie() Change for PCIe ASPM driver to use pci_is_pcie() instead of checking pci_dev->is_pcie. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 5f4d91a1228ac85c75b099efd36fff1a3407335c Author: Kenji Kaneshige Date: Wed Nov 11 14:36:17 2009 +0900 PCI: use pci_is_pcie() in pci core Change for PCI core to use pci_is_pcie() instead of checking pci_dev->is_pcie. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 7eb776c42e75d17bd8107a1359068d8c742639d1 Author: Kenji Kaneshige Date: Wed Nov 11 14:35:22 2009 +0900 PCI: introduce pci_is_pcie() Introduce pci_is_pcie() which returns true if the specified PCI device is PCI Express capable, false otherwise. The purpose of pci_is_pcie() is removing 'is_pcie' flag in the struct pci_dev, which is not needed because we can check it using 'pcie_cap' field. To remove 'is_pcie', we need to update user of 'is_pcie' to use pci_is_pcie() instead first. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 1518c17ab736303098843bd306a0fc4f8f5faa42 Author: Kenji Kaneshige Date: Wed Nov 11 14:34:52 2009 +0900 pciehp: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset in pciehp driver. This avoids unnecessary search in PCI configuration space. This patch also removes 'cap_base' field in struct controller, that was used to hold PCIe capability offset by pciehp itself. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d3ccc4091f0d63a3e0976c739c27037a5666060d Author: Kenji Kaneshige Date: Wed Nov 11 14:34:15 2009 +0900 PCI hotplug: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset in PCI hotplug core. This avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit db9538a7495e33f3571c0e791c7678bc0c6ef50f Author: Kenji Kaneshige Date: Wed Nov 11 14:33:30 2009 +0900 PCIe ASPM: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset in PCIe ASPM driver. This avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dba90dfe48e2e00e79a15c95940730b6926ee176 Author: Kenji Kaneshige Date: Wed Nov 11 14:32:42 2009 +0900 PCIe port bus: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset in PCI Express Port Bus driver. This avoids unnecessary serarch in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 39a53062cb5b2ceca6035f3ed67317672f0bcf3b Author: Kenji Kaneshige Date: Wed Nov 11 14:31:38 2009 +0900 PCIe AER: use pci_pcie_cap() Use pcie_cap() instead of pci_find_capability() to get PCIe capability offset in PCIe AER driver. This avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 06a1cbafb253c4c60d6a54a994887f5fbceabcc0 Author: Kenji Kaneshige Date: Wed Nov 11 14:30:56 2009 +0900 PCI: use pci_pcie_cap() in pci core Use pcie_cap() instead of pci_find_capability() to get PCIe capability offset in PCI core code. This avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d7b7e60526d54da4c94afe5f137714cee7d05c41 Author: Kenji Kaneshige Date: Wed Nov 11 14:29:54 2009 +0900 PCI: introduce pci_pcie_cap() Introduce pci_pcie_cap() API that returns saved PCIe capability offset (currently it is saved in 'pcie_cap' field in the struct PCI dev). Using pci_pcie_cap() instead of pci_find_capability() avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 75ec29ab848a7e92a41aaafaeb33d1afbc839be4 Author: Steven Rostedt Date: Wed Nov 18 20:48:08 2009 -0500 tracing: Convert some sched trace events to DEFINE_EVENT and _PRINT Converting some of the scheduler trace events to use the TRACE_EVENT_TEMPLATE, DEFINE_EVENT and DEFINE_EVENT_PRINT helped to save some space: $ size kernel/sched.o-* text data bss dec hex filename 79299 6776 2520 88595 15a13 kernel/sched.o-notrace 101941 11896 2584 116421 1c6c5 kernel/sched.o-templ 104779 11896 2584 119259 1d1db kernel/sched.o-trace sched.o-notrace is without any tracepoints compiled sched.o-templ is with this patch sched.o-trace is the tracepoints before this patch The trace events converted to DEFINE_EVENT: sched_wakeup, sched_wakeup_new, sched_process_free, sched_process_exit, and sched_stat_wait. The trace events converted to DEFINE_EVENT_PRINT: sched_stat_sleep and sched_stat_iowait. Note, since the TRACE_EVENT_TEMPLATE always uses a print, the sched_stat_wait print format is defined in the template and this template is used by sched_stat_sleep and sched_stat_iowait. But the later two override the print format. Signed-off-by: Steven Rostedt commit e5bc9721684e9412f3e0465222f317c362a8ab47 Author: Steven Rostedt Date: Wed Nov 18 20:36:26 2009 -0500 tracing: Create new DEFINE_EVENT_PRINT After creating the TRACE_EVENT_TEMPLATE I started to look at other trace points to see what duplication was made. I noticed that there are several trace points where they are almost identical except for the name and the output format. Since TRACE_EVENT_TEMPLATE was successful in bringing down the size of trace events, I added a DEFINE_EVENT_PRINT. DEFINE_EVENT_PRINT is used just like DEFINE_EVENT is. That is, the DEFINE_EVENT_PRINT also uses a TRACE_EVENT_TEMPLATE, but it allows the developer to overwrite the print format. If there are two or more TRACE_EVENTS that are identical except for the name and print, then they can be converted to use a TRACE_EVENT_TEMPLATE. Since the TRACE_EVENT_TEMPLATE already does the print output, the first trace event would have its print format held in the TRACE_EVENT_TEMPLATE and be defined with a DEFINE_EVENT. The rest will use the DEFINE_EVENT_PRINT and override the print format. Converting the sched trace points to both DEFINE_EVENT and DEFINE_EVENT_PRINT. Five were converted to DEFINE_EVENT and two were converted to DEFINE_EVENT_PRINT. I was able to get the following: $ size kernel/sched.o-* text data bss dec hex filename 79299 6776 2520 88595 15a13 kernel/sched.o-notrace 101941 11896 2584 116421 1c6c5 kernel/sched.o-templ 104779 11896 2584 119259 1d1db kernel/sched.o-trace sched.o-notrace is the scheduler compiled with no trace points. sched.o-templ is with the use of DEFINE_EVENT and DEFINE_EVENT_PRINT sched.o-trace is the current trace events. Signed-off-by: Steven Rostedt commit 4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905 Merge: 3570021 18b6c9a Author: David S. Miller Date: Tue Nov 24 15:01:29 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 35700212b45ea9f98fa682cfc1bc1a67c9ccc34b Author: Joe Perches Date: Tue Nov 24 14:52:52 2009 -0800 net/ipv6: Move && and || to end of previous line Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit ff038f5c37c2070829004a0678372766c2b32180 Author: Steven Rostedt Date: Wed Nov 18 20:27:27 2009 -0500 tracing: Create new TRACE_EVENT_TEMPLATE There are some places in the kernel that define several tracepoints and they are all identical besides the name. The code to enable, disable and record is created for every trace point even if most of the code is identical. This patch adds TRACE_EVENT_TEMPLATE that lets the developer create a template TRACE_EVENT and create trace points with DEFINE_EVENT, which is based off of a given template. Each trace point used by this will share most of the code, and bring down the size of the kernel when there are several duplicate events. Usage is: TRACE_EVENT_TEMPLATE(name, proto, args, tstruct, assign, print); Which would be the same as defining a normal TRACE_EVENT. To create the trace events that the trace points will use: DEFINE_EVENT(template, name, proto, args) is done. The template is the name of the TRACE_EVENT_TEMPLATE to use. The name is the name of the trace point. The parameters proto and args must be the same as the proto and args of the template. If they are not the same, then a compile error will result. I tried hard removing this duplication but the C preprocessor is not powerful enough (or my CPP magic experience points is not at a high enough level) to not need them. A lot of trace events are coming in with new XFS development. Most of the trace points are identical except for the name. The following shows the advantage of having TRACE_EVENT_TEMPLATE: $ size fs/xfs/xfs.o.* text data bss dec hex filename 452114 2788 3520 458422 6feb6 fs/xfs/xfs.o.old 638482 38116 3744 680342 a6196 fs/xfs/xfs.o.template 996954 38116 4480 1039550 fdcbe fs/xfs/xfs.o.trace xfs.o.old is without any tracepoints. xfs.o.template uses the new TRACE_EVENT_TEMPLATE. xfs.o.trace uses the current TRACE_EVENT macros. Requested-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 5bf65b9ba67226eae9ffc398a0369fc4da35c259 Author: Yinghai Lu Date: Tue Nov 24 02:46:59 2009 -0800 x86, mtrr: Fix sorting of mtrr after subtracting In some cases we can coalesce MTRR entries after cleanup; this may allow us to have more entries. As such, introduce clean_sort_range to to sort and coaelsce the MTRR entries. Signed-off-by: Yinghai Lu LKML-Reference: <4B0BB9A3.5020908@kernel.org> Signed-off-by: H. Peter Anvin commit fe6126722718e51fba4879517c11ac12d9775bcc Author: Frederic Weisbecker Date: Tue Nov 24 20:38:22 2009 +0100 perf_events: Fix bad software/trace event recursion counting Commit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5 (perf_events: Undo some recursion damage) has introduced a bad reference counting of the recursion context. putting the context behaves like getting it, dropping every software/trace events after the first one in a context. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Arjan van de Ven Cc: Li Zefan Cc: Steven Rostedt LKML-Reference: <1259091502-5171-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c459302db655c1a7fd05fd4266b18990854e8386 Author: Ben Hutchings Date: Mon Nov 23 16:08:17 2009 +0000 sfc: Log interrupt and reset type names, not numbers Define name tables for these enumerations in a similar way as for loopback. Move the loopback name table together with them. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f5e7adc3d4aa8edab63bb63f0ce5fe92c3dd7604 Author: Ben Hutchings Date: Mon Nov 23 16:07:30 2009 +0000 sfc: Combine high-level header files All files that include ethtool.h, rx.h or tx.h are also including efx.h, and there is no good reason to separate out the few declarations they contain. Therefore fold them into efx.h. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 497f5ba3236425dbcf20b55452a013f1d3695ebb Author: Ben Hutchings Date: Mon Nov 23 16:07:05 2009 +0000 sfc: Remove redundant efx_xmit() function Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9bc183d7f90793e5e72f4dfd21a5877c6cd4da78 Author: Ben Hutchings Date: Mon Nov 23 16:06:47 2009 +0000 sfc: Remove unnecessary casts to struct sk_buff * At some point these casts were used to remove const qualification, but they are now unneeded. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit eb50c0d67fe3c5513c717c2dee6d9771c51be703 Author: Ben Hutchings Date: Mon Nov 23 16:06:30 2009 +0000 sfc: Gather link state fields in struct efx_nic into new struct efx_link_state Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e775fb93a880d218ce0b3fd405278dd78f86c405 Author: Ben Hutchings Date: Mon Nov 23 16:06:02 2009 +0000 sfc: Move all I2C stuff into struct falcon_board Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3759433db2f7340ddec3abd55ebb1178600d014e Author: Ben Hutchings Date: Mon Nov 23 16:05:45 2009 +0000 sfc: Move struct falcon_board into struct falcon_nic_data Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5c16a96c4f31a0be287c5db3f36d1099dea9b2bd Author: Ben Hutchings Date: Mon Nov 23 16:05:28 2009 +0000 sfc: Move definition of struct falcon_nic_data into falcon.h This is preparation for moving Falcon-specific state required by other Falcon-specific code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 278c0621fbc4ef52177969edb6f07352da816fdb Author: Ben Hutchings Date: Mon Nov 23 16:05:12 2009 +0000 sfc: Make board information explicitly Falcon-specific Rename struct efx_board to struct falcon_board. Introduce and use inline function to look up board info from struct efx_nic, in preparation for moving it. Move board init and fini calls into NIC probe and remove functions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 981fc1b4b8cc6bfe8c6f0c07052e25738d959c68 Author: Ben Hutchings Date: Mon Nov 23 16:04:23 2009 +0000 sfc: Rename efx_board::init_leds to init_phy and use for SFN4111T efx_board::init_leds was introduced as a second stage of initialisation because of the inter-dependency between the board and PHY. We want to move board initialisation into NIC probing, which is too early to use MDIO, so SFN4111T initialisation also needs to be split. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 398468ed1b5c61fe8bcbc8cc1ed323e3c23b58ef Author: Ben Hutchings Date: Mon Nov 23 16:03:45 2009 +0000 sfc: Use a single blink implementation Only some PHYs have firmware support for a LED blink mode, so we currently blink the others in a timer function. Since all PHYs have simple on and off modes, we don't gain anything by using multiple blink implementations. Also, since we have a process context there is no need to use a timer. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit dcf477b2d205abb8ccdb3b1cb668a0db2de202c0 Author: Ben Hutchings Date: Mon Nov 23 16:02:49 2009 +0000 sfc: SFT9001: Reset LED configuration correctly after blinking Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee Author: Ben Hutchings Date: Mon Nov 23 16:02:40 2009 +0000 sfc: Record RX queue number on GRO path Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1241e951af060c16cd851a83a045ca3a80288383 Author: Ben Hutchings Date: Mon Nov 23 16:02:25 2009 +0000 sfc: Move assertions and buffer cleanup earlier in efx_rx_packet_lro() This removes the need to use a label and goto, and makes the two branches mirror each other more closely. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3139e62827b9f2b9b553816de664edfe4573c954 Author: Ben Hutchings Date: Mon Nov 23 16:01:55 2009 +0000 sfc: Remove ridiculously paranoid assertions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d96d7dc9f19aafe4dd5f2f84d09653e14d2e8d8b Author: Ben Hutchings Date: Mon Nov 23 16:01:44 2009 +0000 sfc: Remove redundant gotos from __efx_rx_packet() This function no longer has any common cleanup code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9e0c8a5bab7190a31d6f2cba28999457dd4d9b7c Author: Ben Hutchings Date: Mon Nov 23 16:01:33 2009 +0000 sfc: Remove pointless abstraction of memory BAR number (2) Finish the job by removing the structure member. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e2f74f355e9e2914483db10c05d70e69e0b7ae04 Author: Thomas Renninger Date: Thu Nov 19 12:31:01 2009 +0100 [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface This interface is mainly intended (and implemented) for ACPI _PPC BIOS frequency limitations, but other cpufreq drivers can also use it for similar use-cases. Why is this needed: Currently it's not obvious why cpufreq got limited. People see cpufreq/scaling_max_freq reduced, but this could have happened by: - any userspace prog writing to scaling_max_freq - thermal limitations - hardware (_PPC in ACPI case) limitiations Therefore export bios_limit (in kHz) to: - Point the user that it's the BIOS (broken or intended) which limits frequency - Export it as a sysfs interface for userspace progs. While this was a rarely used feature on laptops, there will appear more and more server implemenations providing "Green IT" features like allowing the service processor to limit the frequency. People want to know about HW/BIOS frequency limitations. All ACPI P-state driven cpufreq drivers are covered with this patch: - powernow-k8 - powernow-k7 - acpi-cpufreq Tested with a patched DSDT which limits the first two cores (_PPC returns 1) via _PPC, exposed by bios_limit: # echo 2200000 >cpu2/cpufreq/scaling_max_freq # cat cpu*/cpufreq/scaling_max_freq 2600000 2600000 2200000 2200000 # #scaling_max_freq shows general user/thermal/BIOS limitations # cat cpu*/cpufreq/bios_limit 2600000 2600000 2800000 2800000 # #bios_limit only shows the HW/BIOS limitation CC: Pallipadi Venkatesh CC: Len Brown CC: davej@codemonkey.org.uk CC: linux@dominikbrodowski.net Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit cf3289d0e701b2f59123bf653c12722a7e32aedb Author: Alex Chiang Date: Tue Nov 17 20:27:08 2009 -0700 [CPUFREQ] make internal cpufreq_add_dev_* static No need to export these symbols; make them static. cpufreq_add_dev_policy cpufreq_add_dev_symlink cpufreq_add_dev_interface Signed-off-by: Alex Chiang Signed-off-by: Dave Jones commit 1cce76c2ac60df40b02bf747982fb3f00e68f50a Author: Rusty Russell Date: Tue Nov 17 14:39:53 2009 -0800 [CPUFREQ] use an enum for speedstep processor identification The "unsigned int processor" everywhere confused Rusty, leading to breakage when he passed in smp_processor_id(). Signed-off-by: Rusty Russell Acked-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit bbe237aafeaae37a1088f2a95ebe81ff81d9e646 Author: Mark Brown Date: Thu Nov 12 16:06:45 2009 +0000 [CPUFREQ] Document units for transition latency They're documented in the header but not in Documentation. Signed-off-by: Mark Brown Signed-off-by: Dave Jones commit 49b015ce38edeb484fb2efa09048c23e903f49d6 Author: Thomas Renninger Date: Thu Oct 1 19:49:28 2009 +0200 [CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings Same adustments that have been added to the ondemand recently. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 0cda8b91f2e096bbef1cb05f23c42e423eae7728 Author: Alex Chiang Date: Wed Oct 21 21:45:46 2009 -0600 [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/ This is a complex interface and is already described in Documentation/cpu-freq/, especially in the user-guide.txt file. No need to copy/paste all that information. Let's just alert the reader to the presence of the user-guide. Signed-off-by: Alex Chiang Signed-off-by: Dave Jones commit db2820dd5445a44b4726f15a2bc89b9ded2503eb Author: Krzysztof Helt Date: Sun Oct 25 19:45:57 2009 +0100 [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used Set the transition latency to value smaller than CPUFREQ_ETERNAL so governors other than "performance" work (like the "ondemand" one). The value is found in "AMD PowerNow! Technology Platform Design Guide for Embedded Processors" dated December 2000 (AMD doc #24267A). There is the answer to one of FAQs on page 40 which states that suggested complete transition period is 200 us. Tested on K6-2+ CPU with K6-3 core (model 13, stepping 4). Signed-off-by: Krzysztof Helt Signed-off-by: Dave Jones commit b8cbe7e82ec8b55d7bbdde66fc69e788fde00dc6 Author: Rusty Russell Date: Tue Nov 3 14:57:56 2009 +1030 [CPUFREQ] cpumask: don't put a cpumask on the stack in x86...cpufreq/powernow-k8.c It's still mugging the current process's cpumask, but as comment in 1ff6e97f1d says, it's not a trivial fix. So, at least we can use a cpumask_var_t to do the Wrong Thing the Right Way :) Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Cc: Mark Langsdorf Signed-off-by: Dave Jones commit 1261a02a0c0ab8e643125705f0d1d83e5090e4d1 Author: Stephane Eranian Date: Tue Nov 24 05:27:18 2009 -0800 perf_events, x86: Fix validate_event bug The validate_event() was failing on valid event combinations. The function was assuming that if x86_schedule_event() returned 0, it meant error. But x86_schedule_event() returns the counter index and 0 is a perfectly valid value. An error is returned if the function returns a negative value. Furthermore, validate_event() was also failing for event groups because the event->pmu was not set until after hw_perf_event_init(). Signed-off-by: Stephane Eranian Cc: peterz@infradead.org Cc: paulus@samba.org Cc: perfmon2-devel@lists.sourceforge.net Cc: eranian@gmail.com LKML-Reference: <4b0bdf36.1818d00a.07cc.25ae@mx.google.com> Signed-off-by: Ingo Molnar -- arch/x86/kernel/cpu/perf_event.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 26a26d329688ab018e068b412b03d43d7c299f0a Author: Russell King Date: Fri Nov 20 21:06:43 2009 +0000 ARM: dma-mapping: switch ARMv7 DMA mappings to retain 'memory' attribute On ARMv7, it is invalid to map the same physical address multiple times with different memory types. Since system RAM is already mapped as 'memory', subsequent remapping of it must retain this attribute. However, DMA memory maps it as "strongly ordered". Fix this by introducing 'pgprot_dmacoherent()' which provides the necessary page table bits for DMA mappings. Signed-off-by: Russell King Acked-by: Greg Ungerer Reviewed-by: Catalin Marinas commit acaac256b3a14a09ab278409a72d119f2d75b02b Author: Russell King Date: Fri Nov 20 18:19:52 2009 +0000 ARM: dma-mapping: get rid of setting/clearing the reserved page bit It's unnecessary; x86 doesn't do it, and ALSA doesn't require it anymore. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 31ebf94435f74294523683867fe0b89000e61521 Author: Russell King Date: Thu Nov 19 21:12:17 2009 +0000 ARM: dma-mapping: Factor out noMMU dma buffer allocation code This entirely separates the DMA coherent buffer remapping code from the allocation code, and gets rid of the duplicate copy in the !MMU section. Signed-off-by: Russell King Acked-by: Greg Ungerer commit ebd7a845fa4332da3ebcbe8cf1b09bb43413420e Author: Russell King Date: Thu Nov 19 20:58:31 2009 +0000 ARM: dma-mapping: clean up coherent arch dma allocation IXP23xx added support for dma_alloc_coherent() for DMA arches with an exception in dma_alloc_coherent(). This is a subset of what goes on in __dma_alloc(), and there is no reason why dma_alloc_writecombine() should not be given the same treatment (except, maybe, that IXP23xx doesn't use it.) We can better deal with this by moving the arch_is_coherent() test inside __dma_alloc() and killing the code duplication. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 88c58f3b92bc7c26439802c300d39b6377739d81 Author: Russell King Date: Thu Nov 19 16:46:02 2009 +0000 ARM: dma-mapping: move consistent_init into CONFIG_MMU section No point wrapping the contents of this function with #ifdef CONFIG_MMU when we can place it and the core_initcall() entirely within the existing conditional block. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 695ae0af5a52df09dffcc2ce2d625d56ef36ce14 Author: Russell King Date: Thu Nov 19 16:31:39 2009 +0000 ARM: dma-mapping: factor dma_free_coherent() common code We effectively have three implementations of dma_free_coherent() mixed up in the code; the incoherent MMU, coherent MMU and noMMU versions. The coherent MMU and noMMU versions are actually functionally identical. The incoherent MMU version is almost the same, but with the additional step of unmapping the secondary mapping. Separate out this additional step into __dma_free_remap() and simplify the resulting dma_free_coherent() code. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 04da56943b416dd9fe7058abf8d5b9153164b3e9 Author: Russell King Date: Thu Nov 19 15:54:45 2009 +0000 ARM: dma-mapping: fix nommu dma_alloc_coherent() The nommu version of dma_alloc_coherent was using kmalloc/kfree to manage the memory. dma_alloc_coherent() is expected to work with a granularity of a page, so this is wrong. Fix it by using the helper functions now provided. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 3e82d012e9281a0b6388ff2356e8396b9d781e1c Author: Russell King Date: Thu Nov 19 15:38:12 2009 +0000 ARM: dma-mapping: fix coherent arch dma_alloc_coherent() The coherent architecture dma_alloc_coherent was using kmalloc/kfree to manage the memory. dma_alloc_coherent() is expected to work with a granularity of a page, so this is wrong. Fix it by using the helper functions now provided. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 7a9a32a9533fa01de911e1d056142ddd27360782 Author: Russell King Date: Thu Nov 19 15:31:07 2009 +0000 ARM: dma-mapping: functions to allocate/free a coherent buffer Signed-off-by: Russell King Acked-by: Greg Ungerer commit 13ccf3ad99a45052664f2c1a6c64899f9d778152 Author: Russell King Date: Thu Nov 19 15:07:04 2009 +0000 ARM: dma-mapping: split out vmregion code from dma coherent mapping code Signed-off-by: Russell King Acked-by: Greg Ungerer commit ad85dfe67bbf13d5fa20764e4ce801a1e6e526d8 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 DRBD: Now the code is 8.3.6 + 3 fixes (without compat crap) Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d8c2a36b774defd4e230353d91f0f609c128bd78 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 Fixed a regression in resync decission code drbd_uuid_compare() [Bugz 260] Since 8.3.3 we fail to do the resync when a partial resynch is not possible, but a full synch is necessary. This regression was introduced with 7101539930c0a89146959e7a39c09ad9c3516434 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0b33a9164aca6332bf4a117af5528dea9675d782 Author: Lars Ellenberg Date: Mon Nov 16 15:58:04 2009 +0100 add missing state change on corrupt packet header in drbd_recv_header Otherwise the 'state fixup' in the receiver will change to Unconnected, but the receiver will terminate itself, and any attempt at 'down'ing that drbd later will block forever. see also Bugz. #259 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 6c6c7951be7652f86109f2193651b78d90907c0d Author: Lars Ellenberg Date: Mon Nov 16 15:48:54 2009 +0100 fix in-kernel configuration serialization this is uncritical, as we still also serialize in userland, but to correctly serialize on the CONFIG_PENDING bit, it must be wait_event(state_wait, \!test_and_set_bit) Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 3f0ca309858ee186435c608ee9eaafd1c8dcb53a Author: Wu Fengguang Date: Tue Nov 24 11:15:44 2009 -0500 ext4: remove unused parameter wbc from __ext4_journalled_writepage() CC: Jan Kara Signed-off-by: Wu Fengguang Signed-off-by: "Theodore Ts'o" commit b4d7241596ffb6398ac5535ae8cf80d845b0c254 Author: Wu Fengguang Date: Tue Nov 24 11:15:08 2009 -0500 ext4: remove encountered_congestion trace It is no longer set and scheduled to be removed. Signed-off-by: Wu Fengguang Signed-off-by: "Theodore Ts'o" commit fcf1203a919c3a3d212c0ed01f5240fd592bf5ae Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 13:01:52 2009 -0200 perf symbols: Rename find_symbol routines to find_function Paving the way for supporting variable in adition to function symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259074912-5924-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 727dad10c17cbaade3cb6a56bd4863a4630f4d13 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:17 2009 -0200 perf tools: Remove unused wrapper routines And also make xrealloc and xmalloc weak symbols so that we don't have this problem: /usr/lib/gcc/x86_64-redhat-linux/4.4.1/../../../../lib64/libiberty.a(xmalloc.o): In function `xrealloc': (.text+0xc0): multiple definition of `xrealloc' libperf.a(wrapper.o):/home/acme_unencrypted/git/linux-2.6-tip/tools/perf/util/wrapper.c:67: first defined here collect2: ld returned 1 exit status Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 364794845cbc49e638b83d7ef739524291e1e961 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:16 2009 -0200 perf tools: Introduce zalloc() for the common calloc(1, N) case This way we type less characters and it looks more like the kzalloc kernel counterpart. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b32d133aec5dc882cf783a293f393bfb3f4379e1 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:15 2009 -0200 perf symbols: Simplify symbol machinery setup And also express its configuration toggles via a struct. Now all one has to do is to call symbol__init(NULL) if the defaults are OK, or pass a struct symbol_conf pointer with the desired configuration. If a tool uses kernel_maps__find_symbol() to look at the kernel and modules mappings for a symbol but didn't call symbol__init() first, that will generate a one time warning too, alerting the subcommand developer that symbol__init() must be called. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 7cc017edb9459193d3b581155a14029e4bef0c49 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:14 2009 -0200 perf top: Always show the DSO column, even if its all the same Ingo found it confusing, and I agree with that, for 'perf report' its OK because it is static, but for a tool refreshing it the eventual switch from column to summary at the top may seem confusing. Suggested-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: <1259071517-3242-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e74328d3a17ed75ffdf72b86f289965823a47240 Author: John Kacur Date: Tue Nov 24 15:35:01 2009 +0100 perf tools: Use common process_event functions for annotate and report Prevent bit-rot in perf-annotate by using common functions where possible. Here we create process_events.[ch] to hold the common functions. Signed-off-by: John Kacur Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: acme@redhat.com LKML-Reference: <1259073301-11506-3-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit c9c7ccaf3a2686ed3a44d69bb1f8b55eeead8a4e Author: John Kacur Date: Tue Nov 24 15:35:00 2009 +0100 perf tools: Add perf.data to .gitignore Signed-off-by: John Kacur Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: acme@redhat.com LKML-Reference: <1259073301-11506-2-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit 1263d736a9031f3d943819662d4bad727d64bf24 Merge: 184d3da 12eac0b Author: Ingo Molnar Date: Tue Nov 24 16:36:03 2009 +0100 Merge branch 'perf/bench' into perf/core Merge reason: Looks mergable - ready it for the merge window. Signed-off-by: Ingo Molnar commit ac48b0a1d068887141581bea8285de5fcab182b0 Author: Akira Fujita Date: Tue Nov 24 10:31:56 2009 -0500 ext4: move_extent_per_page() cleanup Integrate duplicate lines (acquire/release semaphore and invalidate extent cache in move_extent_per_page()) into mext_replace_branches(), to reduce source and object code size. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3 Author: Kazuya Mio Date: Tue Nov 24 10:28:48 2009 -0500 ext4: initialize moved_len before calling ext4_move_extents() The move_extent.moved_len is used to pass back the number of exchanged blocks count to user space. Currently the caller must clear this field; but we spend more code space checking for this requirement than simply zeroing the field ourselves, so let's just make life easier for everyone all around. Signed-off-by: Kazuya Mio Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 94d7c16cbbbd0e03841fcf272bcaf0620ad39618 Author: Akira Fujita Date: Tue Nov 24 10:19:57 2009 -0500 ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT At the beginning of ext4_move_extent(), we call ext4_discard_preallocations() to discard inode PAs of orig and donor inodes. But in the following case, blocks can be double freed, so move ext4_discard_preallocations() to the end of ext4_move_extents(). 1. Discard inode PAs of orig and donor inodes with ext4_discard_preallocations() in ext4_move_extents(). orig : [ DATA1 ] donor: [ DATA2 ] 2. While data blocks are exchanging between orig and donor inodes, new inode PAs is created to orig by other process's block allocation. (Since there are semaphore gaps in ext4_move_extents().) And new inode PAs is used partially (2-1). 2-1 Create new inode PAs to orig inode orig : [ DATA1 | used PA1 | free PA1 ] donor: [ DATA2 ] 3. Donor inode which has old orig inode's blocks is deleted after EXT4_IOC_MOVE_EXT finished (3-1, 3-2). So the block bitmap corresponds to old orig inode's blocks are freed. 3-1 After EXT4_IOC_MOVE_EXT finished orig : [ DATA2 | free PA1 ] donor: [ DATA1 | used PA1 ] 3-2 Delete donor inode orig : [ DATA2 | free PA1 ] donor: [ FREE SPACE(DATA1) | FREE SPACE(used PA1) ] 4. The double-free of blocks is occurred, when close() is called to orig inode. Because ext4_discard_preallocations() for orig inode frees used PA1 and free PA1, though used PA1 is already freed in 3. 4-1 Double-free of blocks is occurred orig : [ DATA2 | FREE SPACE(free PA1) ] donor: [ FREE SPACE(DATA1) | DOUBLE FREE(used PA1) ] Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit a49ed0bf427a8328a3296eebedc7697fe5098dbf Author: Thomas Gleixner Date: Mon Nov 16 19:57:50 2009 +0100 locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init() SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated. Replace them with the __*_LOCK_UNLOCKED variants. Signed-off-by: Thomas Gleixner commit c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36 Author: Thomas Gleixner Date: Mon Nov 16 19:50:38 2009 +0100 locking: Remove unused prototype commit 910067d1(remove generic__raw_read_trylock()) removed the implementation but left the prototype around. Remove it. Signed-off-by: Thomas Gleixner commit a3a1de0c34de6f5f8332cd6151c46af7813c0fcb Author: Tim Blechmann Date: Tue Nov 24 11:55:15 2009 +0100 sched, x86: Optimize branch hint in __switch_to() Branch hint profiling on my nehalem machine showed 96% incorrect branch hints: 6548732 174664120 96 __switch_to process_64.c 406 6548745 174565593 96 __switch_to process_64.c 410 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBB93.3080307@klingt.org> Signed-off-by: Ingo Molnar commit 710390d90f143a9ebb87a475215140f426792efd Author: Tim Blechmann Date: Tue Nov 24 11:55:27 2009 +0100 sched: Optimize branch hint in context_switch() Branch hint profiling on my nehalem machine showed over 90% incorrect branch hints: 10420275 170645395 94 context_switch sched.c 3043 10408421 171098521 94 context_switch sched.c 3050 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBB9F.6080304@klingt.org> Signed-off-by: Ingo Molnar commit 36ace27e3e60d44ea69ce394b2e45386ae98d9d9 Author: Tim Blechmann Date: Tue Nov 24 11:55:45 2009 +0100 sched: Optimize branch hint in pick_next_task_fair() Branch hint profiling on my nehalem machine showed 90% incorrect branch hints: 15728471 158903754 90 pick_next_task_fair sched_fair.c 1555 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBBB1.2050100@klingt.org> Signed-off-by: Ingo Molnar commit b24c2a925a9837cccf54d50aeac22ba0cbc15455 Author: Yinghai Lu Date: Tue Nov 24 02:48:18 2009 -0800 x86: Move find_smp_config() earlier and avoid bootmem usage Move the find_smp_config() call to before bootmem is initialized. Use reserve_early() instead of reserve_bootmem() in it. This simplifies the code, we only need to call find_smp_config() once and can remove the now unneeded reserve parameter from x86_init_mpparse::find_smp_config. We thus also reduce x86's dependency on bootmem allocations. Signed-off-by: Yinghai Lu LKML-Reference: <4B0BB9F2.70907@kernel.org> Signed-off-by: Ingo Molnar commit 394168389c5770accf1d255fdfe45846ec121585 Author: Marek Szyprowski Date: Thu Nov 19 11:30:30 2009 +0100 ARM: 5791/1: ARM: MM: use 64bytes of L1 cache on plat S5PC1xx Samsung S5PC1xx SoCs are based on ARM Coretex8, which has 64 bytes of L1 cache line size. Enable proper handling of L1 cache on these SoCs. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Russell King commit b43149c168ce4069ce8828b1ceb8f7eb42bc4b82 Author: Linus Walleij Date: Tue Nov 10 08:33:01 2009 +0100 ARM: 5785/1: Use ST vendor enum instead of numeral This fixes a leftover instance of using the 0x80 numeral instead of the new AMBA_VENDOR_ST enum in the MMCI/PL180 driver. Signed-off-by: Linus Walleij Acked-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Russell King commit 43234b1ef630388c2cffb34eeeaa84dd731602cc Author: Hubert Feurstein Date: Tue Nov 17 18:10:48 2009 +0100 ARM: 5790/1: ep93xx: add missing newline between file header and code Just for the sake of consistency across the ep93xx-tree. Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 5b642b4def8b963bb852b45c50653cd43c919f51 Author: Hubert Feurstein Date: Tue Nov 17 18:08:53 2009 +0100 ARM: 5789/1: ep93xx: add missing file headers Just for the sake of consistency across the ep93xx-tree. Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 12f56c6889b02453fe050268e9c676e0f8678560 Author: Hartley Sweeten Date: Wed Oct 28 21:04:46 2009 +0100 ARM: 5775/1: ep93xx: add keypad core support Add the core support needed by the ep93xx matrix keypad driver. The keypad driver unfortunately was merged early and the core support is missing. The clkdev support has been resolved and is now merged. This adds the platform device to the ep93xx core and supplies the functions needed to acquire/free the gpio pins and actually enable/disable the controller peripheral. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit d5b7d8c22678a76f2855e0c1fe94bc3886859061 Merge: 78d7530 4998f1a Author: Russell King Date: Tue Nov 24 10:00:10 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit a014bbadb53121e243cac254593e79e3ca89742d Author: Clemens Ladisch Date: Mon Nov 16 12:26:30 2009 +0100 sound: usxxx: cleanup chip field The chip field is no longer needed. Move those of its fields that are actually used to the device structure itself. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d82af9f9aab69e82b86450272588c861364f8879 Author: Clemens Ladisch Date: Mon Nov 16 12:23:46 2009 +0100 sound: usb: make the USB MIDI module more independent Remove the dependecy from the USB MIDI code on the snd_usb_audio structure. This allows using the USB MIDI module from another driver without having to pretend to be the generic USB audio driver. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 96f61d9ade82f3e9503df36809175325e8f5eaca Author: Clemens Ladisch Date: Thu Oct 22 09:06:19 2009 +0200 sound: usb-audio: allow switching altsetting on Roland USB MIDI devices Add a mixer control to select between the two altsettings on Roland USB MIDI devices where the input endpoint is either bulk or interrupt. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0f09e197a39c081fa8c2752ee65919cb6cba963a Author: Paul Mundt Date: Tue Nov 24 17:56:17 2009 +0900 sh: Apply the sleazy FPU changes for SH-2A FPU as well. This plugs in the fpu_counter manipulation for the SH-2A side also. Signed-off-by: Paul Mundt commit d3ea9fa0a563620fe9f416f94bb8927c64390917 Author: Stuart Menefy Date: Fri Sep 25 18:25:10 2009 +0100 sh: Minor optimisations to FPU handling A number of small optimisations to FPU handling, in particular: - move the task USEDFPU flag from the thread_info flags field (which is accessed asynchronously to the thread) to a new status field, which is only accessed by the thread itself. This allows locking to be removed in most cases, or can be reduced to a preempt_lock(). This mimics the i386 behaviour. - move the modification of regs->sr and thread_info->status flags out of save_fpu() to __unlazy_fpu(). This gives the compiler a better chance to optimise things, as well as making save_fpu() symmetrical with restore_fpu() and init_fpu(). - implement prepare_to_copy(), so that when creating a thread, we can unlazy the FPU prior to copying the thread data structures. Also make sure that the FPU is disabled while in the kernel, in particular while booting, and for newly created kernel threads, In a very artificial benchmark, the execution time for 2500000 context switches was reduced from 50 to 45 seconds. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 39ac11c1607f1d566e7cf885acd403fa4f07f8a2 Author: Stuart Menefy Date: Tue Oct 27 15:14:06 2009 +0000 sh: Improve performance of SH4 versions of copy/clear_user_highpage The previous implementation of clear_user_highpage and copy_user_highpage checked to see if there was a D-cache aliasing issue between the user and kernel mappings of a page, but if there was they always did a flush with writeback on the dirtied kernel alias. However as we now have the ability to map a page into kernel space with the same cache colour as the user mapping, there is no need to write back this data. Currently we also invalidate the kernel alias as a precaution, however I'm not sure if this is actually required. Also correct the definition of FIX_CMAP_END so that the mappings created by kmap_coherent() are actually at the correct colour. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 95a618bdac29c7b0f1a516aec9fc37626dec1af9 Author: Einar Rünkaru Date: Mon Nov 23 22:23:49 2009 +0200 ALSA: hda - Make Dell Vostro 1015n mic and speaker switching work Dell Vostro 1015n uses Conexant CX20583-10Z (0x14f1:5067). Patch is based on "olpc-xo-1_5" branch. Dell uses digital mic. Signed-off-by: Einar Rünkaru Signed-off-by: Takashi Iwai commit 83dd7408b59c1945069199d712df8c7c64a76e1f Author: Takashi Iwai Date: Tue Nov 24 08:57:53 2009 +0100 Revert "ALSA: hda - Change quirk for Acer Aspire 5930G" This reverts commit f2624791a0c2a2d7664b12d75ca327917141fd3b. Łukasz Wojniłowicz reported that the change causes both internal and external mics not working any more. The headphone jacking issue was fixed by his previous patch, it's better to revert to acer-aspire-4930g model. Reported-by: Łukasz Wojniłowicz Signed-off-by: Takashi Iwai commit 184d3da8ef0ca552dffa0fdd35c046e058a2cf9a Author: Stephane Eranian Date: Mon Nov 23 21:40:49 2009 -0800 perf_events: Fix bogus copy_to_user() in perf_event_read_group() When using an event group, the value and id for non leaders events were wrong due to invalid offset into the outgoing buffer. Signed-off-by: Stephane Eranian Acked-by: Peter Zijlstra Cc: paulus@samba.org Cc: perfmon2-devel@lists.sourceforge.net LKML-Reference: <4b0b71e1.0508d00a.075e.ffff84a3@mx.google.com> Signed-off-by: Ingo Molnar commit b23d5767a5818caec8547d0bce1588b02bdecd30 Author: Li Zefan Date: Tue Nov 24 13:27:11 2009 +0800 perf kmem: Add help file Add Documentation/perf-kmem.txt Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6EAF.80802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 079d3f653134e2f2ac99dae28b08c0cc64268103 Author: Li Zefan Date: Tue Nov 24 13:26:55 2009 +0800 perf kmem: Measure kmalloc/kfree CPU ping-pong call-sites Show statistics for allocations and frees on different cpus: ------------------------------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag ------------------------------------------------------------------------------------------------------ perf_event_alloc.clone.0+0 | 7504/682 | 7128/648 | 11 | 0 | 5.011% alloc_buffer_head+16 | 288/57 | 280/56 | 5 | 0 | 2.778% radix_tree_preload+51 | 296/296 | 288/288 | 1 | 0 | 2.703% tracepoint_add_probe+32e | 157/31 | 154/30 | 5 | 0 | 1.911% do_maps_open+0 | 796/12 | 792/12 | 66 | 0 | 0.503% sock_alloc_send_pskb+16e | 23780/495 | 23744/494 | 48 | 38 | 0.151% anon_vma_prepare+9a | 3744/44 | 3740/44 | 85 | 0 | 0.107% d_alloc+21 | 64948/164 | 64944/164 | 396 | 0 | 0.006% proc_alloc_inode+23 | 262292/676 | 262288/676 | 388 | 0 | 0.002% create_object+28 | 459600/200 | 459600/200 | 2298 | 71 | 0.000% journal_start+67 | 14440/40 | 14440/40 | 361 | 0 | 0.000% get_empty_filp+df | 53504/256 | 53504/256 | 209 | 0 | 0.000% getname+2a | 823296/4096 | 823296/4096 | 201 | 0 | 0.000% seq_read+2b0 | 544768/4096 | 544768/4096 | 133 | 0 | 0.000% seq_open+6d | 17024/128 | 17024/128 | 133 | 0 | 0.000% mmap_region+2e6 | 11704/88 | 11704/88 | 133 | 0 | 0.000% single_open+0 | 1072/16 | 1072/16 | 67 | 0 | 0.000% __alloc_skb+2e | 12544/256 | 12544/256 | 49 | 38 | 0.000% __sigqueue_alloc+4a | 1296/144 | 1296/144 | 9 | 8 | 0.000% tracepoint_add_probe+6f | 80/16 | 80/16 | 5 | 0 | 0.000% ------------------------------------------------------------------------------------------------------ ... Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E9F.6020309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7d0d39459dab20bf60cac30a1a7d50b286c60cc1 Author: Li Zefan Date: Tue Nov 24 13:26:31 2009 +0800 perf kmem: Collect cross node allocation statistics Show cross node memory allocations: # ./perf kmem SUMMARY ======= ... Cross node allocations: 0/3633 Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E87.10906@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 29b3e15289eb66788a0bf5ea4903f9fbeb1ec751 Author: Li Zefan Date: Tue Nov 24 13:26:10 2009 +0800 perf kmem: Default to sort by fragmentation Make the output sort by fragmentation by default. Also make the usage of "--sort" option consistent with other perf tools. That is, we support multi keys: "--sort key1[,key2]...". # ./perf kmem --stat caller ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ __netdev_alloc_skb+23 | 5048/1682 | 4564/1521 | 3| 9.588% perf_event_alloc.clone.0+0 | 7504/682 | 7128/648 | 11| 5.011% tracepoint_add_probe+32e | 157/31 | 154/30 | 5| 1.911% alloc_buffer_head+16 | 456/57 | 448/56 | 8| 1.754% radix_tree_preload+51 | 584/292 | 576/288 | 2| 1.370% ... TODO: - Extract duplicate code in builtin-kmem.c and builtin-sched.c into util/sort.c. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E72.7010200@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7707b6b6f8d9188b612f9fc88c65411264b1ed57 Author: Li Zefan Date: Tue Nov 24 13:25:48 2009 +0800 perf kmem: Add new option to show raw ip Add option "--raw-ip" to show raw ip instead of symbols: # ./perf kmem --stat caller --raw-ip ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ 0xc05301aa | 733184/4096 | 733184/4096 | 179| 0.000% 0xc0542ba0 | 483328/4096 | 483328/4096 | 118| 0.000% ... Also show symbols with format sym+offset instead of sym/offset. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E5C.4080900@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 4998f1a30cf8e21c5bc0766fde4fa58e1adabd72 Author: Sascha Hauer Date: Wed Nov 18 15:21:44 2009 +0100 mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer This is useful for audio where we do not want to setup a new scatterlist after playing 4GB of audio data. This would cause skips in the playback. Signed-off-by: Sascha Hauer commit 74b2a70e34c69687f82b1319a358b21afeea497c Author: Sascha Hauer Date: Thu Nov 12 14:09:39 2009 +0100 i.MX31 clock: rename SSI clocks to driver name Signed-off-by: Sascha Hauer commit 654166d6879ed1e4df9815d04e6a358adf1259a6 Author: Sascha Hauer Date: Thu Oct 29 17:18:02 2009 +0100 mxc: iomux v3: remove resource handling The current model does not allow to put a pad into different modes once a pins is allocated. Remove the resource handling. Signed-off-by: Sascha Hauer commit c6e7c0e20d0ece2825389f5e24684490a440c427 Author: Sascha Hauer Date: Thu Nov 12 14:02:22 2009 +0100 mx3: Add SSI pins to iomux table Signed-off-by: Sascha Hauer commit d67d107586fa2c6fe4237292d58fb3787c75c6d1 Author: Valentin Longchamp Date: Mon Nov 23 19:16:37 2009 +0100 mx31moboard: support for usbh1 and usbh2 Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 33c4d91928bea4444b067e620496befbeb87029c Author: Valentin Longchamp Date: Mon Nov 23 19:16:36 2009 +0100 mx31moboard: SPI corrections Adds requirement for ADC on mc13783 and moves the spidev declaration to marxbot file. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit ee3d250446f1c1be4eceab48f3a23794d9a6564c Author: Paul Mackerras Date: Tue Nov 24 15:19:43 2009 +1100 perf tools: Fix compilation on powerpc Currently, perf fails to compile on powerpc with this error: CC util/header.o In file included from util/../perf.h:17, from util/header.c:9: util/../../../arch/powerpc/include/asm/unistd.h:360:27: error: linux/linkage.h: No such file or directory make: *** [util/header.o] Error 1 The reason is that we still have a #define __KERNEL__ in effect at the point where gets included, which means we get extra stuff that we don't need or want. This fixes the problem by undefining __KERNEL__ once we have included the file for which we need __KERNEL__ defined. Signed-off-by: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <19211.24287.453183.78836@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 49fb2cd2571e0134e5a12c5abab227696e4940c7 Merge: dfc3494 260af56 Author: Paul Mundt Date: Tue Nov 24 16:32:11 2009 +0900 Merge branch 'master' into sh/st-integration commit dfc349402de8e95f6a42e8341e9ea193b718eee3 Author: Stuart Menefy Date: Tue Oct 27 15:14:06 2009 +0000 sh: Optimised memset for SH4 Optimised version of memset for the SH4 which uses movca.l. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9e554540f8686d546639d1594a8259896c39633d Author: Valentin Longchamp Date: Mon Nov 23 19:16:35 2009 +0100 mx31: pins used for mx31moboard USB Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit a0458b07c17a10ea316e6ae65ab15b78bf5f44ee Author: Giuseppe CAVALLARO Date: Tue Jul 7 16:25:10 2009 +0200 sh: add sleazy FPU optimization sh port of the sLeAZY-fpu feature currently implemented for some architectures such us i386. Right now the SH kernel has a 100% lazy fpu behaviour. This is of course great for applications that have very sporadic or no FPU use. However for very frequent FPU users... you take an extra trap every context switch. The patch below adds a simple heuristic to this code: after 5 consecutive context switches of FPU use, the lazy behavior is disabled and the context gets restored every context switch. After 256 switches, this is reset and the 100% lazy behavior is returned. Tests with LMbench showed no regression. I saw a little improvement due to the prefetching (~2%). The tests below also show that, with this sLeazy patch, indeed, the number of FPU exceptions is reduced. To test this. I hacked the lat_ctx LMBench to use the FPU a little more. sLeasy implementation =========================================== switch_to calls | 79326 sleasy calls | 42577 do_fpu_state_restore calls| 59232 restore_fpu calls | 59032 Exceptions: 0x800 (FPU disabled ): 16604 100% Leazy (default implementation) =========================================== switch_to calls | 79690 do_fpu_state_restore calls | 53299 restore_fpu calls | 53101 Exceptions: 0x800 (FPU disabled ): 53273 Signed-off-by: Giuseppe Cavallaro Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 949cb6232d5fc9fa77cfa441418e12d6f9de163e Author: Artem Bityutskiy Date: Tue Oct 20 10:21:45 2009 +0300 MAINTAINERS: change e-mail of Artem Bityutskiy Nowadays I have all my comunity-related stuff at gmail, so update my e-mail address. Signed-off-by: Artem Bityutskiy commit 774888bcd646c7055ac69ad4fd0c0fff0827ee39 Author: Christoph Hellwig Date: Wed Sep 30 22:17:16 2009 +0200 UBIFS: remove manual O_SYNC handling generic_file_aio_write already calls into ->fsync to handle O_SYNC/O_DSYNC. Remove the duplicate call to ubifs_sync_wbufs_by_inode which is already covered by ubifs_fsync. Signed-off-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit 9722324e65a017ea0ce39236a2f87c649bb7c39d Author: Corentin Chary Date: Mon Sep 28 21:10:12 2009 +0200 UBIFS: support mounting of UBI volume character devices This patch makes it possible to mount UBI character device nodes, and use something like: $ mount -t ubifs /dev/ubi_volume_name /mnt/ubifs instead of the old restrictive 'nodev' semantics: $ mount -t ubifs ubi0_0 /mnt/ubifs [Comments and the patch were amended a bit by Artem] Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit b57102841846d9840dcb1b8b308f6d7369b8e5c5 Author: Corentin Chary Date: Mon Sep 28 21:10:11 2009 +0200 UBI: Add ubi_open_volume_path Add an 'ubi_open_volume_path(path, mode)' function which works like 'open_bdev_exclusive(path, mode, ...)' where path is the special file representing the UBI volume, typically /dev/ubi0_0. This is needed to teach UBIFS being able to mount UBI character devices. [Comments and the patch were amended a bit by Artem] Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 1e43bee9c70654b4d52472c19e5f0a0cc18b6b36 Merge: 7d6709a a8a8a66 Author: Benjamin Herrenschmidt Date: Tue Nov 24 17:16:30 2009 +1100 Merge commit 'origin/master' into next commit 7d6709a20866a885916214590b7c394a21be9e25 Author: Benjamin Herrenschmidt Date: Tue Nov 24 16:06:48 2009 +1100 powerpc: Fix build of some FSL platforms Commit 87ec0e98cfdd8b68da6a7f9e70142ffc0e404fbb in kumar's next branch broke one of my test configs since it looks like Anton forgot about that mpc832x_rdb platform which still uses the old style probing for the SPI stuff. I'll let them do a cleaner fix that probably involves changing the probing method and getting rid of the platform device but for now this will do to fix it. Signed-off-by: Benjamin Herrenschmidt commit dad2f2fb0fc74afb634beba8c57bb34bb862d4c6 Author: arnd@arndb.de Date: Mon Nov 23 03:25:06 2009 +0000 powerpc: Fix wrong error code from ppc32 select syscall This patch was submitted, discussed, and eventually Acked by everyone, yet still isn't in the tree. See: http://patchwork.ozlabs.org/patch/1240/ Signed-off-by: Josh Boyer Cc: Arnd Bergmann Cc: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 2d7cf3ef879b22bdfd271aa3b66733c53279e813 Author: Becky Bruce Date: Mon Nov 23 12:28:53 2009 +0000 powerpc: Fix DEBUG_HIGHMEM build break from d4515646699 Code was added to mm/higmem.c that depends on several kmap types that powerpc does not support. We add dummy invalid definitions for KM_NMI, KM_NM_PTE, and KM_IRQ_PTE. According to list discussion, this fix should not be needed anymore starting with 2.6.33. The code is commented to this effect so hopefully we will remember to remove this. Signed-off-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 7c31629fd60037c5eb2b8fd0e6def9fe097fa28e Author: FUJITA Tomonori Date: Sat Nov 14 03:31:43 2009 +0000 powerpc: Kill unused swiotlb variable We can kill unused swiotlb variable. Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit c38c2044b2b49820a09ac904bdb6f03cdda6e885 Author: Stephen Rothwell Date: Thu Nov 12 18:54:13 2009 +1100 powerpc: do not export pci_alloc/free_consistent Since they are static inline functions. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit a0592d42fe3e12966db02f5c41f1edae2e59c490 Author: Benjamin Herrenschmidt Date: Tue Nov 10 15:13:15 2009 +0000 powerpc: kill the obsolete code under is_global_init() The code under "if (is_global_init())" is bogus, and is_global_init() itself is not right in mt case. Contrary to what the comment says, nowadays force_sig_info() does kill init even if the handler is SIG_DFL. Note that force_sig_info() clears SIGNAL_UNKILLABLE exactly for this case. Signed-off-by: Oleg Nesterov Signed-off-by: Benjamin Herrenschmidt commit b3a222e52e4d4be77cc4520a57af1a4a0d8222d1 Author: Serge E. Hallyn Date: Mon Nov 23 16:21:30 2009 -0600 remove CONFIG_SECURITY_FILE_CAPABILITIES compile option As far as I know, all distros currently ship kernels with default CONFIG_SECURITY_FILE_CAPABILITIES=y. Since having the option on leaves a 'no_file_caps' option to boot without file capabilities, the main reason to keep the option is that turning it off saves you (on my s390x partition) 5k. In particular, vmlinux sizes came to: without patch fscaps=n: 53598392 without patch fscaps=y: 53603406 with this patch applied: 53603342 with the security-next tree. Against this we must weigh the fact that there is no simple way for userspace to figure out whether file capabilities are supported, while things like per-process securebits, capability bounding sets, and adding bits to pI if CAP_SETPCAP is in pE are not supported with SECURITY_FILE_CAPABILITIES=n, leaving a bit of a problem for applications wanting to know whether they can use them and/or why something failed. It also adds another subtly different set of semantics which we must maintain at the risk of severe security regressions. So this patch removes the SECURITY_FILE_CAPABILITIES compile option. It drops the kernel size by about 50k over the stock SECURITY_FILE_CAPABILITIES=y kernel, by removing the cap_limit_ptraced_target() function. Changelog: Nov 20: remove cap_limit_ptraced_target() as it's logic was ifndef'ed. Signed-off-by: Serge E. Hallyn Acked-by: Andrew G. Morgan" Signed-off-by: James Morris commit 3aa565f53c396914a9406388efaa238e9c937fc6 Author: Gautham R Shenoy Date: Thu Oct 29 19:22:53 2009 +0000 powerpc/pseries: Add hooks to put the CPU into an appropriate offline state When a CPU is offlined on POWER currently, we call rtas_stop_self() and hand the CPU back to the resource pool. This path is used for DLPAR which will cause a change in the LPAR configuration which will be visible outside. This patch changes the default state a CPU is put into when it is offlined. On platforms which support ceding the processor to the hypervisor with latency hint specifier value, during a cpu offline operation, instead of calling rtas_stop_self(), we cede the vCPU to the hypervisor while passing a latency hint specifier value. The Hypervisor can use this hint to provide better energy savings. Also, during the offline operation, the control of the vCPU remains with the LPAR as oppposed to returning it to the resource pool. The patch achieves this by creating an infrastructure to set the preferred_offline_state() which can be either - CPU_STATE_OFFLINE: which is the current behaviour of calling rtas_stop_self() - CPU_STATE_INACTIVE: which cedes the vCPU to the hypervisor with the latency hint specifier. The codepath which wants to perform a DLPAR operation can set the preferred_offline_state() of a CPU to CPU_STATE_OFFLINE before invoking cpu_down(). The patch also provides a boot-time command line argument to disable/enable CPU_STATE_INACTIVE. Signed-off-by: Gautham R Shenoy Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 69ddb57cbea0b3dd851ea5f1edd1e609ad4da04e Author: Gautham R Shenoy Date: Thu Oct 29 19:22:48 2009 +0000 powerpc/pseries: Add extended_cede_processor() helper function. This patch provides an extended_cede_processor() helper function which takes the cede latency hint as an argument. This hint is to be passed on to the hypervisor to cede to the corresponding state on platforms which support it. Signed-off-by: Gautham R Shenoy Signed-off-by: Arun R Bharadwaj Signed-off-by: Benjamin Herrenschmidt commit d95cacc599a79d87052b3975f60cae62c04dc01f Author: Anton Blanchard Date: Tue Oct 20 20:06:21 2009 +0000 powerpc: Move ehea hcall definitions into hvcall.h Move ehea hcall definitions into hvcall.h. Signed-off-by: Anton Blanchard Acked-by: Thomas Klein Signed-off-by: Benjamin Herrenschmidt commit b27df67248d3ae61d7814f18e363954254935090 Author: Thomas Gleixner Date: Wed Nov 18 23:44:21 2009 +0000 powerpc: Fixup last users of irq_chip->typename The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 293cfa44c3a861d63c77923667206356c4756ae0 Author: Thomas Gleixner Date: Fri Nov 6 12:41:46 2009 +0000 powerpc: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Init the lock array at runtime instead. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Tested-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 0b048c7a1d7f65e3e3f77834c03237be9d6d94b7 Author: Thomas Gleixner Date: Thu Oct 15 10:28:38 2009 +0000 macintosh: Remove BKL from nvram driver Drop the bkl from nvram_llseek() as it obviously protects nothing. The file offset is safe in essence. The ioctl can be converted to unlocked_ioctl because it just calls pmac_get_partition() which reads a value from an array which was initialized at early boot time. No need for serialization. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 3b03fecd12c4f2a0a3ea33612606320ad23e64fe Author: Thomas Gleixner Date: Wed Oct 14 22:42:28 2009 +0000 powerpc: Use unlocked ioctl in nvram_64 The ioctl is only used for powermac systems and reads a partition number from an array which is initialized at boot time way before the nvram code is initialized. So it's safe to switch to unlocked_ioctl. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 17e376756169af818c2e1c230502167cd1571a6c Author: roel kluin Date: Wed Oct 14 05:32:28 2009 +0000 powerpc/spufs: Fix test in spufs_switch_log_read() size_t len cannot be less than 0. Signed-off-by: Roel Kluin Acked-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 0bce95279909aa4cc401a2e3140b4295ca22e72a Author: Eric Paris Date: Mon Nov 23 16:47:23 2009 -0500 SELinux: print denials for buggy kernel with unknown perms Historically we've seen cases where permissions are requested for classes where they do not exist. In particular we have seen CIFS forget to set i_mode to indicate it is a directory so when we later check something like remove_name we have problems since it wasn't defined in tclass file. This used to result in a avc which included the permission 0x2000 or something. Currently the kernel will deny the operations (good thing) but will not print ANY information (bad thing). First the auditdeny field is no extended to include unknown permissions. After that is fixed the logic in avc_dump_query to output this information isn't right since it will remove the permission from the av and print the phrase "". This takes us back to the behavior before the classmap rewrite. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9632b41f00cc2fb2846569cc99dbeef78e5c94a0 Author: Adam Jackson Date: Mon Nov 23 14:23:07 2009 -0500 drm/modes: Fall back to 1024x768 instead of 800x600 This matches the X server's fallback modes when using RANDR 1.2. See also: http://bugzilla.redhat.com/538761 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 862b89c069cafded4e31029be511f2e0b58d9c5f Author: Adam Jackson Date: Mon Nov 23 14:23:06 2009 -0500 drm/edid: Fix up partially corrupted headers We'll still fail the block if it fails the EDID checksum though. See also: http://bugzilla.redhat.com/534120 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit 47ee4ccf745ea88ee1aadcf5895d91af3b73ea64 Author: Adam Jackson Date: Mon Nov 23 14:23:05 2009 -0500 drm/edid: Retry EDID fetch up to four times This matches the X server's retry logic. Note that we'll only retry if we get a DDC response but fail validation; legitimately disconnected outputs will bomb out early. See also: http://bugzilla.redhat.com/532957 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit f985dedb57bae741b4326415f72fe1a1e556563b Author: Adam Jackson Date: Mon Nov 23 14:23:04 2009 -0500 drm/modes: Limit fallback modes to 60Hz See also: http://bugzilla.redhat.com/514600 Signed-off-by: Adam Jackson Signed-off-by: Dave Airlie commit eb41c8be89dbe079f49202774e04a79ccac48a09 Author: H. Peter Anvin Date: Mon Nov 23 14:46:07 2009 -0800 x86, platform: Change is_untracked_pat_range() to bool; cleanup init - Change is_untracked_pat_range() to return bool. - Clean up the initialization of is_untracked_pat_range() -- by default, we simply point it at is_ISA_range() directly. - Move is_untracked_pat_range to the end of struct x86_platform, since it is the newest field. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner Cc: Jack Steiner LKML-Reference: <20091119202341.GA4420@sgi.com> commit 65f116f5f16dc3371fce24fb24bc4843b5380ba5 Author: H. Peter Anvin Date: Mon Nov 23 14:44:39 2009 -0800 x86: Change is_ISA_range() into an inline function Change is_ISA_range() from a macro to an inline function. This makes it type safe, and also allows it to be assigned to a function pointer if necessary. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner LKML-Reference: <20091119202341.GA4420@sgi.com> commit 8a27138924f64d2f30c1022f909f74480046bc3f Author: H. Peter Anvin Date: Mon Nov 23 14:49:20 2009 -0800 x86, mm: is_untracked_pat_range() takes a normal semiclosed range is_untracked_pat_range() -- like its components, is_ISA_range() and is_GRU_range(), takes a normal semiclosed interval (>=, <) whereas the PAT code called it as if it took a closed range (>=, <=). Fix. Although this is a bug, I believe it is non-manifest, simply because none of the callers will call this with non-page-aligned addresses. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner Acked-by: Suresh Siddha LKML-Reference: <20091119202341.GA4420@sgi.com> commit 55a6ca25472ee01574bfc24d23b7f5fa09cc38cf Author: H. Peter Anvin Date: Mon Nov 23 15:12:07 2009 -0800 x86, mm: Call is_untracked_pat_range() rather than is_ISA_range() Checkin fd12a0d69aee6d90fa9b9890db24368a897f8423 made the PAT untracked range a platform configurable, but missed on occurrence of is_ISA_range() which still refers to PAT-untracked memory, and therefore should be using the configurable. Signed-off-by: H. Peter Anvin Cc: Jack Steiner Cc: Suresh Siddha LKML-Reference: <20091119202341.GA4420@sgi.com> commit fa7c27ee9394fc0d52404b2a89882e95868a60b9 Author: Frederic Weisbecker Date: Mon Nov 23 22:30:12 2009 +0100 hw-breakpoints: Fix misordered ifdef Fix a misplaced ifdef. We need the perf event headers also in off-case to avoid the following build error: include/linux/hw_breakpoint.h:94: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:102: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:109: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:116: error: expected declaration specifiers or '...' before 'perf_callback_t' Reported-by: Kisskb-bot by Michael Ellerman Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1259011812-8093-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit d67ebe72c9ce525019db9139153b55247d34b0a4 Merge: ab2f489 59e1d49 Author: Benjamin Herrenschmidt Date: Tue Nov 24 10:02:16 2009 +1100 Merge commit 'jwb/next' into next commit 3666ed1c4837fd6906da0224c5373d7a2186a193 Author: Joe Perches Date: Mon Nov 23 23:17:06 2009 +0100 netfilter: net/ipv[46]/netfilter: Move && and || to end of previous line Compile tested only. Signed-off-by: Joe Perches Signed-off-by: Patrick McHardy commit 18b6c9a2213d3b6e0212e8b225abf95f7564206a Author: John W. Linville Date: Mon Nov 23 16:15:19 2009 -0500 ath9k: set ps_default as false Copied from original one-line patch here: http://bugzilla.kernel.org/show_bug.cgi?id=14267#c26 (This is for 2.6.33 and beyond, where the bool was changed to a flag by "cfg80211: convert bools into flags". -- JWL) Signed-off-by: John W. Linville commit e33761e6f23881de9f3ee77cc2204ab2e26f3d9a Author: Michael Buesch Date: Mon Nov 23 20:58:06 2009 +0100 ssb: Fix range check in sprom write The range check in the sprom image parser hex2sprom() is broken. One sprom word is 4 hex characters. This fixes the check and also adds much better sanity checks to the code. We better make sure the image is OK by doing some sanity checks to avoid bricking the device by accident. Signed-off-by: Michael Buesch Cc: stable@kernel.org Signed-off-by: John W. Linville commit 3ba6018aa314559c5867138a8173b068268a70db Author: Michael Buesch Date: Mon Nov 23 20:12:13 2009 +0100 ssb: Fix SPROM writing The SPROM writing routines were broken since we rewrote the suspend handling on wireless devices, because SPROM writing depended on suspend. This patch changes it and freezes devices with the driver remove(), probe() callbacks instead. This also simplifies the whole logics a lot. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 77593ae28c4c134eaf28ef34ecac3cd4464ecd6e Author: Jussi Kivilinna Date: Sun Nov 22 20:16:47 2009 +0200 rndis_wlan: disable stall workaround Stall workaround doesn't work with bcm4320a devices like with bcm4320b. This workaround actually causes more stalls/device freeze on bcm4320a. Therefore disable stall workaround by default. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c1f8ca1d837148bf061d6ffa2038366e3cf0e4d7 Author: Jussi Kivilinna Date: Sun Nov 22 20:16:42 2009 +0200 rndis_wlan: fix buffer overflow in rndis_query_oid rndis_query_oid overwrites *len which stores buffer size to return full size of received command and then uses *len with memcpy to fill buffer with command. Ofcourse memcpy should be done before replacing buffer size. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 841507f5c1a5d2f196afb12e95eb11914f029832 Author: Jaswinder Singh Rajput Date: Sun Nov 22 13:47:58 2009 +0530 mac80211: Fix missing kernel-doc notation Fix the following htmldocs warnings: Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk' Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk' Signed-off-by: Jaswinder Singh Rajput Cc: Johannes Berg Cc: John W. Linville Cc: Randy Dunlap Cc: David Miller Signed-off-by: John W. Linville commit 3681165235aae95a2e6d5407bb4e9426d68a37dd Author: Wey-Yi Guy Date: Fri Nov 20 12:05:09 2009 -0800 iwlwifi: remove reset led_tpt from iwl_leds_init() Current blinking rate is calculated based on the difference between current tx/rx byte counts and priv->led_tpt. priv->led_tpt should not get reset in iwl_leds_init(), this function can be called by bring interface "up" or "down", or when uCode sysassert occurred. resetting the led_tpt parameter will introduce incorrect led blinking behavior. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2d237f71b00bdc9044b5853d79f8cbef6c8df3ed Author: Wey-Yi Guy Date: Fri Nov 20 12:05:08 2009 -0800 iwlwifi: change message for cmd queue full error Change error message for command queue full Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c341ddb283b9e1a6d217e73fa36738629ca8f4fb Author: Wey-Yi Guy Date: Fri Nov 20 12:05:07 2009 -0800 iwlwifi: print limited number of event log when uCode error To help iwlagn uCode debugging, event log will dump to syslog when driver detect uCode error occurred, but this only happen when compile with CONFIG_IWLWIFI_DEBUG and debug flag is enabled; which is not always the case. Also, there is another problem, if the flag is set, the entire event log buffer will be dump to syslog, it can flood the syslog and make it very difficult to debug the problem. Change the default to only dump last 20 entries of event log to syslog unless the following condition meets: 1. both compile with CONFIG_IWLWIFI_DEBUG and debug flag is enabled, and then dump the entire event buffer to syslog. 2. dump event log request from debugfs Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 644c77f0cfa333e58fd4a09450434e89a52d8931 Author: Jay Sternberg Date: Fri Nov 20 12:05:06 2009 -0800 iwlwifi: Tell the ucode immediately when association state changes When we get a state change of associated or not, we need to tell the ucode via the RX_ON command using the filter flags. This will prevent the ucode from sending any packets when not associated, specifically not sending NULL QOS packets after a deauthentication which causes the AP to repeatedly send deauth's in some situations. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a3ff72c18085563ce64f7456ae3afff3a83397e Author: Wey-Yi Guy Date: Fri Nov 20 12:05:05 2009 -0800 iwlwifi: dump error log when uCode error occurred uCode error log contain information as to what the error was and where it occurred necessary to debug any uCode issues. Always log the information without special debug flag, this can help to capture the important information when error happened. Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ade1e4dd1df436c3a441d17321c24aac8497306 Author: Wey-Yi Guy Date: Fri Nov 20 12:05:04 2009 -0800 iwlwifi: by default, dump entire sram data portion For "sram" debugfs file, if user did not specify the offset and length, dump the entire data portion of sram by default. Data portion is 0x800000 - 0x80ffff, but the actual data size is known to the driver from the ucode file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ac592574a577162183b5c1dd040a188caa068a29 Author: Wey-Yi Guy Date: Fri Nov 20 12:05:03 2009 -0800 iwlwifi: update supported PCI_ID list for 5xx0 series Update the PCI_ID list for 5xx0 series. Remove all the PCI_IDs which never made into production or not longer in production. Also make sure the supported bands(a/b/g/n) match specified PCI_IDs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0fd95afc7b8ae19045dc03ffeafb3afda78cb681 Author: Johannes Berg Date: Fri Nov 20 12:05:02 2009 -0800 iwlwifi: separate IO tracing Since IO tracing is usually not needed and generates a lot of data, separate it into its own trace system so that we can always enable iwlwifi:* and not have to worry about getting too much data. If IO tracing is then really needed we can enable iwlwifi_io:* in addition and get that data. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6262408392aa66083c9d5db101755fe753c97d4e Author: Wey-Yi Guy Date: Fri Nov 20 12:05:01 2009 -0800 iwlwifi: fix reserved2 field in iwl4965_addsta reserved2 field in "struct iwl4965_addsta_cmd" is __le16. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2943f136ffe29adb08162197b129bf8106e8191c Author: Wey-Yi Guy Date: Fri Nov 20 12:05:00 2009 -0800 iwlwifi: dynamically allocate buffer for sram debugfs file Dynamically allocate memory for dumping SRAM based on the length of memory to be displayed. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d23db556819c00d297c0f447bdd75b282d563122 Author: Wey-Yi Guy Date: Fri Nov 20 12:04:59 2009 -0800 iwlwifi: increase tx_queue debugfs buffer size For tx_queue, need to increase the buffer size allocated for it, so all the queues information can be displayed Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 43e851157adb966dd633e983b24040f72877737e Author: Wey-Yi Guy Date: Fri Nov 20 12:04:58 2009 -0800 iwlwifi: set read/write permission for debugfs files Set the correct Read/Write file permission for iwlwifi debugfs files based on the functionality of the files Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bc6c94f609d2f63347d4a05f28993792ae38caad Author: Reinette Chatre Date: Fri Nov 20 12:04:57 2009 -0800 iwl3945: removed unused struct and definitions Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7163b8a4ec995dabda3e92c6fed7b8600060618c Author: Wey-Yi Guy Date: Fri Nov 20 12:04:56 2009 -0800 iwlwifi: reset led_tpt when clear tx/rx traffic byte counts LED blink rate is based on the traffic load, when tx/rx traffic counts got reset, we also need to reset the led_tpt to prevent incorrect blink rate being calculated. Merge both clear_tx_statistics() and clear_rx_statistics() into single clear_traffic_statistics() function, when reset the traffic byte counts, both tx and rx need to be reset at the same time, to make sure calculated the correct led blink rate. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c15d20c1d19616f73b6fee4befd254d0c37b4d87 Author: Wey-Yi Guy Date: Fri Nov 20 12:04:55 2009 -0800 iwlwifi: set sm_ps_mode as part of cfg parameters Setting "Spatial multiplexing Power Save" as part of per device configuration parameter. Report to uCode based on priv->conf setting, so driver can have more control of how different devices should operate in power save mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d5f4cf71f7b70e13f96cc8aac65b390707d5d80b Author: Wey-Yi Guy Date: Fri Nov 20 12:04:54 2009 -0800 iwlwifi: control led while update tx/rx bytes counts LED blinking rate is based on tx/rx traffic, the most reasonable place to do it is after update the traffic byte counts This fixes the recent LED blinking breakage on 3945 introduced by "iwlwifi: separate led function from statistic notification" Signed-off-by: Wey-Yi Guy Tested-by: Maxim Levitsky Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 74ba67edfcb235c0415a62d37493866c8380dc1d Author: Ben Cahill Date: Fri Nov 20 12:04:53 2009 -0800 iwlagn: Use iwl_write8() for CSR_INT_COALESCING register CSR_INT_COALESCING previously had only one, but now has two single-byte fields. With only one single-byte field (lowest order byte) it was okay to write via iwl_write32(), but now with two, an iwl_write32() to the lower order field clobbers the other field (odd-address CSR_INT_PERIODIC_REG, offset 0x5), and an iwl_write32() to CSR_INT_PERIODIC_REG could clobber the lowest byte of the next-higher register (CSR_INT, offset 0x8). Fortunately, no bad side effects have been produced by the iwl_write32() usage, due to order of execution (low order byte was always written before higher order byte), and the fact that writing "0" to the low byte of the next higher register has no effect (only action is when writing "1"s). Nonetheless, this cleans up the accesses so no bad side effects might occur in the future, if execution order changes, or more bit fields get added to CSR_INT_COALESCING. Add some comments regarding periodic interrupt usage. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e03185fb8e85d5624d3a68feced70cc9c9e2136 Author: Ben Cahill Date: Fri Nov 20 12:04:52 2009 -0800 iwlwifi: Add iwl_write8() To support byte writes to CSR_INT_COALESCING and CSR_INT_PERIODIC registers, add iwl_write8(), including debug/trace support. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3305443c968b98902199bea0abbd9443c6a2bb8d Author: Johannes Berg Date: Fri Nov 20 10:09:14 2009 +0100 mac80211: fix rcu locking Add a missing rcu_read_unlock() before jumping out of the ieee80211_change_station() function in the error case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f1cf2dbd0f798b71b1590e7aca6647f2caef1649 Author: Lukáš Turek <8an@praha12.net> Date: Thu Nov 19 23:02:02 2009 +0100 ath5k: Fix I/Q calibration The sign of correction coefficients was lost in the calculations, which caused high packetloss in 802.11a mode after the results were applied. Fixed by removing unneccesary and broken AND with a bit mask. Signed-off-by: Lukas Turek <8an@praha12.net> Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 98e3ac99e25601c3fb83dc91367d76f864496847 Author: Johannes Berg Date: Thu Nov 19 22:42:16 2009 +0100 mac80211: remove dead struct member ieee80211_local.wstats is a remnant from the days when we still had to worry about wireless extensions in mac80211 -- it can be removed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 07681e211d736ba2394ab7f29f77e93adecd22c5 Author: Michael Buesch Date: Thu Nov 19 22:24:29 2009 +0100 b43: Rewrite DMA Tx status handling sanity checks This rewrites the error handling policies in the TX status handler. It tries to be error-tolerant as in "try hard to not crash the machine". It won't recover from errors (that are bugs in the firmware or driver), because that's impossible. However, it will return a more or less useful error message and bail out. It also tries hard to use rate-limited messages to not flood the syslog in case of a failure. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8c35024aa65c079f800df7778869a8dbda074182 Author: Benoit PAPILLAULT Date: Thu Nov 19 22:19:26 2009 +0100 ath9k: This patch fix RX unpadding for any received frame. It has been tested with a 802.11 frame generator and by checking the FCS field of each received frame with the value reported by the Atheros hardware. This patch is useful if you are trying to analyze non standard 802.11 frame going over the air. Signed-off-by: Benoit PAPILLAULT Signed-off-by: John W. Linville commit ac2752c145c6dd25b8ed26bfede1c9177c91a7ef Author: Larry Finger Date: Thu Nov 19 14:40:46 2009 -0600 ssb: Unconditionally log results of core scans At present, the results of an SSB core scan are only logged when CONFIG_SSB_DEBUG is "y". As this may not be set in a distro kernel, it is difficult interpret many problems posted in bug reports or in help forums. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 25f94aeaa3b20e804efbea0fe74d75bb15ecde4a Author: Matthew Garrett Date: Wed Nov 11 14:36:31 2009 -0500 ipw2200: Set core hw rfkill status when hardware changes state ipw2200 is able to detect when it's been hard-killed, but doesn't update the core rfkill state or update userspace. Ensure that the state is updated, allowing the rfkill core to notify userspace. Signed-off-by: Matthew Garrett Signed-off-by: John W. Linville commit c26409a919e2a338f0cff6ea0e1a96e658a3bfaa Author: Matthew Garrett Date: Wed Nov 11 14:36:30 2009 -0500 ipw2100: Register the wiphy device libipw unconditionally calls wiphy_unregister, but it's up to the driver to register it in the first place. ipw2100 fails to do so. Add the necessary glue code, and also ensure that rfkill statuses get set up appropriately. (Augmented for proper wiphy_unregister placement. -- JWL) Signed-off-by: Matthew Garrett Signed-off-by: John W. Linville commit a3caa99e6c68f466c13cfea74097f6fb01b45e25 Author: John W. Linville Date: Tue Aug 25 14:12:25 2009 -0400 libipw: initiate cfg80211 API conversion (v2) Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. (v2: Fix unconditional wiphy_unregister in libipw which was causing problems for ipw2100, somewhat based on prior attempted fix by Zhu Yi . Previously both original version of this patch and Zhu Yi's fix attempt were reverted due to discovery of regressions. -- JWL) Signed-off-by: John W. Linville commit c4a5af54c8ef277a59189fc9358e190f3c1b8206 Author: Andrew G. Morgan Date: Mon Nov 23 04:57:52 2009 +0000 Silence the existing API for capability version compatibility check. When libcap, or other libraries attempt to confirm/determine the supported capability version magic, they generally supply a NULL dataptr to capget(). In this case, while returning the supported/preferred magic (via a modified header content), the return code of this system call may be 0, -EINVAL, or -EFAULT. No libcap code depends on the previous -EINVAL etc. return code, and all of the above three return codes can accompany a valid (successful) attempt to determine the requested magic value. This patch cleans up the system call to return 0, if the call is successfully being used to determine the supported/preferred capability magic value. Signed-off-by: Andrew G. Morgan Acked-by: Steve Grubb Acked-by: Serge Hallyn Signed-off-by: James Morris commit fe542cf59bf0b31afe72b9e9749c0f6645419fa0 Author: Tetsuo Handa Date: Sun Nov 22 11:49:55 2009 +0900 LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock(). We should call security_path_chmod()/security_path_chown() after mutex_lock() in order to avoid races. Signed-off-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: James Morris commit 1b145ae58035f30353d78d25bea665091df9b438 Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 17:51:09 2009 -0200 perf kmem: Resolve symbols E.g.: [root@doppio linux-2.6-tip]# perf kmem record sleep 3s [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ] [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10 ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ getname/40 | 1519616/4096 | 1519616/4096 | 371| 0.000% seq_read/a2 | 987136/4096 | 987136/4096 | 241| 0.000% __netdev_alloc_skb/43 | 260368/1049 | 259968/1048 | 248| 0.154% __alloc_skb/5a | 77312/256 | 77312/256 | 302| 0.000% proc_alloc_inode/33 | 76480/632 | 76472/632 | 121| 0.010% get_empty_filp/8d | 70272/192 | 70272/192 | 366| 0.000% split_vma/8e | 42064/176 | 42064/176 | 239| 0.000% [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Frédéric Weisbecker Cc: linux-mm@kvack.org Cc: Li Zefan Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Steven Rostedt LKML-Reference: <1259005869-13487-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 2890284bcf5c13c10fae8a0c20ad2f575118a092 Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 17:51:08 2009 -0200 perf tools: Move graph_line and graph_dotted_line from top So that they can be used in other tools. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259005869-13487-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4814326b59db0cfd18ac652626d955ad3f57fb0f Author: Vlad Yasevich Date: Mon Nov 23 15:54:01 2009 -0500 sctp: prevent too-fast association id reuse We use the idr subsystem and always ask for an id at or above 1. This results in a id reuse when one association is terminated while another is created. To prevent re-use, we keep track of the last id returned and ask for that id + 1 as a base for each query. We let the idr spin lock protect this base id as well. Signed-off-by: Vlad Yasevich commit da85b7396f3b6cb3fea7d77091498bfa1051ef7c Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:54:01 2009 -0500 sctp: fix integer overflow when setting the autoclose timer When setting the autoclose timeout in jiffies there is a possible integer overflow if the value in seconds is very large (e.g. for 2^22 s with HZ=1024). The problem appears even on 64-bit due to the integer promotion rules. The fix is just a cast to unsigned long. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit f6778aab6ccc4b510b4dcfa770d9949b696b4545 Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:54:01 2009 -0500 sctp: limit maximum autoclose setsockopt value To avoid overflowing the maximum timer interval when transforming the autoclose interval from seconds to jiffies, limit the maximum autoclose value to MAX_SCHEDULE_TIMEOUT/HZ. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit d8dd15781dd621c5ceab79083f4c5112787863f5 Author: Neil Horman Date: Mon Nov 23 15:54:00 2009 -0500 sctp: Fix mis-ordering of user space data when multihoming in use Recently had a bug reported to me, in which the user was sending packets with a payload containing a sequence number. The packets were getting delivered in order according the chunk TSN values, but the sequence values in the payload were arriving out of order. At first I thought it must be an application error, but we eventually found it to be a problem on the transmit side in the sctp stack. The conditions for the error are that multihoming must be in use, and it helps if each transport has a different pmtu. The problem occurs in sctp_outq_flush. Basically we dequeue packets from the data queue, and attempt to append them to the orrered packet for a given transport. After we append a data chunk we add the trasport to the end of a list of transports to have their packets sent at the end of sctp_outq_flush. The problem occurs when a data chunks fills up a offered packet on a transport. The function that does the appending (sctp_packet_transmit_chunk), will try to call sctp_packet_transmit on the full packet, and then append the chunk to a new packet. This call to sctp_packet_transmit, sends that packet ahead of the others that may be queued in the transport_list in sctp_outq_flush. The result is that frames that were sent in one order from the user space sending application get re-ordered prior to tsn assignment in sctp_packet_transmit, resulting in mis-sequencing of data payloads, even though tsn ordering is correct. The fix is to change where we assign a tsn. By doing this earlier, we are then free to place chunks in packets, whatever way we see fit and the protocol will make sure to do all the appropriate re-ordering on receive as is needed. Signed-off-by: Neil Horman Reported-by: William Reich Signed-off-by: Vlad Yasevich commit 46d5a808558181e03a4760d2188cc9879445738a Author: Vlad Yasevich Date: Mon Nov 23 15:54:00 2009 -0500 sctp: Update max.burst implementation Current implementation of max.burst ends up limiting new data during cwnd decay period. The decay is happening becuase the connection is idle and we are allowed to fill the congestion window. The point of max.burst is to limit micro-bursts in response to large acks. This still happens, as max.burst is still applied to each transmit opportunity. It will also apply if a very large send is made (greater then allowed by burst). Tested-by: Florian Niederbacher Signed-off-by: Vlad Yasevich commit a5b03ad2143c5bc9ae76533e8321fe66258b4f35 Author: Vlad Yasevich Date: Mon Nov 23 15:53:59 2009 -0500 sctp: Turn the enum socket options into defines Recent attempt to remove deprecated socket options demonstrated that removing options from the enum space will have severe binary compatibility issues. The reason is that it changes the subsequent enum space and causes option values to be redefined. To solve this, and to get rid of the ugly double statements for every option, we simply convert to the #define scheme. Signed-off-by: Vlad Yasevich commit 245cba7e55929dc2b10b7d915bfba0168eeeed17 Author: Vlad Yasevich Date: Mon Nov 23 15:53:58 2009 -0500 sctp: Remove useless last_time_used variable The transport last_time_used variable is rather useless. It was only used when determining if CWND needs to be updated due to idle transport. However, idle transport detection was based on a Heartbeat timer and last_time_used was not incremented when sending Heartbeats. As a result the check for cwnd reduction was always true. We can get rid of the variable and just base our cwnd manipulation on the HB timer (like the code comment sais). We also have to call into the cwnd manipulation function regardless of whether HBs are enabled or not. That way we will detect idle transports if the user has disabled Heartbeats. Signed-off-by: Vlad Yasevich commit a242b41dedfe0fd51ab1c906daa703c09b196744 Author: Amerigo Wang Date: Mon Nov 23 15:53:58 2009 -0500 sctp: remove deprecated SCTP_GET_*_OLD stuffs SCTP_GET_*_OLD stuffs are schedlued to be removed. Cc: Vlad Yasevich Signed-off-by: WANG Cong Signed-off-by: Vlad Yasevich commit 37051f73862d15862aecc08b887b2884137af327 Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:53:57 2009 -0500 sctp: allow setting path_maxrxt independent of SPP_PMTUD_ENABLE Since draft-ietf-tsvwg-sctpsocket-15.txt, setting the SPP_MTUD_ENABLE flag when changing pathmaxrxt via the SCTP_PEER_ADDR_PARAMS setsockopt is not required any longer. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit 90f2f5318b3a5b0898fef0fec9b91376c7de7a2c Author: Vlad Yasevich Date: Mon Nov 23 15:53:57 2009 -0500 sctp: Update SWS avaoidance receiver side algorithm We currently send window update SACKs every time we free up 1 PMTU worth of data. That a lot more SACKs then necessary. Instead, we'll now send back the actuall window every time we send a sack, and do window-update SACKs when a fraction of the receive buffer has been opened. The fraction is controlled with a sysctl. Signed-off-by: Vlad Yasevich commit e0e9db178a5ba4dbb5f16f958f1affbdc63d2cc4 Author: Vlad Yasevich Date: Mon Nov 23 15:53:57 2009 -0500 sctp: Select a working primary during sctp_connectx() When sctp_connectx() is used, we pick the first address as primary, even though it may not have worked. This results in excessive retransmits and poor performance. We should select the address that the association was established with. Reported-by: Thomas Dreibholz Signed-off-by: Vlad Yasevich commit 6383cfb3ed3c5c0bea06da0099c219ef4237ecf5 Author: Vlad Yasevich Date: Mon Nov 23 15:53:56 2009 -0500 sctp: Fix malformed "Invalid Stream Identifier" error The "Invalid Stream Identifier" error has a 16 bit reserved field at the end, thus making the parameter length be 8 bytes. We've never supplied that reserved field making wireshark tag the packet as malformed. Reported-by: Chris Dischino Signed-off-by: Vlad Yasevich commit b93d6471748de2ce02cc24774b774deb306a57a8 Author: Wei Yongjun Date: Mon Nov 23 15:53:56 2009 -0500 sctp: implement the sender side for SACK-IMMEDIATELY extension This patch implement the sender side for SACK-IMMEDIATELY extension. Section 4.1. Sender Side Considerations Whenever the sender of a DATA chunk can benefit from the corresponding SACK chunk being sent back without delay, the sender MAY set the I-bit in the DATA chunk header. Reasons for setting the I-bit include o The sender is in the SHUTDOWN-PENDING state. o The application requests to set the I-bit of the last DATA chunk of a user message when providing the user message to the SCTP implementation. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 6dc7694f9df20f148076d82d00cb3663afb0b000 Author: Wei Yongjun Date: Mon Nov 23 15:53:53 2009 -0500 sctp: implement the receiver side for SACK-IMMEDIATELY extension This patch implement the receiver side for SACK-IMMEDIATELY extension: Section 4.2. Receiver Side Considerations On reception of an SCTP packet containing a DATA chunk with the I-bit set, the receiver SHOULD NOT delay the sending of the corresponding SACK chunk and SHOULD send it back immediately. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 475cba4ec8ee6b427cc3567692e6f48dd483c069 Author: Wei Yongjun Date: Mon Nov 23 15:53:52 2009 -0500 sctp: implement definition for SACK-IMMEDIATELY extension This patch implement the definition for SACK-IMMEDIATELY extension. Section 3. The I-bit in the DATA Chunk Header The following Figure 1 shows the extended DATA chunk. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0 | Res |I|U|B|E| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TSN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Stream Identifier | Stream Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Protocol Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ \ / User Data / \ \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 The only difference between the DATA chunk in Figure 1 and the DATA chunk defined in [RFC4960] is the addition of the I-bit in the flags field of the chunk header. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 78d7530ac338e458fa513527ee7bb4278d0d8017 Author: Nelson Elhage Date: Fri Oct 2 16:32:47 2009 -0400 ARM: Clean up linker script using new linker script macros. This patch is mostly a straightforward translation. The primary side effect to the resulting vmlinux should be to increase the alignment on the initramfs to the standard PAGE_SIZE from 32 bytes. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Signed-off-by: Russell King commit 2abc1c50b6be81233e0b79478dc04d8fec737ed5 Author: Tim Abbott Date: Fri Oct 2 16:32:46 2009 -0400 ARM: convert to use __HEAD and HEAD_TEXT macros. This has the consequence of changing the section name used for head code from ".text.head" to ".head.text". Since this commit changes all users in the architecture, this change should be harmless. The .text.head output section is eliminated and the head text code is included at the start of the .init output section. Signed-off-by: Tim Abbott Cc: Linus Torvalds Acked-by: Sam Ravnborg Signed-off-by: Russell King commit 27c13ecec4d8856687b50b959e1146845b478f95 Author: Borislav Petkov Date: Sat Nov 21 14:01:45 2009 +0100 x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes display_cacheinfo() doesn't display anything anymore and it is used to detect CPU cache sizes. Rename it accordingly. Signed-off-by: Borislav Petkov LKML-Reference: <20091121130145.GA31357@liondog.tnic> Signed-off-by: H. Peter Anvin commit cc612d8199089413719397c9d92e5823da578eac Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 16:39:10 2009 -0200 perf symbols: Look for vmlinux in more places Now that we can check the buildid to see if it really matches, this can be done safely: vmlinux /boot/vmlinux /boot/vmlinux- /lib/modules//build/vmlinux /usr/lib/debug/lib/modules/%s/vmlinux More can be added - if you know about distros that put the vmlinux somewhere else please let us know. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259001550-8194-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fd12a0d69aee6d90fa9b9890db24368a897f8423 Author: Jack Steiner Date: Thu Nov 19 14:23:41 2009 -0600 x86: UV SGI: Don't track GRU space in PAT GRU space is always mapped as WB in the page table. There is no need to track the mappings in the PAT. This also eliminates the "freeing invalid memtype" messages when the GRU space is unmapped. Signed-off-by: Jack Steiner LKML-Reference: <20091119202341.GA4420@sgi.com> [ v2: fix build failure ] Signed-off-by: Ingo Molnar commit dc63d3771cc6492220f53caf5fded6090d45d9ce Author: Alexander Duyck Date: Mon Nov 23 06:32:57 2009 +0000 ixgbe: Only set/clear VFE in ixgbe_set_rx_mode There appears to be a stray setting of the VFE bit when registering vlans. This should not be done as vlan filtering should be enabled any time the interface is not in promiscous mode Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edd2ea5559737e5239d5c80fa1a55b8bc440470b Author: Mallikarjuna R Chilakala Date: Mon Nov 23 10:45:11 2009 -0800 ixgbe: Use rx buffer length from rx ring for configuring rscctl While configuring rscctl use rx buffer length from rx ring structure instead of passing rx_buf_len to ixgbe_configure_rscctl Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 94b982b2e4be9661fe1c3893aa780a711b09cd30 Author: Mallikarjuna R Chilakala Date: Mon Nov 23 06:32:06 2009 +0000 ixgbe: Modify 82599 HWRSC statistics counters Divide 82599 HWRSC counters into aggregated and flushed to count number of packets getting coalesced per TCP connection. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 713d039426a80ed78e71294cfb5d0a009bb20b42 Author: Sathya Perla Date: Sun Nov 22 22:02:45 2009 +0000 be2net: remove BUG_ON() when be2net runs out of mccq wrbs The driver can run out of mccq wrbs when completions don't arrive due to an unresponsive card. This must not hit a BUG_ON(); instead log a msg and return an error. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 8d56ff11708e5809c644a6d687a5dff4551043b4 Author: Sathya Perla Date: Sun Nov 22 22:02:26 2009 +0000 be2net: Fix cleanup path in be_probe() Disabling msix was missing when probe fails after enabling msix. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2243e2e95e24f4c4b1c6575b874ebe0b837d2208 Author: Sathya Perla Date: Sun Nov 22 22:02:03 2009 +0000 be2net: Issue fw_init/clean cmds to fw These cmds are issued to the fw in probe/resume and remove/suspend paths to help fw execute some initialization and cleanup code. This change needed the be_hw_up() code to be refactored as be_get_config(). Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 01ed30da5d2e718df458f1680fd97751a769c1a2 Author: Sathya Perla Date: Sun Nov 22 22:01:31 2009 +0000 be2net: Fix rx_drops_no_fragments stat being incorrectly indexed Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit e7b909a68cfb83e4bafdadac39534969ce260518 Author: Sathya Perla Date: Sun Nov 22 22:01:10 2009 +0000 be2net: support configuration of 64 multicast addresses instead of 32 To send upto 64 addresses in the multicast-set cmd, the non-embeeded cmd format that provides for a bigger buffer is used instead of an embedded format. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 581f202bcd60acbc3af1f5faa429e570c512f8a3 Author: Dimitri Sivanich Date: Fri Nov 20 15:48:26 2009 -0600 x86: UV RTC: Always enable RTC clocksource Always enable the RTC clocksource on UV systems. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091120214826.GA20016@sgi.com> Signed-off-by: Ingo Molnar commit 9d4fb27db90043cd2640e4bc778f9c755d3c17c1 Author: Joe Perches Date: Mon Nov 23 10:41:23 2009 -0800 net/ipv4: Move && and || to end of previous line On Sun, 2009-11-22 at 16:31 -0800, David Miller wrote: > It should be of the form: > if (x && > y) > > or: > if (x && y) > > Fix patches, rather than complaints, for existing cases where things > do not follow this pattern are certainly welcome. Also collapsed some multiple tabs to single space. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 0444c9bd0cf4e0eb946a7fcaf34765accfa9404a Author: Jan Beulich Date: Fri Nov 20 14:03:05 2009 +0000 x86: Tighten conditionals on MCE related statistics irq_thermal_count is only being maintained when X86_THERMAL_VECTOR, and both X86_THERMAL_VECTOR and X86_MCE_THRESHOLD don't need extra wrapping in X86_MCE conditionals. Signed-off-by: Jan Beulich Cc: Hidetoshi Seto Cc: Yong Wang Cc: Suresh Siddha Cc: Andi Kleen Cc: Borislav Petkov Cc: Arjan van de Ven LKML-Reference: <4B06AFA902000078000211F8@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 429947248f814e90f416ab4f68a871ab628000c3 Author: Jan Blunck Date: Fri Nov 20 17:40:37 2009 +0100 sched_feat_write(): Update ppos instead of file->f_pos sched_feat_write() should update ppos instead of file->f_pos. (This reduces some BKL dependencies of this code.) Signed-off-by: Jan Blunck Cc: jkacur@redhat.com Cc: Arnd Bergmann Cc: Frederic Weisbecker Cc: Jamie Lokier Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Alan Cox LKML-Reference: <1258735245-25826-8-git-send-email-jblunck@suse.de> Signed-off-by: Ingo Molnar commit 8492090542b8bc6b65b60ccf0b49ff8f0a460ab2 Author: H Hartley Sweeten Date: Mon Nov 23 10:31:18 2009 -0800 drivers/ide/tx4938ide.c: use resource_size() Use resource_size() for devm_request_mem_region. Signed-off-by: H Hartley Sweeten Signed-off-by: David S. Miller commit 30433d8141e239fe3621c882170876b9e5a2a94b Author: H Hartley Sweeten Date: Mon Nov 23 10:30:34 2009 -0800 drivers/ide/ide_platform.c: use resource_size() Use resource_size() for devm_{ioremap/io_port_map}. Signed-off-by: H Hartley Sweeten Signed-off-by: David S. Miller commit 4b7c7237c0826417059d2e60ffe6ed43202dc087 Author: H Hartley Sweeten Date: Mon Nov 23 10:27:22 2009 -0800 drivers/ide/au1xxx-ide.c: use resource_size() Use resource_size() for {request/release}_mem_region and ioremap. Signed-off-by: H Hartley Sweeten Signed-off-by: David S. Miller commit 11bb4cc7c772963952304398f999fc195b0da285 Author: Samu Onkalo Date: Mon Nov 23 10:01:33 2009 -0800 Input: polled device - do not start polling if interval is zero If the poll interval is set to 0 via new sysfs entry and device is opened after that, polling is started with interval 0. This causes huge CPU load. Same happens if the rate was 0 when the device was closed and then reopened. Signed-off-by: Samu Onkalo Signed-off-by: Dmitry Torokhov commit 381f3f1ccf380d4d3c46987d04c199842d4c6e1f Author: Dmitry Torokhov Date: Wed Nov 18 23:10:54 2009 -0800 Input: polled device - schedule first poll immediately It does not make sense to wait poll_interval before performing first read after opening the device, schedule the read immediately instead. Signed-off-by: Dmitry Torokhov commit e38e2af1c57c3eb5211331a5b4fcaae0c4a2a918 Author: Cliff Wickman Date: Thu Nov 19 17:12:43 2009 -0600 x86: SGI UV: Fix BAU initialization A memory mapped register that affects the SGI UV Broadcast Assist Unit's interrupt handling may sometimes be unintialized. Remove the condition on its initialization, as that condition can be randomly satisfied by a hardware reset. Signed-off-by: Cliff Wickman Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit f5f96b93e745dd054110d511779e7ec5cfdfdfe6 Author: Arnaud Patard Date: Mon Nov 23 09:47:12 2009 -0800 Input: add S3C24XX touchscreen driver S3C24XX touchscreen driver, originally written by Arnaud Patard and other contributors. The driver has had substantial testing as well as a number of tidying up passes done by Ben Dooks, as noted: - added kernel-doc comments to most of the routines - removed old code from pre adc framework days - updated device probe code to use platform id list matching - cleaned up debug, since printk() now has timestamp feature - ensure code uses dev_() reporting macros where necessary - remove ABS_PRESSURE reporting, tslib can be fixed - ensure timer is removed on driver exit - move to using dev_pmops for power management Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Dmitry Torokhov commit 1b290d670ffa883b7e062177463a8efd00eaa2c1 Author: Frederic Weisbecker Date: Mon Nov 23 15:42:35 2009 +0100 perf tools: Add support for breakpoint events in perf tools Add the breakpoint events support with this new sysnopsis: mem:addr[:access] Where addr is a raw addr value in the kernel and access can be either [r][w][x] Example to profile tasklist_lock: $ grep tasklist_lock /proc/kallsyms ffffffff8189c000 D tasklist_lock $ perf record -e mem:0xffffffff8189c000:rw -a -f -c 1 $ perf report # Samples: 62 # # Overhead Command Shared Object Symbol # ........ ............... ............. ...... # 29.03% swapper [kernel] [k] _raw_read_trylock 29.03% swapper [kernel] [k] _raw_read_unlock 19.35% init [kernel] [k] _raw_read_trylock 19.35% init [kernel] [k] _raw_read_unlock 1.61% events/0 [kernel] [k] _raw_read_trylock 1.61% events/0 [kernel] [k] _raw_read_unlock Coming soon: - Support for symbols in the event definition. - Default period to 1 for breakpoint events because these are not high frequency events. The same thing is needed for trace events. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad commit f5ffe02e5046003ae7e2ce70d3d1c2a73331268b Author: Frederic Weisbecker Date: Mon Nov 23 15:42:34 2009 +0100 perf: Add kernel side syscall events support for breakpoints Add the remaining necessary bits to support breakpoints created through perf syscall. We don't use the software counter interface as: - We don't need to check against recursion, this is already done in hardware breakpoints arch level. - We already know the perf event we are dealing with when the event is to be committed. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit fdf6bc95229821e3d9405eba28925b76e92b74d0 Author: Frederic Weisbecker Date: Mon Nov 23 15:42:33 2009 +0100 hw-breakpoints: Check the breakpoint params from perf tools Perf tools create perf events as disabled in the beginning. Breakpoints are then considered like ptrace temporary breakpoints, only meant to reserve a breakpoint slot until we get all the necessary informations from the user. In this case, we don't check the address that is breakpointed as it is NULL in the ptrace case. But perf tools don't have the same purpose, events are created disabled to wait for all events to be created before enabling all of them. We want to check the breakpoint parameters in this case. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e6db4876575f3fdd5b1df2cbff826df95ab9af6a Author: Frederic Weisbecker Date: Mon Nov 23 15:42:32 2009 +0100 hw-breakpoints: Include only linux/perf_event.h from kernel part of bp headers As userspace only needs the breakpoints enum types from the breakpoints headers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ba6909b719a5ccc0c8100d2895bb7ff557b2eeae Author: K.Prasad Date: Mon Nov 23 21:17:13 2009 +0530 hw-breakpoint: Attribute authorship of hw-breakpoint related files Attribute authorship to developers of hw-breakpoint related files. Signed-off-by: K.Prasad Cc: Alan Stern Cc: Frederic Weisbecker LKML-Reference: <20091123154713.GA5593@in.ibm.com> [ v2: moved it to latest -tip ] Signed-off-by: Ingo Molnar commit 2330ed18b27a8f4f10e48e0a1c65ede56e03825c Author: Daniel Silverstone Date: Mon Nov 23 08:38:16 2009 -0800 Input: usbtouchscreen - add support for Zytronic capacitive touchscreen Zytronic USB-attached capacitive touchscreen support within the generic USB touchscreen driver. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Signed-off-by: Simtec Linux Team Signed-off-by: Dmitry Torokhov commit 721a730eceb009ba61f8eeee31360c02ed8f6aba Author: Roger Quadros Date: Mon Nov 23 08:30:18 2009 -0800 Input: force feedback - fix function name in comment Function name is input_ff_destroy() and not input_ff_free() Signed-off-by: Roger Quadros Signed-off-by: Dmitry Torokhov commit 6236dfaa908d9e9c84a8c4d029f443104ed2c47f Author: Márton Németh Date: Mon Nov 23 08:26:38 2009 -0800 Input: do not overwrite the first part of phys string Use strlcat() to append a string to the previously created first part. Signed-off-by: Márton Németh Acked-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 52ce4eaa389eaac01876a4c1b6cacee15005b010 Author: Pavel Machek Date: Mon Nov 23 08:25:17 2009 -0800 Input: ads7846 - switch to using dev_vdbg() Signed-off-by: Pavel Machek Signed-off-by: Dmitry Torokhov commit 30ad7ba0a55ef394c6956c886ddd058173153506 Author: Pavel Machek Date: Mon Nov 23 08:17:38 2009 -0800 Input: ads7846 - fix pressure reporting On Zaurus, hx4700 and others pressure is reported inverted -- the lighter the pressure, the bigger numerical value. Signed-off-by: Pavel Machek Signed-off-by: Dmitry Torokhov commit 722232bcd8086b37cd3af7d9e94e7e10b231979e Author: Oliver Neukum Date: Mon Nov 23 08:10:50 2009 -0800 Input: usbtouchscreen - remove unneeded usb_kill_urb usb_kill_urb() in disconnect is not needed as unregistering will cause close() to be called. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit acd1d7c1f8f3d848a3c5327dc09f8c1efb971678 Author: Peter Zijlstra Date: Mon Nov 23 15:00:36 2009 +0100 perf_events: Restore sanity to scaling land It is quite possible to call update_event_times() on a context that isn't actually running and thereby confuse the thing. perf stat was reporting !100% scale values for software counters (2e2af50b perf_events: Disable events when we detach them, solved the worst of that, but there was still some left). The thing that happens is that because we are not self-reaping (we have a caring parent) there is a time between the last schedule (out) and having do_exit() called which will detach the events. This period would be accounted as enabled,!running because the event->state==INACTIVE, even though !event->ctx->is_active. Similar issues could have been observed by calling read() on a event while the attached task was not scheduled in. Solve this by teaching update_event_times() about ctx->is_active. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1258984836.4531.480.camel@laptop> Signed-off-by: Ingo Molnar commit 97cef58521288ade8d957e4d568a3d409dea7d64 Merge: dcdec63 50b6bce Author: Mark Brown Date: Mon Nov 23 13:37:04 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 29cb8d0d249f6b8fa33683cc17622ff16ada834c Author: Russell King Date: Sat Oct 31 16:10:10 2009 +0000 ARM: dma-mapping: split dma_unmap_page() from dma_unmap_single() We will need to treat dma_unmap_page() differently from dma_unmap_single() Signed-off-by: Russell King Tested-By: Jamie Iles commit ef1baed8870d1eebb0c08d9a466e703f1a21b484 Author: Russell King Date: Sat Oct 31 16:07:16 2009 +0000 ARM: dma-mapping: provide dma_to_page() Signed-off-by: Russell King Tested-By: Jamie Iles commit 1c4a4f48a14861a567c8861355bc8252da3a003f Author: Russell King Date: Sat Oct 31 15:58:30 2009 +0000 ARM: dma-mapping: simplify page_to_dma() and __pfn_to_bus() The non-highmem() and the __pfn_to_bus() based page_to_dma() both compile to the same code, so its pointless having these two different approaches. Use the __pfn_to_bus() based version. Signed-off-by: Russell King Tested-By: Jamie Iles Reviewed-by: Catalin Marinas commit 719301ff1c77b6da7b1b6f78a1e51af64a678619 Author: Russell King Date: Sat Oct 31 17:51:57 2009 +0000 ARM: provide phys_to_page() to complement page_to_phys() Signed-off-by: Russell King Tested-By: Jamie Iles Reviewed-by: Catalin Marinas commit 2f32bfd834d5d7eb230bcbf39aaacccd2a01d767 Author: Jaswinder Singh Rajput Date: Mon Nov 23 20:25:50 2009 +0800 crypto: ansi_cprng - Move FIPS functions under CONFIG_CRYPTO_FIPS fips_cprng_get_random and fips_cprng_reset is used only by CONFIG_CRYPTO_FIPS. This also fixes compilation warnings: crypto/ansi_cprng.c:360: warning: ‘fips_cprng_get_random’ defined but not used crypto/ansi_cprng.c:393: warning: ‘fips_cprng_reset’ defined but not used Signed-off-by: Jaswinder Singh Rajput Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 507069c91e36786b3fa5d9515c35ed6bb0ce469b Author: Youquan, Song Date: Mon Nov 23 20:23:04 2009 +0800 crypto: testmgr - Add ghash algorithm test before provide to users Add ghash algorithm test before provide it to users Signed-off-by: Youquan, Song Signed-off-by: Herbert Xu commit 68ee87164e73f68cf09070043c97e7f61e6966d4 Author: Jiri Kosina Date: Mon Nov 23 20:19:47 2009 +0800 crypto: ghash-clmulni-intel - Put proper .data section in place Lbswap_mask, Lpoly and Ltwo_one should clearly belong to .data section, not .text. Signed-off-by: Jiri Kosina Signed-off-by: Herbert Xu commit 564ec0ec05ac6ee409bde81f7ef27a3dadbf3a6a Author: Huang Ying Date: Mon Nov 23 19:55:22 2009 +0800 crypto: ghash-clmulni-intel - Use gas macro for PCLMULQDQ-NI and PSHUFB Old binutils do not support PCLMULQDQ-NI and PSHUFB, to make kernel can be compiled by them, .byte code is used instead of assembly instructions. But the readability and flexibility of raw .byte code is not good. So corresponding assembly instruction like gas macro is used instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit be831297716036de5b24308447ecb69f1706a846 Author: Joerg Roedel Date: Mon Nov 23 12:50:00 2009 +0100 x86/amd-iommu: attach devices to pre-allocated domains early For some devices the ACPI table may define unity map requirements which must me met when the IOMMU is enabled. So we need to attach devices to their domains as early as possible so that these mappings are in place when needed. This patch assigns the domains right after they are allocated. Otherwise this can result in I/O page faults before a driver binds to a device and BIOS is still using it. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit b369e521237d6ef21c453f3ac4f4b8577ec14f87 Author: Huang Ying Date: Mon Nov 23 19:54:06 2009 +0800 crypto: aesni-intel - Use gas macro for AES-NI instructions Old binutils do not support AES-NI instructions, to make kernel can be compiled by them, .byte code is used instead of AES-NI assembly instructions. But the readability and flexibility of raw .byte code is not good. So corresponding assembly instruction like gas macro is used instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9f800de38b05d84809e89f16671d636a140eede7 Author: Joerg Roedel Date: Mon Nov 23 12:45:25 2009 +0100 x86/amd-iommu: un__init iommu_setup_msi This function may be called on the resume path and can not be dropped after booting. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 52939c03e53b151848da9e83fd839bddfda29e78 Author: Daniel Mack Date: Sat Nov 21 20:17:18 2009 +0100 ARM: MX3: fix CPU revision number detection The macro mx31_revision() used to take the global variable system_rev to determine the CPU revision number. However, this number is expected to be set by the bootloader and is usually zero (at least on my MX31 based boards here). More than that, it is usually taken to identify the board's revision, not the CPU's. Fix that by reading the the CPU's SREV register instead. Right now, mx31_read_cpu_rev() is called from mx31_clocks_init() which is admittedly not a good place for it. However, we need to enable the IIM clock first, and the clock code also has conditional code that depends on mx31_revision() returning the right thing. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 2cc326833f616ee49f73be94d4bf0ab1bc9a72d9 Author: Daniel Mack Date: Sat Nov 21 18:40:40 2009 +0100 ARM: MX3: lilly1131: move MC13783 device registration Register the MC13783 device in the module code. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5 Author: Peter Zijlstra Date: Mon Nov 23 11:37:29 2009 +0100 perf_events: Undo some recursion damage Make perf_swevent_get_recursion_context return a context number and disable preemption. This could be used to remove the IRQ disable from the trace bit and index the per-cpu buffer with. Signed-off-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: <20091123103819.993226816@chello.nl> Signed-off-by: Ingo Molnar commit f67218c3e93abaf0f480bb94b53d234853ffe4de Author: Peter Zijlstra Date: Mon Nov 23 11:37:27 2009 +0100 perf_events: Fix __perf_event_exit_task() vs. update_event_times() locking Move the update_event_times() call in __perf_event_exit_task() into list_del_event() because that holds the proper lock (ctx->lock) and seems a more natural place to do the last time update. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.842455480@chello.nl> Signed-off-by: Ingo Molnar commit 5e942bb33371254a474653123cd9e13a4c89ee44 Author: Peter Zijlstra Date: Mon Nov 23 11:37:26 2009 +0100 perf_events: Update the context time on exit It appeared we did call update_event_times() on exit, but we failed to update the context time, which renders the former moot. Locking is a bit iffy, we call update_event_times under ctx->mutex instead of ctx->lock - the next patch fixes this. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.764207355@chello.nl> Signed-off-by: Ingo Molnar commit 2e2af50b1fab3c40636839a7f439c167ae559533 Author: Peter Zijlstra Date: Mon Nov 23 11:37:25 2009 +0100 perf_events: Disable events when we detach them If we leave the event in STATE_INACTIVE, any read of the event after the detach will increase the running count but not the enabled count and cause funny scaling artefacts. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.689055515@chello.nl> Signed-off-by: Ingo Molnar commit 6c2bfcbe58e0dd39554be88940149f5aa11e17d1 Author: Peter Zijlstra Date: Mon Nov 23 11:37:24 2009 +0100 perf_events: Fix style nits Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.613427378@chello.nl> Signed-off-by: Ingo Molnar commit a66a3052e2d4c5815d7ad26887b1d4193206e691 Author: Peter Zijlstra Date: Mon Nov 23 11:37:23 2009 +0100 perf_events: Undo copy/paste damage We had two almost identical functions, avoid the duplication. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091123103819.537537928@chello.nl> Signed-off-by: Ingo Molnar commit a4234bfcf4d72a10a99176cdef007345e9c3b4aa Author: Ingo Molnar Date: Mon Nov 23 10:57:59 2009 +0100 perf_events: Optimize the swcounter hotpath The structure init creates a bit memcpy, which shows up big time in perf annotate output: : ffffffff810a859d <__perf_sw_event>: 1.68 : ffffffff810a859d: 55 push %rbp 1.69 : ffffffff810a859e: 41 89 fa mov %edi,%r10d 0.01 : ffffffff810a85a1: 49 89 c9 mov %rcx,%r9 0.00 : ffffffff810a85a4: 31 c0 xor %eax,%eax 1.71 : ffffffff810a85a6: b9 16 00 00 00 mov $0x16,%ecx 0.00 : ffffffff810a85ab: 48 89 e5 mov %rsp,%rbp 0.00 : ffffffff810a85ae: 48 83 ec 60 sub $0x60,%rsp 1.52 : ffffffff810a85b2: 48 8d 7d a0 lea -0x60(%rbp),%rdi 85.20 : ffffffff810a85b6: f3 ab rep stos %eax,%es:(%rdi) None of the callees depends on the structure being pre-initialized, so only initialize ->addr. This gets rid of the memcpy overhead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 0e7810be30f66e9f430c4ce2cd3b14634211690f Author: Jan Beulich Date: Fri Nov 20 14:00:14 2009 +0000 x86: Suppress stack overrun message for init_task init_task doesn't get its stack end location set to STACK_END_MAGIC, and hence the message is confusing rather than helpful in this case. Signed-off-by: Jan Beulich LKML-Reference: <4B06AEFE02000078000211F4@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 457dc928f586f3f4b930206965e6db270034e97e Author: Ingo Molnar Date: Mon Nov 23 11:03:28 2009 +0100 tracing, function tracer: Clean up strstrip() usage Clean up strstrip() usage - which also addresses this build warning: kernel/trace/ftrace.c: In function 'ftrace_pid_write': kernel/trace/ftrace.c:3004: warning: ignoring return value of 'strstrip', declared with attribute warn_unused_result Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3a0429292daa0e1ec848bd26479f5e48b0d54a42 Author: Florian Westphal Date: Mon Nov 23 10:43:57 2009 +0100 netfilter: xtables: fix conntrack match v1 ipt-save output commit d6d3f08b0fd998b647a05540cedd11a067b72867 (netfilter: xtables: conntrack match revision 2) does break the v1 conntrack match iptables-save output in a subtle way. Problem is as follows: up = kmalloc(sizeof(*up), GFP_KERNEL); [..] /* * The strategy here is to minimize the overhead of v1 matching, * by prebuilding a v2 struct and putting the pointer into the * v1 dataspace. */ memcpy(up, info, offsetof(typeof(*info), state_mask)); [..] *(void **)info = up; As the v2 struct pointer is saved in the match data space, it clobbers the first structure member (->origsrc_addr). Because the _v1 match function grabs this pointer and does not actually look at the v1 origsrc, run time functionality does not break. But iptables -nvL (or iptables-save) cannot know that v1 origsrc_addr has been overloaded in this way: $ iptables -p tcp -A OUTPUT -m conntrack --ctorigsrc 10.0.0.1 -j ACCEPT $ iptables-save -A OUTPUT -p tcp -m conntrack --ctorigsrc 128.173.134.206 -j ACCEPT (128.173... is the address to the v2 match structure). To fix this, we take advantage of the fact that the v1 and v2 structures are identical with exception of the last two structure members (u8 in v1, u16 in v2). We extract them as early as possible and prevent the v2 matching function from looking at those two members directly. Previously reported by Michel Messerschmidt via Ben Hutchings, also see Debian Bug tracker #556587. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit c4832c7bbc3f7a4813347e871d7238651bf437d3 Author: Pablo Neira Ayuso Date: Mon Nov 23 10:34:39 2009 +0100 netfilter: nf_ct_tcp: improve out-of-sync situation in TCP tracking Without this patch, if we receive a SYN packet from the client while the firewall is out-of-sync, we let it go through. Then, if we see the SYN/ACK reply coming from the server, we destroy the conntrack entry and drop the packet to trigger a new retransmission. Then, the retransmision from the client is used to start a new clean session. This patch improves the current handling. Basically, if we see an unexpected SYN packet, we annotate the TCP options. Then, if we see the reply SYN/ACK, this means that the firewall was indeed out-of-sync. Therefore, we set a clean new session from the existing entry based on the annotated values. This patch adds two new 8-bits fields that fit in a 16-bits gap of the ip_ct_tcp structure. This patch is particularly useful for conntrackd since the asynchronous nature of the state-synchronization allows to have backup nodes that are not perfect copies of the master. This helps to improve the recovery under some worst-case scenarios. I have tested this by creating lots of conntrack entries in wrong state: for ((i=1024;i<65535;i++)); do conntrack -I -p tcp -s 192.168.2.101 -d 192.168.2.2 --sport $i --dport 80 -t 800 --state ESTABLISHED -u ASSURED,SEEN_REPLY; done Then, I make some TCP connections: $ echo GET / | nc 192.168.2.2 80 The events show the result: [UPDATE] tcp 6 60 SYN_RECV src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 432000 ESTABLISHED src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 120 FIN_WAIT src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 30 LAST_ACK src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 120 TIME_WAIT src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] and tcpdump shows no retransmissions: 20:47:57.271951 IP 192.168.2.101.33221 > 192.168.2.2.www: S 435402517:435402517(0) win 5840 20:47:57.273538 IP 192.168.2.2.www > 192.168.2.101.33221: S 3509927945:3509927945(0) ack 435402518 win 5792 20:47:57.273608 IP 192.168.2.101.33221 > 192.168.2.2.www: . ack 3509927946 win 92 20:47:57.273693 IP 192.168.2.101.33221 > 192.168.2.2.www: P 435402518:435402524(6) ack 3509927946 win 92 20:47:57.275492 IP 192.168.2.2.www > 192.168.2.101.33221: . ack 435402524 win 362 20:47:57.276492 IP 192.168.2.2.www > 192.168.2.101.33221: P 3509927946:3509928082(136) ack 435402524 win 362 20:47:57.276515 IP 192.168.2.101.33221 > 192.168.2.2.www: . ack 3509928082 win 108 20:47:57.276521 IP 192.168.2.2.www > 192.168.2.101.33221: F 3509928082:3509928082(0) ack 435402524 win 362 20:47:57.277369 IP 192.168.2.101.33221 > 192.168.2.2.www: F 435402524:435402524(0) ack 3509928083 win 108 20:47:57.279491 IP 192.168.2.2.www > 192.168.2.101.33221: . ack 435402525 win 362 I also added a rule to log invalid packets, with no occurrences :-) . Signed-off-by: Pablo Neira Ayuso Acked-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 6e3d8330ae2c4b2c11a9577a0130d2ecda1c610d Author: Ingo Molnar Date: Mon Nov 23 10:19:20 2009 +0100 perf events: Do not generate function trace entries in perf code Decreases perf overhead when function tracing is enabled, by about 50%. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86, numa: Use near(er) online node instead of roundrobin for NUMA CPU to node mapping is set via the following sequence: 1. numa_init_array(): Set up roundrobin from cpu to online node 2. init_cpu_to_node(): Set that according to apicid_to_node[] according to srat only handle the node that is online, and leave other cpu on node without ram (aka not online) to still roundrobin. 3. later call srat_detect_node for Intel/AMD, will use first_online node or nearby node. Problem is that setup_per_cpu_areas() is not called between 2 and 3, the per_cpu for cpu on node with ram is on different node, and could put that on node with two hops away. So try to optimize this and add find_near_online_node() and call init_cpu_to_node(). Signed-off-by: Yinghai Lu Cc: Tejun Heo Cc: Linus Torvalds Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Rusty Russell Cc: David Rientjes Cc: Andrew Morton LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 021428ad1418cf3c386a1a0157140c3ea29b17ef Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86, numa, bootmem: Only free bootmem on NUMA failure path In the NUMA bootmem setup failure path we freed nodedata_phys incorrectly. Signed-off-by: Yinghai Lu Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Rusty Russell Cc: David Rientjes Cc: Andrew Morton LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 163d3866cfa79aa5945f1ee5e43fb3ed1455f75c Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: apic: Print out SRAT table APIC id in hex Make it consistent with APIC MADT print out, for big systems APIC id in hex is more readable. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 37ef2a3029fde884808ff1b369677abc7dd9a79a Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: Re-get cfg_new in case reuse/move irq_desc When irq_desc is moved, we need to make sure to use the right cfg_new. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit e670761f12f4069d204f433bf547d9c679a4fd05 Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: apic: Remove not needed #ifdef Suresh made dmar_table_init() already have that protection. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 88cdca9c7376f2220171d09dfc2f9e41b4834435 Author: Russell King Date: Mon Nov 23 09:44:10 2009 +0100 ALSA: AACI cleanup Fix the buffer size calculation to use the size which ALSA is expecting. Signed-off-by: Russell King Signed-off-by: Takashi Iwai commit 9dc9120c774e1d7e3d939542200bd44829c0059d Author: Krzysztof Helt Date: Sun Nov 22 17:26:34 2009 +0100 ALSA: opti-miro: expose ACI mixer to outside drivers The ACI mixer is used to control the radio FM module installed on the Miro PCM20 sound card. Expose ACI mixer outside the sound card driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9aeba6297151abcb1b34f3237e4c028aae500ce4 Author: Krzysztof Helt Date: Sun Nov 22 17:23:45 2009 +0100 ALSA: opti-miro: make miro.h header available outside the alsa directory Move the miro.h header to the include/sound directory. It can be used in the Miro PCM20 radio driver (v4l). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit bfd451184d80301d1ae970b1ebffde1e9c6240f9 Author: Simon Kaempflein Date: Mon Nov 16 15:25:53 2009 +1000 perf record, x86: Print more intelligent error message when sampling fails Print more accurate error message when "perf record" fails because there is no APIC support, on x86. Signed-off-by: Ingo Molnar commit 32a87c0114f37871aefb12a30de3e0c3300e3646 Author: Alex Chiang Date: Mon Nov 23 09:35:06 2009 +0100 cciss: change Cmd_sg_list.sg_chain_dma type to dma_addr_t A recent commit broke the ia64 build: Author: Don Brace Date: Thu Nov 12 12:50:01 2009 -0600 cciss: Add enhanced scatter-gather support. because of this hunk: --- a/drivers/block/cciss.h +++ b/drivers/block/cciss.h +struct Cmd_sg_list { + SGDescriptor_struct *sgchain; + dma64_addr_t sg_chain_dma; + int chain_block_size; +}; The issue is that dma64_addr_t isn't #define'd on ia64. The way that we're using Cmd_sg_list.sg_chain_dma is to hold an address returned from pci_map_single(). + temp64.val = pci_map_single(h->pdev, + h->cmd_sg_list[c->cmdindex]->sgchain, + len, dir); + + h->cmd_sg_list[c->cmdindex]->sg_chain_dma = temp64.val; pci_map_single() returns a dma_addr_t too. This code will still work even on a 32-bit x86 build, where dma_addr_t is defined to be a u32 because it will simply be promoted to the __u64 that temp64.val is defined as. Thus, declaring Cmd_sg_list.sg_chain_dma as dma_addr_t is safe. Cc: Don Brace Cc: Stephen M. Cameron Signed-off-by: Alex Chiang Signed-off-by: Jens Axboe commit d61c42690c6e2ff093a3d01338dad49f35b1e27b Author: Stephen M. Cameron Date: Mon Nov 23 09:31:48 2009 +0100 cciss: fix scatter gather cleanup problems On driver unload, only free up the extra scatter gather data if they were allocated in the first place (the controller supports it) and don't forget to free up the sg_cmd_list array of pointers. Signed-off-by: Don Brace Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 87038c2d5bda2418fda8b1456a0ae81cc3ff5bd8 Author: Karel Zak Date: Mon Nov 23 09:29:58 2009 +0100 partitions: read whole sector with EFI GPT header The size of EFI GPT header is not static, but whole sector is allocated for the header. The HeaderSize field must be greater than 92 (= sizeof(struct gpt_header) and must be less than or equal to the logical block size. It means we have to read whole sector with the header, because the header crc32 checksum is calculated according to HeaderSize. For more details see UEFI standard (version 2.3, May 2009): - 5.3.1 GUID Format overview, page 93 - Table 13. GUID Partition Table Header, page 96 Signed-off-by: Karel Zak Signed-off-by: Jens Axboe commit 7d13af3279985f554784a45cc961f706dbcdbdd1 Author: Karel Zak Date: Mon Nov 23 09:29:13 2009 +0100 partitions: use sector size for EFI GPT Currently, kernel uses strictly 512-byte sectors for EFI GPT parsing. That's wrong. UEFI standard (version 2.3, May 2009, 5.3.1 GUID Format overview, page 95) defines that LBA is always based on the logical block size. It means bdev_logical_block_size() (aka BLKSSZGET) for Linux. This patch removes static sector size from EFI GPT parser. The problem is reproducible with the latest GNU Parted: # modprobe scsi_debug dev_size_mb=50 sector_size=4096 # ./parted /dev/sdb print Model: Linux scsi_debug (scsi) Disk /dev/sdb: 52.4MB Sector size (logical/physical): 4096B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 24.6kB 3002kB 2978kB primary 2 3002kB 6001kB 2998kB primary 3 6001kB 9003kB 3002kB primary # blockdev --rereadpt /dev/sdb # dmesg | tail -1 sdb: unknown partition table <---- !!! with this patch: # blockdev --rereadpt /dev/sdb # dmesg | tail -1 sdb: sdb1 sdb2 sdb3 Signed-off-by: Karel Zak Signed-off-by: Jens Axboe commit 44280733e71ad15377735b42d8538c109c94d7e3 Author: Yinghai Lu Date: Sun Nov 22 17:18:49 2009 -0800 x86: Change crash kernel to reserve via reserve_early() use find_e820_area()/reserve_early() instead. -v2: address Eric's request, to restore original semantics. will fail, if the provided address can not be used. Signed-off-by: Yinghai Lu Acked-by: Eric W. Biederman LKML-Reference: <4B09E2F9.7040403@kernel.org> Signed-off-by: Ingo Molnar commit 98e4833ba3c314c99dc364012fba6ac894230ad0 Author: Ingo Molnar Date: Mon Nov 23 08:03:09 2009 +0100 ring-buffer benchmark: Run producer/consumer threads at nice +19 The ring-buffer benchmark threads run on nice 0 by default, using up a lot of CPU time and slowing down the system: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1024 root 20 0 0 0 0 D 95.3 0.0 4:01.67 rb_producer 1023 root 20 0 0 0 0 R 93.5 0.0 2:54.33 rb_consumer 21569 mingo 40 0 14852 1048 772 R 3.6 0.1 0:00.05 top 1 root 40 0 4080 928 668 S 0.0 0.0 0:23.98 init Renice them to +19 to make them less intrusive. Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 81516c5fc83a13a1d12f466aa7e14f5fd62a63ce Author: Michael S. Tsirkin Date: Sun Nov 22 14:13:35 2009 +0200 perf: Use default compiler mode by default gcc with no flags typically is a sane default for systems to use, and looking at the running kernel is probably broken for cross-builds anyway, so let's not do this. Add EXTRA_CFLAGS so that users can override default gcc mode if they want to. Signed-off-by: Michael S. Tsirkin Acked-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122121335.GA24254@redhat.com> Signed-off-by: Ingo Molnar commit 6ebfbc065624790772398f5b327ac33a7ae3880b Author: Jaswinder Singh Rajput Date: Sun Nov 22 20:43:13 2009 -0800 net: Fix missing kernel-doc notation Fix the following htmldocs warning: Warning(net/core/dev.c:5378): bad line: Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 9084d4719784b00ff0bf9c9580007fac8277dbcb Author: Theodore Ts'o Date: Sun Nov 22 20:48:42 2009 -0500 ext4: use ext4_data_block_valid() in ext4_free_blocks() The block validity framework does a more comprehensive set of checks, and it saves object code space to use the ext4_data_block_valid() than the limited open-coded version that had been in ext4_free_blocks(). Signed-off-by: "Theodore Ts'o" commit 1585d8d89ae1791d8f957731f5655700fbcc5664 Author: Theodore Ts'o Date: Sun Nov 22 20:48:34 2009 -0500 ext4: add check for wraparound in ext4_data_block_valid() Signed-off-by: "Theodore Ts'o" commit 6eebee625544ac4ef1d805da942f463275bd6caa Author: Theodore Ts'o Date: Sun Nov 22 20:23:31 2009 -0500 ext4: print i_mode in octal in ext4 tracepoints Inode permissions are much easier to understand if they are printed in octal. Signed-off-by: "Theodore Ts'o" commit e6362609b6c71c5b802026be9cf263bbdd67a50e Author: Theodore Ts'o Date: Mon Nov 23 07:17:05 2009 -0500 ext4: call ext4_forget() from ext4_free_blocks() Add the facility for ext4_forget() to be called from ext4_free_blocks(). This simplifies the code in a large number of places, and centralizes most of the work of calling ext4_forget() into a single place. Also fix a bug in the extents migration code; it wasn't calling ext4_forget() when releasing the indirect blocks during the conversion. As a result, if the system cashed during or shortly after the extents migration, and the released indirect blocks get reused as data blocks, the journal replay would corrupt the data blocks. With this new patch, fixing this bug was as simple as adding the EXT4_FREE_BLOCKS_FORGET flags to the call to ext4_free_blocks(). Signed-off-by: "Theodore Ts'o" Cc: "Aneesh Kumar K.V" commit 85c3b529f8ad4d65ba86b982ef050212ae7dd976 Author: Eric Paris Date: Fri Nov 20 11:00:12 2009 -0500 SELinux: header generation may hit infinite loop If a permission name is long enough the selinux class definition generation tool will go into a infinite loop. This is because it's macro max() is fooled into thinking it is dealing with unsigned numbers. This patch makes sure the macro always uses signed number so 1 > -1. Signed-off-by: Eric Paris Signed-off-by: James Morris commit a24e61a9ce6ac6b02356ee6678fa53c74c2fc080 Author: Kalle Valo Date: Wed Nov 18 18:41:06 2009 -0800 omap3: rx51: Add wl1251 wlan driver support wl1251 is connected to the SPI bus in rx51, add support for this. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit 2000655ee7b44ef2816d565c62ae03de74333204 Author: Tero Kristo Date: Sun Nov 22 10:11:36 2009 -0800 omap3: rx51: Add SDRAM init This patch adds board specific SDRAM init for RX51. This patch is a collaboration of work from following people: Juha Yrjola: Original code Lauri Leukkunen: Port to RX51 Tero Kristo: Support for multiple OPP:s, merge of patches Samu Onkalo: Fixed SDRAM parameters according to specs Kalle Jokiniemi: A fix for rounding error Signed-off-by: Tero Kristo Cc: Samu Onkalo Cc: Kalle Jokiniemi Cc: Lauri Leukkunen Cc: Juha Yrjola Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 58c54e156c80ce8d4dd740ad5f414b03b71ff0b7 Author: Cory Maccarrone Date: Sun Nov 22 10:11:35 2009 -0800 omap1: Add default kernel configuration for Herald This adds a new defconfig for the HTC Herald series of devices. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 9c2816f7bd445c5eb152babff4d6fb3f8f556610 Author: Cory Maccarrone Date: Sun Nov 22 10:11:34 2009 -0800 omap1: Add board support and LCD for HTC Herald This patch introduces support for the HTC Herald (T-Mobile Wing, etc.) series of smart phones -- board support and LCD panel settings. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 1ced4532c0fc8cba1776e237b8c7fda6edc19330 Author: vikram pandita Date: Sun Nov 22 10:11:34 2009 -0800 omap: zoom2: update defconfig for LL_DEBUG_NONE Update DEBUG_LL for zoom2 board as CONFIG_OMAP_LL_DEBUG_NONE Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit d516aad1c3ebc468dc042da86530278d3a1a2c09 Author: vikram pandita Date: Sun Nov 22 10:11:33 2009 -0800 omap: zoom3: defconfig creation Create zoom3 defconfig file Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 5f35fbe8b8a05743fb9686e33194a126cd4273f6 Author: vikram pandita Date: Sun Nov 22 10:11:32 2009 -0800 omap3: zoom: Introduce zoom3 board support Zoom3 is the next version of Zoom2 board. There has been a silicon update from zoom2 to zoom3. Zoom2 has OMAP34xx Zoom3 has OMAP3630 [1] Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard Zoom3 has a SDRAM part from Hynix Zoom2 had SDRAM part from micron Hynix memory timings are contributed by: Chalhoub, Nicole and Bour, Vincent Reuse the zoom2 files as much for zoom3, as at board level, there is no change at all. References: (courtesy Nishant Menon) [1] OMAP3630 http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 [2] SOM boards http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv [3] Zoom2 boards http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp OMAP3630: Signed-off-by: Vikram Pandita Cc: Nicole Chalhoub Cc: Vincent Bour Signed-off-by: Tony Lindgren commit 6b61a83b31744d143b0e7bc92f463d831319eabc Author: vikram pandita Date: Sun Nov 22 10:11:31 2009 -0800 omap3: zoom: Drop i2c-1 speed to 2400 The I2C-1 bus frequency on zoom2/zoom3/sdp3630 should be 2.4 MHz. The speed is limited by TWL5030/GAIA; a higher speed could lead to errors on the interface. The maximum I2C speed depends on the system clock for GAIA: 2.2 MHz (sys-clk = 19.2 MHz) 2.4 MHz (sys-clk = 26 MHz) 2.9 MHz (sys-clk = 38.4 MHz) For Zoom2/Zoom3/SDP3630 the system clock is 26Mhz and hence choose 2.4Mhz for I2C1 bus speed Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 62d0b336d4b00bde6e3f0f155009975351823c54 Author: vikram pandita Date: Sun Nov 22 10:11:31 2009 -0800 omap3: zoom: rename zoom2 name to generic zoom Replace zoom2 with zoom name in board-zoom-peripherals.c file and board-zoom-debugboard.c. Create mach/board-zoom.h. This file has functions reused for boards: Zoom2/Zoom3/sdp3630. Hence have all functions commonly named as zoom Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 479f12c9e2743084ace94d8c65b98ec536cae3cf Author: vikram pandita Date: Sun Nov 22 10:11:30 2009 -0800 omap3: zoom: split board file for software reuse Split zoom2 board file into a base board file and a board-zoom-peripherals.c file. That way the same peripherals file can be reused for zoom3 and sdp3630 in addition to zoom2. Also remove unused struct omap_board_config_kernel entry. NOTE: Keep the twl4030_madc_platform_data and twl4030_platform_data entries in board-zoom2.c to avoid merge conflicts with the pending patches in MFD tree. These entries will be removed later as a fix. Following list shows the commonality across the three platforms and hence the case for software reuse: Peripheral zoom2 zoom3 sdp3630 --------------------------------------- Ethernet smsc smsc smc NOR n/a n/a B Onenand n/a n/a B HDMI A A B (present on different i2c) NAND A A A (same nand) SDRAM A A A (same sdram) Keypad A A A (same twl) Camera A A A (same sensor can be mounted) LCD Display A A A (same wvga display) OPPs A A A (same chip feature) Audio A A A (same audio via twl5030) Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 562138a4487191b5bcc0bea591368db7b3d3900a Author: Sriram Date: Sun Nov 22 10:11:30 2009 -0800 omap3evm: MIgrate to smsc911x ethernet driver Migrate to smsc911x ethernet driver instead of smc911x driver. The smsc911x ethernet driver supports NAPI and performs better under heavy traffic. With the smc911x driver we were witnessing very high iowait time for high IO load over NFS. Signed-off-by: Sriramakrishnan Signed-off-by: Tony Lindgren commit 1a7ec135d8b263ee0c3ce692e9372a6e4e85e58f Author: Mike Rapoport Date: Sun Nov 22 10:11:29 2009 -0800 omap3evm: Initialize vmmc and vmmc_aux regulators Initialize vmmc and vmmc_aux regulators Note that the omap3evm_twldata.vmmc1 and omap3evm_twldata.vsim are set in omap3_evm_i2c_init() to avoid a merge conflict with the MFD tree. These will be initialized in omap3evm_i2c_boardinfo as a fix later on. Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit e8e51d29205b3c507a2e6126e18f76f42b49f5ca Author: Ajay Kumar Gupta Date: Sun Nov 22 10:11:28 2009 -0800 omap3evm: ehci: Update EHCI support on OMAP3EVM (Rev >= E) Added runtime programming for the differences in EHCI interface between OMAP3EVM revisions (Rev >= E) and (Rev < E). Changes: - EHCI PHY reset GPIO pin is 21 on Rev >= E while Rev < E uses GPIO pin 135. - Rev >= E uses EHCI Vbus enable GPIO22 line. - Rev >= E uses GPIO61 to select EHCI port either on main board or on Mistral Daughter Card (MDC). OMAP3EVM Rev < E doesn't have EHCI port on main board. - Currently GPIO61 it programmed to enable EHCI port on main board only. Signed-off-by: Ajay Kumar Gupta commit db408023b85644e1bee80d4004aff1ff188032e9 Author: Ajay Kumar Gupta Date: Sun Nov 22 10:11:27 2009 -0800 omap3evm: Add board revision function Added function to differentiate between the OMAP3EVM revisions. The chip-id of the ethernet PHY is being used for this purpose. Rev A to D : 0x01150000 Rev >= E : 0x92200000 Signed-off-by: Vaibhav Hiremath Signed-off-by: Ajay Kumar Gupta Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 50a1f7bfea7ba9330f984ecb7d35aeb93d326cc3 Author: Anand Gadiyar Date: Sun Nov 22 10:11:27 2009 -0800 omap3: Update 3430SDP defconfig The mainline merge of the 3430SDP support (commit 6fdc29e2) seems to have messed up the 3430 defconfig completely. Update the defconfig using a known good version (SDP defconfig from v2.6.26-omap2 and current beagle defconfig) as reference. The image size is now 1.9 MB down from 2.4 MB earlier, and the number of modules is 8, down from 203. Build time also scales proportionally. Other support (OneNAND, etc) can be enabled as needed. Note that this patch intentionally does not update CONFIG_FB related options to avoid merge conflicts with the pending omap_dss2 patches. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 6502401d8169f76c6a72849cb55e8302226ca930 Author: vikram pandita Date: Sun Nov 22 10:11:26 2009 -0800 omap3: defconfigs: remove SYSFS_DEPRECATED flag Remove the SYSFS_DEPRECATED flag from OMAP3 board defconfigs This is a deprecated feature no longer needed. Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 058af1ea98675a672ad2aefca035d2e5a228d2cc Author: Charulatha V Date: Sun Nov 22 10:11:25 2009 -0800 omap: GPIO module enable/disable This patch disables a GPIO module when all pins of a GPIO module are inactive (clock gating forced at module level) and enables the module when any gpio in the module is requested. The module is enabled only when "mod_usage" indicates that no GPIO in that module is currently active and the GPIO being requested is the 1st one to be active in that module. Each module would be disabled in omap_gpio_free() API when all GPIOs in a particular module becomes inactive. The module is re-enabled in omap_gpio_request() API when a GPIO is requested from the module that was previously disabled. Since individual GPIO's bookkeeping is added in this patch via "mod_usage", the same is used in omap_set_gpio_debounce() & omap_set_gpio_debounce_time() APIs to ensure that the gpio being used is actually "requested" prior to being used (Nishant Menon's Acked-by: Nishanth Menon Signed-off-by: Tony Lindgren commit edeae658b282f2d076efb3b3f39ccd8eb0c384fa Author: Felipe Balbi Date: Sun Nov 22 10:11:24 2009 -0800 omap: Cleanup the coding style in id.c Cleanup the coding style in id.c while avoiding unneeded switch() statements. Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 5ed8d32ea39d34dbfea50ada1bee0a33513fc6f3 Author: C A Subramaniam Date: Sun Nov 22 10:11:24 2009 -0800 omap: mailbox: OMAP4 Mailbox-driver Patch to support tasklet implementation This patch uses a tasklet implementation for sending mailbox messages. Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 5e68382592adba993dad6b59655b7ff51a6ed049 Author: C A Subramaniam Date: Sun Nov 22 10:11:23 2009 -0800 omap: mailbox: OMAP4 Mailbox Patch to change the IRQ flag from IRQF_DISABLED to IRQF_SHARED Currently, this facilitates both the tesla and ducati sides to request for the same irq through an omap_mbox_get() call. Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 5f00ec64a38563f1e5d8a852f2279047edecd0b8 Author: C A Subramaniam Date: Sun Nov 22 10:11:22 2009 -0800 omap: mailbox: Adds code changes to support OMAP4 mailbox This patch adds code changes in the mailbox driver module to add support for OMAP4 mailbox. Signed-off-by: Hari Kanigeri Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit eb18858ebda7f4ef3d7de33e1b9bf11ac4cc137b Author: Hiroshi DOYU Date: Sun Nov 22 10:11:22 2009 -0800 omap: mailbox: Expose omap_mbox_enable()/disable_irq() Expose omap_mbox_enable()/disable_irq() Signed-off-by: Hiroshi DOYU commit b2b6362e6c5f744776da633218029e99f1244694 Author: C A Subramaniam Date: Sun Nov 22 10:11:20 2009 -0800 omap: mailbox: remove unnecessary arg for omap_mbox_msg_send Also removed from tx_data Signed-off-by: C A Subramaniam Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 2775e467ff4c60a4b3745b24bb2f75c92a3ecc69 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:20 2009 -0800 omap: mailbox: remove disable_/enable_mbox_irq in isr No need to handle it in isr, since irq won't happen during isr. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit c7c158e57bce6220644f2bcd65d82e1468aa40ec Author: Hiroshi DOYU Date: Sun Nov 22 10:11:19 2009 -0800 omap: mailbox: remove class interface It's not used at present. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit bfe1f6acb0df957e513b7c71c3f1a7ac56b32e4d Author: Hiroshi DOYU Date: Sun Nov 22 10:11:18 2009 -0800 omap: mailbox: remove sequence bit checking Any protocol should be handled in the upper layer and mailbox driver shouldn't care about the contents of messages. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 454bf340c986b798cd4c2fd676caffa2c1e61482 Author: C A Subramaniam Date: Sun Nov 22 10:11:18 2009 -0800 omap: mailbox: Add resources and mailbox register base address for OMAP4 mailbox This patch adds resource information of mailbox driver for OMAP4 mailbox module. Register base address also added Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 59fdc6ebda441a26ec055d61cf9d670a33eeca2d Author: C A Subramaniam Date: Sun Nov 22 10:11:17 2009 -0800 omap: mailbox: Add build specific changes to support omap mailbox This patch adds changes to the build related files of mailbox driver Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 20e11c2d1c8ca49829ee9e5690adc89488e5da31 Author: Julia Lawall Date: Sun Nov 22 10:11:16 2009 -0800 arch/arm/plat-omap: Drop an unnecessary NULL test map_iovm_area is only called from a context where its second argument is known not to be NULL, so drop the unnecessary test. If new could be NULL, the initialization of da should be moved below the test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Cc: Russell King Cc: Hiroshi DOYU Signed-off-by: Tony Lindgren Signed-off-by: Andrew Morton commit 13a032295710b49d331bb53086a7de4557243851 Author: Paul Walmsley Date: Sun Nov 22 10:11:15 2009 -0800 omap3: drop all IVA-related address base definitions All of the OMAP3 IVA physical address macros in plat-omap/include/plat/omap34xx.h are wrong[1]: OMAP34XX_IVA_INTC_BASE: The IVA interrupt controller does not appear to be accessible from the L3 interconnect, and in any case is definitely not at 0x40000000; the latter address appears to be the internal IVA physical address base for the OMAP2420's interrupt control[2]. OMAP34XX_DSP_BASE: The section of L3 physical address space mapped to the IVA starts at 0x5c000000, not 0x58000000. OMAP34XX_DSP_MEM_BASE: It's not clear what this refers to, but it's not in the L3 IVA address space. OMAP34XX_DSP_IPI_BASE: The Intrusive Port Interface is a relic from the OMAP2420 days and no longer applies to OMAP3. OMAP34XX_DSP_MMU_BASE: The DSP MMU is mapped at 0x5d000000, not 0x5a000000. Nothing that uses these can possibly be working, so drop them. When future code needs these, correct versions can be added in. 1. OMAP34xx Multimedia Device Silicon Revision 3.1.x Rev. W, Table 2-8: "L3 Interconnect View of the IVA2.2 Subsystem Memory Space." p. 229. 2. OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 (Rev. Q), section 2.2.4.1, "IVA Memory Space Seen by L3", p. 132. 3. ibid., section 4.3.11, "DSP IPI Overview", p. 200. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit cedf900d657e09f060b52f0598fc56aae9fbfba3 Author: Kevin Hilman Date: Sun Nov 22 10:11:13 2009 -0800 omap3: keep SoC features on the same line When listing the various SoC features, print them on the same line. So, instead of this OMAP3430/3530 ES3.1 - l2cache : Y - iva : Y - sgx : Y - neon : Y - isp : Y you get this: OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp ) Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 05574bb27a8a46d354582e72691ff6cb40712da9 Author: Nishanth Menon Date: Sun Nov 22 10:11:12 2009 -0800 omap3: move check_revision above check_features omap3_check_revision() does not depend on omap3_check_features() move this above so that we can add logic based on revision detected in check_features. Signed-off-by: Nishanth Menon Acked-by: Mika Westerberg Signed-off-by: Tony Lindgren commit 839c978794f3d2d0dce4693bbb087f9507bbab9b Author: Sriram Date: Sun Nov 22 10:11:09 2009 -0800 omap3: evm: make HSMMC driver built-in For ease of use it is preferrable to build in HSMMC driver rather than build it as kernel module. This patches updates default configuration for omap3evm to reflect this change. Signed-off-by: Sriramakrishnan Signed-off-by: Tony Lindgren commit 4679232d3a2085fa5080f260d68b4049c14d5b76 Author: Madhu Date: Sun Nov 22 10:11:08 2009 -0800 omap3: HSMMC2 8-bit mux configuration Add support for omap hsmmc2 8-bit mux configuration. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 555d503ff30b3b1292d743bb77b19212b6befb59 Author: Madhu Date: Sun Nov 22 10:11:08 2009 -0800 omap3630: Set omap3630 MMC1 I/O speed to 52Mhz The speed ctrl bit for MMC I/O is part of CONTROL_PROG_IO1 register in omap3630.This patch sets it up accordingly. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 41fd03d66e6ae4430a0fdf7c62692a7b20b6ee6b Author: Madhu Date: Sun Nov 22 10:11:07 2009 -0800 omap3630: Configure HSMMC1 to 4-bit The HSMMC1 controller on omap3630 supprts only 4-bit mode. If cpu is 3630 configure HSMMC1 wires to 4-bit. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 4596d14ad88bbacc80970cb964b8f3d6ade7e305 Author: Madhu Date: Sun Nov 22 10:11:06 2009 -0800 omap3630: Add HSMMC related checks Change the cpu_is_omap3430() check to cpu_is_omap34xx() to allow HSMMC1/2 mux configuration for omap3630. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit eebfa9f239a21d9663af03b50958d4d0bb7ab1d9 Author: Peter Ujfalusi Date: Sun Nov 22 10:11:05 2009 -0800 omap: McBSP: Do not use extensive spin locks for dma_op_mode The use of the spin lock, which supposed to protect the the dma_op_mode causing "INFO: inconsistent lock state" on playback start. Remove the spin locks around the dma_op_mode, when it's purpuse is to protect the dma_op_mode. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit a76e9a90e8dc0c8ca641a077780c6e05270d25ff Author: Felipe Contreras Date: Sun Nov 22 10:11:04 2009 -0800 omap: iommu: reorganize This way it's more object oriented and easier to see what is happening. No functional changes. Signed-off-by: Felipe Contreras Signed-off-by: Tony Lindgren commit 5934ba2dc04f5b3be48cb53b6a830885970f7487 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:04 2009 -0800 omap: iovmm: remove cache flush operation Cache flush operation is handled in the upper client layer and iovmm modules doesn't have to care about it. This patch will improve some performance with current camera isp driver. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 935e4739fc4817b1044fdbeed5fe19aee9f03f45 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:02 2009 -0800 omap: iommu: avoid remapping if it's been mapped in MPU side MPU side (v)-(p) mapping is necessary only if IOVMF_MMIO is set in "flags". Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 58a5491c936957011c92f8cc5097fb3231ee3f9c Author: Felipe Balbi Date: Sun Nov 22 10:11:01 2009 -0800 omap: Add platform init code for EHCI driver Add platform init code for EHCI driver. Various fixes to the original patch by Ajay Kumar Gupta and Anand Gadiyar . Overo support added by Olof Johansson Beagle support added by Koen Kooi CM-T32 support added by Mike Rapoport Signed-off-by: Signed-off-by: Olof Johansson Acked-by: Steve Sakoman Signed-off-by: Koen Kooi Signed-off-by: Mike Rapoport Signed-off-by: Ajay Kumar Gupta Signed-off-by: Anand Gadiyar Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 83720a8230f87008deba8619428438f0276b83ca Author: Anand Gadiyar Date: Sun Nov 22 10:11:00 2009 -0800 omap: update plat/usb.h to allow ehci driver to build Add missing declarations to allow the recently introduced ehci-omap driver to build on OMAP3 Signed-off-by: Anand Gadiyar Cc: Felipe Balbi Signed-off-by: Tony Lindgren Signed-off-by: Greg Kroah-Hartman commit 56190b609b9c011363dd761838ce01cd3cd0a24f Author: Ranjith Lohithakshan Date: Sun Nov 22 10:10:59 2009 -0800 omap3: AM35xx: Initialize omap_chip bits AM35xx is functionally similar to OMAP3430 ES3.1 from a powerdomain/clockdomain perspective. This patch initializes the omap_chip bits on AM35xx for use by powerdomain and clockdomain code. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit 4cac60180649b83e094d4ea5c440229814488431 Author: Sanjeev Premi Date: Sun Nov 22 10:10:58 2009 -0800 omap3: AM35xx: Runtime detection of the device Add support to detect AM3505/AM3517 devices at runtime. Also updates the CPU names printed during boot. Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit f18af0a847f9e1a843bcb8ba69697ccbba2d03e9 Author: vikram pandita Date: Sun Nov 22 10:10:57 2009 -0800 omap3: 3630: update is_chip variable 3630 is getting treated like next rev of 3430 omap_chip.oc variable has to be updated for 3630 version Otherwise the Core power domain is not getting registered. This gets used in the registration of power domains in: "arch/arm/mach-omap2/powerdomains34xx.h" core_34xx_es3_1_pwrdm OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES3_1) Core power doman will get registered for 3630 only when .oc is populated correctly. Tested on Zoom3(3630) board Signed-off-by: Vikram Pandita Acked-by: Alexander Shishkin Acked-by: Ari Kauppi Acked-by: Nishanth Menon Signed-off-by: Tony Lindgren commit 2456a10fb3a9b8c9e970b05e6c1370201675da0a Author: Nishanth Menon Date: Sun Nov 22 10:10:56 2009 -0800 omap3: Introduce OMAP3630 OMAP3630 is the latest in the family of OMAP3 devices and among the changes it introduces are: New OPP levels for new voltage and frequency levels. a bunch of Bug fixes to various modules feature additions, notably with ISP, sDMA etc. Details about the chip is available here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 Strategy used: Strategy to introduce this device into Linux was discussed here: Ref: http://marc.info/?t=125343303400003&r=1&w=2 Two approaches were available: a) Consider 3630 generation of devices as a new family of silicon b) Consider 3630 as an offshoot of 3430 family of devices As a common consensus, (b) seems to be more valid for 3630 as: * There are changes which are easily handled by using "FEATURES" infrastructure. For details how to do this, see thread: http://marc.info/?t=125050998500001&r=1&w=2 * Most of existing 34xx infrastructure can be reused(almost 90%+) - so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx()) all over the place - lesser chance of bugs due to reuse of proven code flow - 36xx specific handling can still be done where required within the existing infrastructure NOTE: * If additional 34xx series are added, OMAP3430_REV_ESXXXX can be added on top of the existing 3630 ones are renumbered This patch was tested on SDP3430, boot tested on 3630 platform using 3430sdp defconfig Signed-off-by: Madhusudhan Chikkature Rajashekar Signed-off-by: Nishanth Menon Signed-off-by: Vikram Pandita Cc: Allen Pais Cc: Anand Gadiyar Cc: Benoit Cousson Cc: Felipe Balbi Cc: Kevin Hilman Cc: Sanjeev Premi Cc: Santosh Shilimkar Cc: Sergio Alberto Aguirre Rodriguez Signed-off-by: Tony Lindgren commit 048f4bd7607eb714d4831f90dea6fd27eac9e494 Author: Sanjeev Premi Date: Sun Nov 22 10:10:54 2009 -0800 omap3: Runtime detection of OMAP35x devices Add runtime check for these OMAP35x variations based on the detected Si features: OMAP3503, OMAP3515, OMAP3525 and OMA3530. Also, delayed the call to pr_info() into actual variant is detected in omap3_cpuinfo() Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 8384ce071365244332ea05c81112bfffcf48be87 Author: Sanjeev Premi Date: Sun Nov 22 10:10:53 2009 -0800 omap3: Runtime detection of Si features The OMAP35x family has multiple variants differing in the HW features. This patch detects these features at runtime and prints information during the boot. Since most of the code seemed repetitive, macros have been used for readability. Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 45f780a06153544ab84fd1da3a8b28c07f61da1d Author: Cory Maccarrone Date: Sun Nov 22 10:10:52 2009 -0800 omap1: omap_udc: Add clocking and disable vbus sense for omap7xx The l3_ocpi_ck clock is needed on omap7xx processors for USB. Additionally, bit 8 of the SOFT_REQ_REG needs to be enabled for the usb_dc_ck on omap7xx, which is a different bit than that of the omap16xx-defined clock of the same name. I added a provision for the usb_dc_ck and l3_ocpi_ck clocks as dc_clk and hhc_clk, respectively, for omap7xx CPUs. Additionally, I added a check in machine_without_vbus_sense for all omap7xx devices, as presently I know of no omap7xx-based devices that have vbus sense, and it made more sense to me to use a cpu check here than to spell out each machine one at a time. Finally, DMA is disabled for omap7xx, as it causes problems with these chips. Cc: linux-usb@vger.kernel.org Cc: David Brownell Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 490a56652295825e3006f8703d96da2ef6580318 Author: Cory Maccarrone Date: Sun Nov 22 10:10:50 2009 -0800 omap1: mmc: Add platform init for omap7xx The MMC mux pins normally used by omap chips in devices.c are different from what is needed by omap7xx chips. This change adds a conditional around the mux setup code to enable the correct mux pins. The omap730 and omap850 both use a different clock for the "fck" clock of the MMC interface than other omap processors based on the SOFT_REQ_REG, pin 12. The "ick" clock is the same as that used by other omap processors. * Added the missing clock definition as mmc3_ck to clock.h * Added the clock definition to omap_clks in clock.c * Added CK_7XX to the mmci-omap.0 "ick" clock already in clock.c With these changes, it is now possible to initialize and use MMC cards with omap730 and omap850 devices. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit d9f5007491e3b6693dd00487981676b6b3005d72 Author: vikram pandita Date: Sun Nov 22 10:10:49 2009 -0800 omap: introduce OMAP_LL_DEBUG_NONE DEBUG_LL config Zoom2/Zoom3 kind of boards do not use omap uarts for console. These use external debug board for console. So these boards should not have "Uncompressing Kernel...." log put on omap uarts. By interoducing OMAP_LL_DEBUG_NONE option, unnecessary writes to omap uarts is avoided. In future, the DEBUG_LL interface will be enhanced to use external debug board. Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 9d30b99f352a7f21f93f0f3e2f0eecf8aa7847c1 Author: Alexander Shishkin Date: Sun Nov 22 10:10:47 2009 -0800 omap: Eliminate OMAP_MAX_NR_PORTS Eliminate OMAP_MAX_NR_PORTS Note that also the null terminator entry for omap1 serial_platform_data needs to be now removed to avoid oopsing. Note that mach-omap1 uses struct plat_serial8250_port array, which requires a null terminator at the end, and that's why we need to use ARRAY_SIZE - 1. This is not needed on mach-omap2 as the array used is struct omap_uart_state, and does not use a null terminator. Signed-off-by: Alexander Shishkin Acked-by: Kevin Hilman Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit f014ee320e8779c1798998f75bfc3cef2b46286f Author: Jani Nikula Date: Thu Nov 5 22:59:47 2009 -0800 ARM OMAP3: RX-51 board - add initialization of gpio keys Initialize some of the RX-51 input GPIO lines as gpio keys. Enable gpio keys as a module in rx51_defconfig. Signed-off-by: Jani Nikula Acked-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 76b5c84f77c3abc92a3c4e185e7b78f17a0ed204 Author: Jani Nikula Date: Thu Nov 5 22:59:46 2009 -0800 Input: add new keycodes useful in mobile devices Add new codes for camera focus key, and camera lens cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula Signed-off-by: Dmitry Torokhov commit cfaf6d2c1cb231f77e24109cb1460db429608bd4 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:19 2009 +0200 MFD: twl4030-codec: APLL_INFREQ handling in the MFD driver Configure the APLL_INFREQ field in the APLL_CTL register based on the platform data. Provide also a function for childs to query the audio_mclk frequency. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 6df74efbb8c38c4a057223be564323ff26d44fd3 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:18 2009 +0200 OMAP: Configure audio_mclk for twl4030-codec MFD audio_mclk value is going to be handled by the twl4030-codec MFD driver, configure the correct value for boards, which is using the twl4030 audio. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 26276069d2f51955cf549faab5d3a71a4b37ba23 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:17 2009 +0200 MFD: TWL4030: Add audio_mclk to the codec platform data Add audio_mclk to the platform data struct for the twl4030-codec MFD driver. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit e86fa0b4a3fe0563e492db4c5a52fd37219a4c70 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:46 2009 +0300 OMAP: Platform support for twl4030_codec MFD Add needed platform data for the twl4030_codec MFD on boards, where the audio part of the twl4030 codec is used. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 3066eec68d21cf4d468809c0b7b1fe9ee59c8f32 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:45 2009 +0300 MFD: twl4030: add twl4030_codec MFD as a new child to the core New MFD child to twl4030 MFD device. Reason for the twl4030_codec MFD: the vibra control is actually in the codec part of the twl4030. If both the vibra and the audio functionality is needed from the twl4030 at the same time, than they need to control the codec power and APLL at the same time without breaking the other driver. Also these two has to be able to work without the need for the other driver. This MFD device will be used by the drivers, which needs resources from the twl4030 codec like audio and vibra. The platform specific configuration data is passed along to the child drivers (audio, vibra). Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit a76df42a675c9936e8bf3607226e74c8a5e2d847 Merge: 648f4e3 8171d88 Author: Tony Lindgren Date: Sun Nov 22 10:08:43 2009 -0800 Merge 7xx-iosplit-plat-merge with omap-fixes Merge branch '7xx-iosplit-plat-merge' into omap-for-linus commit 6ebb237bece23275d1da149b61a342f0d4d06a08 Author: Paul E. McKenney Date: Sun Nov 22 08:53:50 2009 -0800 rcu: Re-arrange code to reduce #ifdef pain Remove #ifdefs from kernel/rcupdate.c and include/linux/rcupdate.h by moving code to include/linux/rcutiny.h, include/linux/rcutree.h, and kernel/rcutree.c. Also remove some definitions that are no longer used. 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: <1258908830885-git-send-email-> Signed-off-by: Ingo Molnar commit 9f680ab41485edfdc96331b70afa7513aa0a7720 Author: Paul E. McKenney Date: Sun Nov 22 08:53:49 2009 -0800 rcu: Eliminate unneeded function wrapping The functions rcu_init() is a wrapper for __rcu_init(), and also sets up the CPU-hotplug notifier for rcu_barrier_cpu_hotplug(). But TINY_RCU doesn't need CPU-hotplug notification, and the rcu_barrier_cpu_hotplug() is a simple wrapper for rcu_cpu_notify(). So push rcu_init() out to kernel/rcutree.c and kernel/rcutiny.c and get rid of the wrapper function rcu_barrier_cpu_hotplug(). 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: <12589088302320-git-send-email-> Signed-off-by: Ingo Molnar commit b668c9cf3e58739dac54a1d6f42f2b4bdd980b3e Author: Paul E. McKenney Date: Sun Nov 22 08:53:48 2009 -0800 rcu: Fix grace-period-stall bug on large systems with CPU hotplug When the last CPU of a given leaf rcu_node structure goes offline, all of the tasks queued on that leaf rcu_node structure (due to having blocked in their current RCU read-side critical sections) are requeued onto the root rcu_node structure. This requeuing is carried out by rcu_preempt_offline_tasks(). However, it is possible that these queued tasks are the only thing preventing the leaf rcu_node structure from reporting a quiescent state up the rcu_node hierarchy. Unfortunately, the old code would fail to do this reporting, resulting in a grace-period stall given the following sequence of events: 1. Kernel built for more than 32 CPUs on 32-bit systems or for more than 64 CPUs on 64-bit systems, so that there is more than one rcu_node structure. (Or CONFIG_RCU_FANOUT is artificially set to a number smaller than CONFIG_NR_CPUS.) 2. The kernel is built with CONFIG_TREE_PREEMPT_RCU. 3. A task running on a CPU associated with a given leaf rcu_node structure blocks while in an RCU read-side critical section -and- that CPU has not yet passed through a quiescent state for the current RCU grace period. This will cause the task to be queued on the leaf rcu_node's blocked_tasks[] array, in particular, on the element of this array corresponding to the current grace period. 4. Each of the remaining CPUs corresponding to this same leaf rcu_node structure pass through a quiescent state. However, the task is still in its RCU read-side critical section, so these quiescent states cannot be reported further up the rcu_node hierarchy. Nevertheless, all bits in the leaf rcu_node structure's ->qsmask field are now zero. 5. Each of the remaining CPUs go offline. (The events in step #4 and #5 can happen in any order as long as each CPU passes through a quiescent state before going offline.) 6. When the last CPU goes offline, __rcu_offline_cpu() will invoke rcu_preempt_offline_tasks(), which will move the task to the root rcu_node structure, but without reporting a quiescent state up the rcu_node hierarchy (and this failure to report a quiescent state is the bug). But because this leaf rcu_node structure's ->qsmask field is already zero and its ->block_tasks[] entries are all empty, force_quiescent_state() will skip this rcu_node structure. Therefore, grace periods are now hung. This patch abstracts some code out of rcu_read_unlock_special(), calling the result task_quiet() by analogy with cpu_quiet(), and invokes task_quiet() from both rcu_read_lock_special() and __rcu_offline_cpu(). Invoking task_quiet() from __rcu_offline_cpu() reports the quiescent state up the rcu_node hierarchy, fixing the bug. This ends up requiring a separate lock_class_key per level of the rcu_node hierarchy, which this patch also provides. 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: <12589088301770-git-send-email-> Signed-off-by: Ingo Molnar commit 50e5095afa8c2be0f35e5c0e21d5f7912340e8f2 Author: Arnaldo Carvalho de Melo Date: Sun Nov 22 14:59:22 2009 -0200 perf report: Do map lookups in resolve_callchain() Bug introduced in 439d473b4777de510e1322168ac6f2f377ecd5bc, making the initial map be used for all IPs, so that symbols outside this initial map would either be erroneously resolved or not resolve at all. 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: <1258909162-28496-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 87f8ea4cd3680ef7f4da4391aed97abb25eae333 Author: Arnaldo Carvalho de Melo Date: Sun Nov 22 13:21:41 2009 -0200 perf symbols: Show messages about module loading only if verbose >= 1 Suggested-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: <1258903301-20584-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b197c7ef7169bd5f11fb9d803b322d0daef7e256 Author: Michael S. Tsirkin Date: Sun Nov 22 15:13:11 2009 +0200 perf tools: Suggest static libraries as well On error, suggest installing static libraries along with shared libraries. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122131311.GA24318@redhat.com> Signed-off-by: Ingo Molnar commit 4433871130f36585fde38e7dd817433296648945 Author: Theodore Ts'o Date: Sun Nov 22 07:44:56 2009 -0500 ext4: fold ext4_free_blocks() and ext4_mb_free_blocks() ext4_mb_free_blocks() is only called by ext4_free_blocks(), and the latter function doesn't really do much. So merge the two functions together, such that ext4_free_blocks() is now found in fs/ext4/mballoc.c. This saves about 200 bytes of compiled text space. Signed-off-by: "Theodore Ts'o" commit b7e57e7c2a41826e51fe060fae5158bfc7a04e81 Author: Theodore Ts'o Date: Sun Nov 22 21:00:13 2009 -0500 ext4: fold ext4_journal_forget() into ext4_forget() Convert the last two callers of ext4_journal_forget() to use ext4_forget() instead, and then fold ext4_journal_forget() into ext4_forget(). This reduces are code complexity and shortens our call stack. Signed-off-by: "Theodore Ts'o" commit e4684b3fbb848446683feecb4aee133344c93933 Author: Theodore Ts'o Date: Tue Nov 24 11:05:59 2009 -0500 ext4: fold ext4_journal_revoke() into ext4_forget() The only caller of ext4_journal_revoke() is ext4_forget(), so we can fold ext4_journal_revoke() into ext4_forget() to simplify the code and shorten the call stack. Signed-off-by: "Theodore Ts'o" commit d6797d14b1640d088652c72508b529a3aea479e3 Author: Theodore Ts'o Date: Sun Nov 22 20:52:12 2009 -0500 ext4: move ext4_forget() to ext4_jbd2.c The ext4_forget() function better belongs in ext4_jbd2.c. This will allow us to do some cleanup of the ext4_journal_revoke() and ext4_journal_forget() functions, as well as giving us better error reporting since we can report the caller of ext4_forget() when things go wrong. Signed-off-by: "Theodore Ts'o" commit 7baed9af4bf0d7850045e36d19a43a2c76872b62 Author: Michael S. Tsirkin Date: Sun Nov 22 13:27:27 2009 +0200 perf tools: Add V=2 option to help debug config issues Make standard error show up on console when V=2 is set. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122112726.GC13644@redhat.com> Signed-off-by: Ingo Molnar commit 78a14e273d93dfbea9673f9b10398c538096302d Author: Julia Lawall Date: Sat Nov 21 12:50:34 2009 +0100 drivers/pcmcia: remove unnecessary kzalloc The result of calling kzalloc is never used or freed. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Dominik Brodowski commit 645e8cc0c9f01f07f384fd522b782e5e6ae9de18 Author: Ingo Molnar Date: Sun Nov 22 12:20:19 2009 +0100 perf_events: Fix modular build Fix: ERROR: "perf_swevent_put_recursion_context" [fs/ext4/ext4.ko] undefined! ERROR: "perf_swevent_get_recursion_context" [fs/ext4/ext4.ko] undefined! Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Jason Baron LKML-Reference: <1258864015-10579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e57cfcdac6badd846a1cd831de54a1359c2d1eea Author: Pekka Enberg Date: Sun Nov 22 12:29:44 2009 +0200 perf symbols: Fix ELF header errors during "perf kmem record" The write_event() function in builtin-record.c writes out all mmap()'d DSOs including non-ELF files like GNOME resource files and such. Therefore, check for ELF_K_ELF in filename__read_build_id() before attempting to read the ELF header with gelf_getehdr(). Fixes the following error messages when running "perf kmem record": penberg@penberg-laptop:~/src/linux/tools/perf$ perf kmem record ^C[ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.753 MB perf.data (~32885 samples) ] filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. Signed-off-by: Pekka Enberg Cc: Arnaldo Carvalho de Melo Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1258885784-11709-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit f3ced7cdb24e7968a353d828955fa2daf4167e72 Author: Pekka Enberg Date: Sun Nov 22 11:58:00 2009 +0200 perf kmem: Add --sort hit and --sort frag This patch adds support for "--sort hit" and "--sort frag" to the "perf kmem" tool. The former was already mentioned in the help text and the latter is useful for finding call-sites that exhibit worst case behavior for SLAB allocators. Signed-off-by: Pekka Enberg Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Eduard - Gabriel Munteanu Cc: linux-mm@kvack.org LKML-Reference: <1258883880-7149-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 96b02d78a7e47cd189f6b307c5513fec6b2155dc Author: Márton Németh Date: Sat Nov 21 23:10:15 2009 +0100 perf_event: Remove redundant zero fill The buffer is first zeroed out by memset(). Then strncpy() is used to fill the content. The strncpy() function also pads the string till the end of the specified length, which is redundant. The strncpy() does not ensures that the string will be properly closed with 0. Use strlcpy() instead. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @@ expression buffer; expression size; expression str; @@ memset(buffer, 0, size); ... - strncpy( + strlcpy( buffer, str, sizeof(buffer) ); @@ expression buffer; expression size; expression str; @@ memset(&buffer, 0, size); ... - strncpy( + strlcpy( &buffer, str, sizeof(buffer)); @@ expression buffer; identifier field; expression size; expression str; @@ memset(buffer, 0, size); ... - strncpy( + strlcpy( buffer->field, str, sizeof(buffer->field) ); @@ expression buffer; identifier field; expression size; expression str; @@ memset(&buffer, 0, size); ... - strncpy( + strlcpy( buffer.field, str, sizeof(buffer.field)); // On strncpy() vs strlcpy() see http://www.gratisoft.us/todd/papers/strlcpy.html . Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B086547.5040100@freemail.hu> Signed-off-by: Ingo Molnar commit 12eac0bf0461910ae6dd7f071f156f75461a37cf Author: Hitoshi Mitake Date: Fri Nov 20 12:37:17 2009 +0900 perf bench: Make the mem/memcpy tests more user-friendly mem-memcpy.c uses perf event system calls to obtain CPU clocks. And it suddenly dies with BUG_ON() when it running on Linux doesn't support perf event. Also fail at calloc() can occur easily when too large length is passed. Fail of calloc() causes sudden death with assert(). These behaviours are not friendly. So I fixed the treating of errors. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258688237-3797-1-git-send-email-mitake@dcl.info.waseda.ac.jp> [ v2: improved a few small details ] Signed-off-by: Ingo Molnar commit 5093ebad5f2348076fdc3dac7d2358b1ad7f85f7 Author: Frederic Weisbecker Date: Sun Nov 22 05:21:35 2009 +0100 hw-breakpoints: Separate the kernel part from breakpoint headers So that we can include this header from userspace tools, like perf tools, to get the breakpoint types and len definitions. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258863695-10464-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b3a75542d329ce4e1c66b293cefeb4429a2af043 Author: Frederic Weisbecker Date: Sun Nov 22 05:21:34 2009 +0100 hw-breakpoints: Remove x86 specific headers from core file Remove asm/processor.h and asm/debugreg.h as these headers are not used anymore in the hw-breakpoints core file. Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258863695-10464-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 28889bf9e2db29747d58cd47a92d727f927c3aee Author: Frederic Weisbecker Date: Sun Nov 22 05:21:33 2009 +0100 tracing: Forget about the NMI buffer for syscall events We are never in an NMI context when we commit a syscall trace to perf. So just forget about the nmi buffer there. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Jason Baron LKML-Reference: <1258863695-10464-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ce71b9df8893ec954e56c5979df6da274f20f65e Author: Frederic Weisbecker Date: Sun Nov 22 05:26:55 2009 +0100 tracing: Use the perf recursion protection from trace event When we commit a trace to perf, we first check if we are recursing in the same buffer so that we don't mess-up the buffer with a recursing trace. But later on, we do the same check from perf to avoid commit recursion. The recursion check is desired early before we touch the buffer but we want to do this check only once. Then export the recursion protection from perf and use it from the trace events before submitting a trace. v2: Put appropriate Reported-by tag Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Jason Baron LKML-Reference: <1258864015-10579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 41cec6f1160c110bd69597c2a5611b46e8287801 Author: Bruce Allan Date: Fri Nov 20 23:28:56 2009 +0000 e1000e: update Tx Unit hang detection message The Tx unit hang detection code in e1000e detects other hangs caused by hardware components (e.g. Rx, DMA units), but it is not possible to detect exactly which component is hung so it has always assumed a Tx unit hang. When dumping a message to the system log because of a hang, this patch adds more data to help narrow the cause of the issue and makes the message non-Tx-specific. Because this new code reads PHY registers which can sleep, move it off to a workqueue. This and all previously existing work tasks in the driver are now cancelled when the driver is removed. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a708dd88a014a8fd78713adbd19bc61046eaac7f Author: Bruce Allan Date: Fri Nov 20 23:28:37 2009 +0000 e1000e: cosmetic - group local variables of the same type Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b724613c91ce60806ffc689f5032ff258644c6c Author: Bruce Allan Date: Fri Nov 20 23:28:17 2009 +0000 e1000e: remove redundant might_sleep() Now that mutex_lock() calls might_sleep() the driver doesn't have to here. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit de39b7523348640f4c0e662e430c67594d858a08 Author: Bruce Allan Date: Fri Nov 20 23:27:59 2009 +0000 e1000e: do not error out on identification LED init failure A failure to initialize the identification LED is not a fatal condition and should allow the init path to continue. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 53ec5498d107a61b84944351d32324ce52788b74 Author: Bruce Allan Date: Fri Nov 20 23:27:40 2009 +0000 e1000e: set pm_qos DMA latency requirement per interface when needed It was pointed out a pm_qos DMA latency requirement set when the driver is loaded when parts that support early receive of jumbo frames are probed could have that requirement overidden if another part supported by the driver (one that does not support early receive of jumbo frames) is probed later. Change the DMA latency requirement to be per-interface if needed instead of per driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 99673d9b5d48c81f2e9fe094c0d9e42815c60b3f Author: Bruce Allan Date: Fri Nov 20 23:27:21 2009 +0000 e1000e: cleanup functions that clear hardware statistics The e1000_clear_hw_cntrs_*() functions read the registers to clear them. There is no reason to save the register contents so the temp variable can be removed. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3d5e33c9783d3e911e9aef0339663e887044f0df Author: Bruce Allan Date: Fri Nov 20 23:27:03 2009 +0000 e1000e: cleanup - shift indentation left by exiting early in e1000_tso Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 564ea9bba1a1380d5474504bcd943ee84075534f Author: Bruce Allan Date: Fri Nov 20 23:26:44 2009 +0000 e1000e: set bools to true/false instead of 1/0 Set booleans to 'true' or 'false' to make it clear it is a boolean. Also change instances of TRUE/FALSE in comments to lowercase true/false. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 84efb7b968ab91d0099620865b3f563eb0ddf5a6 Author: Bruce Allan Date: Fri Nov 20 23:26:24 2009 +0000 e1000e: provide comment for 82571 workaround Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fe4016746d2c0b3b690f5d1921c826d14008b118 Author: Bruce Allan Date: Fri Nov 20 23:26:05 2009 +0000 e1000e: remove comments regarding a non-existent api module Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c7e54b1bf90480ca4bdfd1491ac6c4b7bfe07c03 Author: Bruce Allan Date: Fri Nov 20 23:25:45 2009 +0000 e1000e: update copyright information Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94d8186a693284344ee5cb9734086c7a2370241a Author: Bruce Allan Date: Fri Nov 20 23:25:26 2009 +0000 e1000e: cleanup ops function pointers The phy and nvm operations structures have function pointers that contain "phy" and "nvm" in the pointer names which are redundant since the structures are already obviously in phy and nvm structures. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3bb99fe226ead584a4db674dab546689f705201f Author: Bruce Allan Date: Fri Nov 20 23:25:07 2009 +0000 e1000e: consolidate two dbug macros into one simpler one This patch depends on a previous one that cleans up redundant #includes. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d8014dbca7f5d2d6f0fdb47e5286bd2d887f7065 Author: Bruce Allan Date: Fri Nov 20 23:24:48 2009 +0000 e1000e: cleanup redundant #include's Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b16a002e3da0357771433aa58a2521da00aa792a Author: Bruce Allan Date: Fri Nov 20 23:24:30 2009 +0000 e1000e: Incorrect MII Link beat reporting. The driver was only updating MII stats when an LSC up was detected and the interface had not already been reported up to netdev. This meant MII stats returned in response to an SIOCGMIIREG ioctl would always show a link up if it had ever been up. This was misleading the networking daemon guessnet, which uses this ioctl, into making improper network port selections. This fix adds a call to e1000_phy_read_status() to actively read the mii stats before responding to the SIOCGMIIREG ioctl. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb436b20fe0ea4231a233aae7f0f7de3a3f2f5c3 Author: Bruce Allan Date: Fri Nov 20 23:24:11 2009 +0000 e1000e: disable K1 on PCH LOM when in PHY loopback mode When performing the ethtool PHY loopback test on PCH-based LOMs (82577 and 82578), disable K1 (a MAC-PHY interconnect low power mode) otherwise packets might get corrupted. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 98086a954a75152f8b09c131fa443205bae5fde1 Author: Bruce Allan Date: Fri Nov 20 23:23:53 2009 +0000 e1000e: improper return code signage The e1000_get_cable_length_82577() should return a negative value upon error. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7ea9655f8a4ccefcd8fdea7eb4fc5dab98e1a7ba Author: Bruce Allan Date: Fri Nov 20 23:23:34 2009 +0000 e1000e: link reporting problems Copper links with WoL or management enabled (any condition which prevents the phy from being powered down when the interface is taken down) were always reporting link-up when the interface had been taken down. This is because when the interface is taken down (ifconfig ethx down), interrupts are disabled. With no interrupts, there is no LSC interrupt, which is normally required to set "get_link_status", which instructs the driver to query the device for link state. The fix is to force get_link_status to true if the interface is not up. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a68ea775ad24ff403437c967628d2b9ce531ce48 Author: Bruce Allan Date: Fri Nov 20 23:23:16 2009 +0000 e1000e: don't clean Rx ring while resetting When using legacy interrupts, do not clean the Rx ring while resetting otherwise traffic will not pass. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e7d906f714994885b4889d02d6478e7a9418dcbe Author: Bruce Allan Date: Fri Nov 20 23:22:57 2009 +0000 e1000e: function pointers for ethtool set/get offloads Provide missing function pointers for ethtool set/get offloads. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4e2c6db7f4453ed5fb2e4342128d0ee3cfcf6bd Author: Bruce Allan Date: Fri Nov 20 23:22:39 2009 +0000 e1000e: clearing interrupt timers causes descriptors to get flushed Clearing the interrupt timers following an IMS clear has the unwanted side-effect of flushing all descriptors immediately following a partial write when interrupts are disabled. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f89271dda9431b432dad7505ccdcb57666233c1d Author: Bruce Allan Date: Fri Nov 20 23:22:20 2009 +0000 e1000e: add missing tests for 82583 in ethtool functions Add tests for 82583 in a couple ethtool functions that were missed from the initial hardware enablement submission. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1fbfca3211ce50d992d66bcda71fc47bf5e268c9 Author: Bruce Allan Date: Fri Nov 20 23:22:01 2009 +0000 e1000e: check WoL mode is among set of supported modes When setting WoL feature, check the supplied modes are all supported rather than checking for no support. This way, if any new modes are added the driver does not default to not complaining about it if we don't really support it. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e994b7c901ded7200b525a707c6da71f2cf6d4bb Author: David S. Miller Date: Sat Nov 21 11:22:25 2009 -0800 tcp: Don't make syn cookies initial setting depend on CONFIG_SYSCTL That's extremely non-intuitive, noticed by William Allen Simpson. And let's make the default be on, it's been suggested by a lot of people so we'll give it a try. Signed-off-by: David S. Miller commit 616ad593fe37ef265e5cb1282db6ca264197ffb2 Author: Krzysztof Helt Date: Sat Nov 21 01:01:18 2009 +0100 ALSA: opti-miro: remove snd_card pointer from snd_miro structure Remove the snd_card pointer from the snd_miro structure and do some small code improvements. Also, move Opti chipset detection before detection of the ACI mixer, so the mci_base value is set in one place only. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit fc08722510494e8185e176713de8c47238512591 Author: Takashi Iwai Date: Sat Nov 21 19:57:11 2009 +0100 ALSA: hda - Fix input and jack Kconfig depenencies CONFIG_SND_JACK needs to be selected explicitly only when INPUT=y or INPUT_SND. The current way, INPUT=SND_HDA_INTEL isn't strict enough. Reported-by: Randy Dunlap Signed-off-by: Takashi Iwai commit e25613683bd5c46d3e8c8ae6416dccc9f357dcdc Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:26 2009 -0200 perf trace: Read_tracing_data should die() another day It better propagate errors, also if we do a simple: [root@doppio linux-2.6-tip]# perf record -R -a -f sleep 3s ; perf trace [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.182 MB perf.data (~7972 samples) ] Fatal: not an trace data file [root@doppio linux-2.6-tip]# That is what is expected, right? I.e. as we didn't specify any tracepoint event via -e, it should gracefully bail out and not SEGFAULT. Signed-off-by: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258821086-11521-3-git-send-email-acme@infradead.org> [ Fixed the error messages some more ] Signed-off-by: Ingo Molnar commit c12e15e71d4b32da045e798ffd21cbb6197d1c65 Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:25 2009 -0200 perf symbols: Old versions of elf.h don't have NT_GNU_BUILD_ID Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258821086-11521-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 90c83218c32d7c474da810cd3c9973a43ecbcb9b Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:24 2009 -0200 perf symbols: Fixup kernel_maps__fixup_end end map We better call this routine after both the kernel and modules are loaded, because as it was if there weren't modules it would not be called, resulting in kernel_map->end remaining at zero, so no map would be found and consequently the kernel symtab wouldn't get loaded, i.e. no kernel symbols would be resolved. Also this fixes another case, that is when we _have_ modules, but the last map would have its ->end address not set before we loaded its symbols, which would never happen because ->end was not set. 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: <1258821086-11521-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8904b18046c2f050107f6449e887e7c1142b9ab9 Author: Stephane Eranian Date: Fri Nov 20 22:19:57 2009 +0100 perf_events: Fix default watermark calculation This patch fixes the default watermark value for the sampling buffer. With the existing calculation (watermark = max(PAGE_SIZE, max_size / 2)), no notification was ever received when the buffer was exactly 1 page. This was because you would never cross the threshold (there is no partial samples). In certain configuration, there was no possibilty detecting the problem because there was not enough space left to store the LOST record.In fact, there may be a more generic problem here. The kernel should ensure that there is alaways enough space to store one LOST record. This patch sets the default watermark to half the buffer size. With such limit, we are guaranteed to get a notification even with a single page buffer assuming no sample is bigger than a page. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.344964101@chello.nl> Signed-off-by: Ingo Molnar LKML-Reference: <1256302576-6169-1-git-send-email-eranian@gmail.com> commit 6f10581aeaa5543a3b7a8c7a87a064375ec357f8 Author: Peter Zijlstra Date: Fri Nov 20 22:19:56 2009 +0100 perf: Fix locking for PERF_FORMAT_GROUP We should hold event->child_mutex when iterating the inherited counters, we should hold ctx->mutex when iterating siblings. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.251030114@chello.nl> Signed-off-by: Ingo Molnar commit 59ed446f792cc07d37b1536b9c4664d14e25e425 Author: Peter Zijlstra Date: Fri Nov 20 22:19:55 2009 +0100 perf: Fix event scaling for inherited counters Properly account the full hierarchy of counters for both the count (we already did so) and the scale times (new). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.153379276@chello.nl> Signed-off-by: Ingo Molnar commit 2b8988c9f7defe319cffe0cd362a7cd356c86f62 Author: Peter Zijlstra Date: Fri Nov 20 22:19:54 2009 +0100 perf: Fix time locking Most sites updating ctx->time and event times do so under ctx->lock, make sure they all do. This was made possible by removing the __perf_event_read() call from __perf_event_sync_stat(), which already had this lock taken. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.102316434@chello.nl> Signed-off-by: Ingo Molnar commit 58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad Author: Peter Zijlstra Date: Fri Nov 20 22:19:53 2009 +0100 perf: Simplify __perf_event_read cpuctx is always active, task context is always active for current the previous condition verifies that if its a task context its for current, hence we can assume ctx->is_active. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.000272254@chello.nl> Signed-off-by: Ingo Molnar commit 3dbebf15c5d3e265f751eec72c1538a00da4be27 Author: Peter Zijlstra Date: Fri Nov 20 22:19:52 2009 +0100 perf: Simplify __perf_event_sync_stat Removes constraints from __perf_event_read() by leaving it with a single callsite; this callsite had ctx->lock held, the other one does not. Removes some superfluous code from __perf_event_sync_stat(). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.918544317@chello.nl> Signed-off-by: Ingo Molnar commit f6f83785222b0ee037f7be90731f62a649292b5e Author: Peter Zijlstra Date: Fri Nov 20 22:19:51 2009 +0100 perf: Optimize __perf_event_read() Both callers actually have IRQs disabled, no need doing so again. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.863685796@chello.nl> Signed-off-by: Ingo Molnar commit 02ffdbc866c8b1c8644601e9aa6155700eed4c91 Author: Peter Zijlstra Date: Fri Nov 20 22:19:50 2009 +0100 perf: Optimize perf_event_task_sched_out Remove an update_context_time() call from the perf_event_task_sched_out() path and into the branch its needed. The call was both superfluous, because __perf_event_sched_out() already does it, and wrong, because it was done without holding ctx->lock. Place it in perf_event_sync_stat(), which is the only place it is needed and which does already hold ctx->lock. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.779516394@chello.nl> Signed-off-by: Ingo Molnar commit abf4868b8548cae18d4fe8bbfb4e207443be01be Author: Peter Zijlstra Date: Fri Nov 20 22:19:49 2009 +0100 perf: Fix PERF_FORMAT_GROUP scale info As Corey reported, the total_enabled and total_running times could occasionally be 0, even though there were events counted. It turns out this is because we record the times before reading the counter while the latter updates the times. This patch corrects that. While looking at this code I found that there is a lot of locking iffyness around, the following patches correct most of that. Reported-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.685559857@chello.nl> Signed-off-by: Ingo Molnar commit f6d9dd237da400effb265f3554c64413f8a3e7b4 Author: Peter Zijlstra Date: Fri Nov 20 22:19:48 2009 +0100 perf: Optimize perf_event_mmap_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.606459548@chello.nl> Signed-off-by: Ingo Molnar commit f6595f3a9680c86b6332f881a7ae2cbbcfdc8619 Author: Peter Zijlstra Date: Fri Nov 20 22:19:47 2009 +0100 perf: Optimize perf_event_comm_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.527608793@chello.nl> Signed-off-by: Ingo Molnar commit d6ff86cfb50a72df820e7e839836d55d245306fb Author: Peter Zijlstra Date: Fri Nov 20 22:19:46 2009 +0100 perf: Optimize perf_event_task_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.452227115@chello.nl> Signed-off-by: Ingo Molnar commit 81520183878a8813c71c9372de28bb70913ba549 Author: Peter Zijlstra Date: Fri Nov 20 22:19:45 2009 +0100 perf: Optimize perf_swevent_ctx_event() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.378188589@chello.nl> Signed-off-by: Ingo Molnar commit 0cff784ae41cc125368ae77f1c01328ae2fdc6b3 Author: Peter Zijlstra Date: Fri Nov 20 22:19:44 2009 +0100 perf: Optimize some swcounter attr.sample_period==1 paths Avoid the rather expensive perf_swevent_set_period() if we know we have to sample every single event anyway. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.299508332@chello.nl> Signed-off-by: Ingo Molnar commit 453f19eea7dbad837425e9b07d84568d14898794 Author: Peter Zijlstra Date: Fri Nov 20 22:19:43 2009 +0100 perf: Allow for custom overflow handlers in-kernel perf users might wish to have custom actions on the sample interrupt. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.222339539@chello.nl> Signed-off-by: Ingo Molnar commit ef6ae724253429ac70d81e65d052f6a346d330bd Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:29 2009 -0200 perf symbols: Change the kernel DSO name if it comes from kallsyms So that the user have a clearer indication about the source of the symbols, as we only state buildid mismatches in verbose mode, because 'perf top' would overwrite such warning anyway. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fbd733b815a5a57d7eb0d904edc49d18fd12df5c Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:28 2009 -0200 perf symbols: Check vmlinux buildid E.g.: [root@doppio linux-2.6-tip]# perf top -v --vmlinux ../build/tip/vmlinux > /dev/null build_id in vmlinux is e96699725a47413a50c231864a8e7a8ced40a31b while expected is 18e7cc53db62a7d35e9d6f6c9ddc23017d38ee9a, ignoring it I.e. perf top was told to use a vmlinux file that is not the one currently running on the machine, it ignores it and falls back to using /proc/kallsyms. This solves many, at first, mysterious results when people have a stale vmlinux file while keeping the default of trying to use the vmlinux file in the current directory in things like 'perf annotate' where the DWARF info is required and thus we can't use just /proc/kallsyms. Modules buildids are already being checked as of the previous changeset in this series, because we are using the default dso__load routine, that will look at a series of places looking for the best file with a matching buildid, starting in the -debuginfo directories. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit c338aee853db197e1855b393e6d6cc667784537f Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:27 2009 -0200 perf symbols: Do lazy symtab loading for the kernel & modules too Just like we do with the other DSOs. This also simplifies the kernel_maps setup process, now all that the tools need to do is to call kernel_maps__init and the maps for the modules and kernel will be created, then, later, when kernel_maps__find_symbol() is used, it will also call maps__find_symbol that already checks if the symtab was loaded, loading it if needed. Now if one does 'perf top --hide_kernel_symbols' we won't pay the price of loading the (many) symbols in /proc/kallsyms or vmlinux. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 78075caad99dc36ec6ef5826b7a5273ea14295fc Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:26 2009 -0200 perf symbols: Introduce dso__build_id_equal Will be used in more places. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fd7a346ea292074e9f6cdb5232a57c56bf98fdc9 Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:25 2009 -0200 perf symbols: Filename__read_build_id should look at .notes section too In the kernel we have more than one notes section, so the linker script combines all and puts them into a ".notes" combined section. So we need to look at both sections and also traverse them looking at multiple GElf_Nhdr entries till we find the one we want, with the build_id. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6671cb1674e69e2aba3d610714bdd3e97a7b51ff Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:24 2009 -0200 perf symbols: Remove unrelated actions from dso__load_kernel_sym It should just load kernel symbols, not load the list of modules. There are more stuff to move to other routines, but lets do it in several steps. End goal is to be able to defer symbol table loading till we find a hit for that map address range. So that the kernel & modules are handled just like all the other DSOs in the system. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 96200591a34f8ecb98481c626125df43a2463b55 Merge: 7031281 68efa37 Author: Ingo Molnar Date: Sat Nov 21 14:07:23 2009 +0100 Merge branch 'tracing/hw-breakpoints' into perf/core Conflicts: arch/x86/kernel/kprobes.c kernel/trace/Makefile Merge reason: hw-breakpoints perf integration is looking good in testing and in reviews, plus conflicts are mounting up - so merge & resolve. Signed-off-by: Ingo Molnar commit 7031281e02bf951a2259849217193fb9d75a9762 Merge: ba77c9e d62d77f Author: Ingo Molnar Date: Sat Nov 21 13:57:35 2009 +0100 Merge branch 'perf/urgent' into perf/core Conflicts: tools/perf/util/symbol.c Merge reason: this fix will get merged in .33, not .32, plus resolve the conflict. Signed-off-by: Ingo Molnar commit 6f5f67267dc4faecd9cba63894de92ca92a608b8 Author: Masami Hiramatsu Date: Fri Nov 20 12:13:14 2009 -0500 x86: insn decoder test checks objdump version Check objdump version before using it for insn decoder build test, because some older objdump can't decode AVX code correctly. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston LKML-Reference: <20091120171314.6715.30390.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: H. Peter Anvin commit 80509e27e40d7554e576405ed9f5b7966c567112 Author: Masami Hiramatsu Date: Fri Nov 20 12:13:08 2009 -0500 x86: Fix insn decoder test typos Fix postest_verbose to posttest_verbose, and add posttest_64bit option for CONFIG_64BIT != y, since old command just passed '-' instead of '-n' when CONFIG_64BIT is not set. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston LKML-Reference: <20091120171307.6715.66099.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: H. Peter Anvin commit 749f583f3405f93bf56ed5dd0be1d65c06db6f0f Merge: ef1a688 345a322 Author: Russell King Date: Fri Nov 20 23:53:11 2009 +0000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop into devel-stable commit 8964be4a9a5ca8cab1219bb046db2f6d1936227c Author: Eric Dumazet Date: Fri Nov 20 15:35:04 2009 -0800 net: rename skb->iif to skb->skb_iif To help grep games, rename iif to skb_iif Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ab2f489294b69e6d736efa7a57dcf286cd9662a0 Author: Kumar Gala Date: Thu Oct 22 16:35:07 2009 -0500 powerpc/p4080: Add basic support for p4080ds platform Add basic support for the P4080 DS reference board. None of the data path devices (ethernet, crypto, pme) are support at this time. Signed-off-by: Kumar Gala commit 3bc265627a0e163acebd35235454c525ea020804 Author: Martyn Welch Date: Thu Jul 2 17:12:44 2009 +0100 powerpc/86xx: Support for NVRAM on GE Fanuc's PPC9A Add support for NVRAM on GE Fanuc's PPC9A. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 9093067ad11b22c967b0cbf5532ecb25b0d7d983 Author: Martyn Welch Date: Thu Jul 2 17:12:37 2009 +0100 powerpc/86xx: Support for NVRAM on GE Fanuc's SBC310 Add support for NVRAM on GE Fanuc's SBC310. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 0d81df8701d0972117008911bf00ebb1eef1471f Author: Martyn Welch Date: Thu Jul 2 17:12:31 2009 +0100 powerpc/86xx: Enable NVRAM on GE Fanuc's SBC610 This patch enables the NVRAM found on the GE Fanuc SBC610 Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit a3f62bd2b20c769ddc989b242ddd274179e19ee6 Author: Kumar Gala Date: Sun Oct 18 13:55:55 2009 -0500 powerpc/fsl: Add PCI device ids for new QoirQ chips Signed-off-by: Kumar Gala commit 8b27f0b61db57f5555fc2d3fc95c3ea9fd1a9d6c Author: Kumar Gala Date: Thu Oct 15 12:49:01 2009 -0500 powerpc/fsl-booke: Rework TLB CAM code Re-write the code so its more standalone and fixed some issues: * Bump'd # of CAM entries to 64 to support e500mc * Make the code handle MAS7 properly * Use pr_cont instead of creating a string as we go Signed-off-by: Kumar Gala commit 5753c082f66eca5be81f6bda85c1718c5eea6ada Author: Kumar Gala Date: Fri Oct 16 18:31:48 2009 -0500 powerpc/85xx: Kconfig cleanup Introduce new FSL_SOC_BOOKE Kconfig to handle both 85xx and QorIQ based chips. Signed-off-by: Kumar Gala commit fa9a6fed87df1b50804405e700f8d30251d3aaf1 Author: Sarveshwar Bandi Date: Fri Nov 20 14:23:47 2009 -0800 be2net: Patch to flash redboot section while firmware update. Please apply patch to update redboot section while firmware update. Code checks if section needs to be updated before actually doing it. Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit eb6d02133cf5451fece3a37ccccf2ce7c09a09c1 Author: Amit Kumar Salecha Date: Thu Nov 19 15:08:12 2009 +0000 netxen: remove PCI IDs of CNA device Remove PCI vendor and device IDs for QLE8240 and QLE8242 CNA devices. CNA devices will have separate driver. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 55cac248caa4a5f181a11cd2f269a672bef3d3b5 Author: Alexander Duyck Date: Thu Nov 19 12:42:21 2009 +0000 igb: Add full support for 82580 devices This patch makes use of the 82580 PHY and MAC support added and adds a set of supported device IDs for said hardware. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb2ac47bcfd47ed9431ff1676ec8d79250c941c9 Author: Alexander Duyck Date: Thu Nov 19 12:42:01 2009 +0000 igb: add support for 82580 MAC This patch adds support for the 82580 MAC. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2909c3f79d933b55bf2485addb1dca762210b6af Author: Alexander Duyck Date: Thu Nov 19 12:41:42 2009 +0000 igb: add support for the 82580 phy This patch adds support for the phy included in the 82580 silicon family. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ef1a68848a968f7347cf7eea24072464059af8f1 Merge: 1508c99 0912e53 Author: Russell King Date: Fri Nov 20 17:51:21 2009 +0000 Merge branch 'for-rmk' of git://github.com/at91linux/linux-2.6-at91 into devel-stable Conflicts: arch/arm/mach-at91/Kconfig commit c656ae95d1c5c8ed5763356263ace2d03087efec Author: Eric W. Biederman Date: Fri Nov 20 09:24:19 2009 -0800 security/tomoyo: Remove now unnecessary handling of security_sysctl. Now that sys_sysctl is an emulation on top of proc sys all sysctl operations look like normal filesystem operations and we don't need to use the special sysctl hook to authenticate them. Acked-by: Tetsuo Handa Signed-off-by: Eric W. Biederman commit 1d2c6cfd40b2dece3bb958cbbc405a2c1536ab75 Author: Frederic Weisbecker Date: Fri Nov 20 04:11:30 2009 +0100 kill-the-bkl/reiserfs: turn GFP_ATOMIC flag to GFP_NOFS in reiserfs_get_block() GFP_ATOMIC was used in reiserfs_get_block to not lose the Bkl so that nobody can modify the tree in the middle of its work. Now that we kicked out the bkl, we can use a more friendly flag. We use GFP_NOFS here because we already hold the reiserfs lock. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit a4054b6b20e9c2cca63715a319759bf8d37d82fc Author: Eric W. Biederman Date: Fri Nov 20 09:12:22 2009 -0800 security/tomoyo: Add a special case to handle accesses through the internal proc mount. With the change of sys_sysctl going through the internal proc mount we no longer need to handle security_sysctl in tomoyo as we have valid pathnames for all sysctl accesses. There is one slight caveat to that in that all of the paths from the internal mount look like "/sys/net/ipv4/ip_local_port_range" instead of "/proc/sys/net/ipv4/ip_local_port_range" so tomoyo needs to add the "/proc" portion manually when resolving to full path names to get what it expects. This change teaches tomoyo perform that modification. Acked-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: Eric W. Biederman commit dcdec639ad74f20427df82284f98b68f6ac7c0ae Merge: b2a2236 f3d0e82 Author: Mark Brown Date: Fri Nov 20 16:37:10 2009 +0000 Merge branch 'ads117x' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.33 commit 5c43d49aec499973b51e574af871c8918598c2db Author: Pavel Machek Date: Mon Nov 2 11:55:12 2009 +0100 msm: Add memory map for HTC Dream Add memory map to HTC Dream, so that boot can proceed further. Signed-off-by: Pavel Machek Signed-off-by: Daniel Walker commit 348ee123a15ec064c0c4c98ecb5fbf4737153887 Author: Pavel Machek Date: Wed Nov 18 19:18:24 2009 +0100 msm: add minimal board file for HTC Dream device This is just enough to get the device booting and serial console working. Sufficient for debugging further MSM7k/Dream Support. This will support HTC Dream / T-Mobile G1 / Android ADP1 (which are all the same hardware, known as "trout" to the ARM machine database). Signed-off-by: Brian Swetland Reviewed-by: GeunSik Lim Signed-off-by: Pavel Machek Signed-off-by: Daniel Walker commit 6339f6695f84e48b42021c6df91d81b17308fe92 Author: Pavel Machek Date: Mon Nov 2 11:48:29 2009 +0100 msm: make debugging UART (for DEBUG_LL) configurable Provides options to select one of the three "lowspeed" UARTs on MSM7k SoCs for DEBUG_LL output from the zImage decompressor and kernel. Signed-off-by: Brian Swetland Signed-off-by: Pavel Machek Signed-off-by: Daniel Walker commit 746357d6a526d6da9d89a2ec645b28406e959c2e Author: Thomas Gleixner Date: Fri Nov 20 12:01:43 2009 +0100 x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage When the kernel is compiled with -pg for tracing GCC 4.4.x inserts stack alignment of a function _before_ the mcount prologue if the -march=pentium-mmx is set and -mtune=generic is not set. This breaks the assumption of the function graph tracer which expects that the mcount prologue push %ebp mov %esp, %ebp is the first stack operation in a function because it needs to modify the function return address on the stack to trap into the tracer before returning to the real caller. The generated code is: push %edi lea 0x8(%esp),%edi and $0xfffffff0,%esp pushl -0x4(%edi) push %ebp mov %esp,%ebp so the tracer modifies the copy of the return address which is stored after the stack alignment and therefor does not trap the return which in turn breaks the call chain logic of the tracer and leads to a kernel panic. Aside of the fact that the generated code is horrible for no good reason other -march -mtune options generate the expected: push %ebp mov %esp,%ebp and $0xfffffff0,%esp which does the same and keeps everything intact. After some experimenting we found out that this problem is restricted to gcc4.4.x and to the following -march settings: i586, pentium, pentium-mmx, k6, k6-2, k6-3, winchip-c6, winchip2, c3, geode By adding -mtune=generic the code generator produces always the expected code. So forcing -mtune=generic when CONFIG_FUNCTION_GRAPH_TRACER=y is not pretty, but at the moment the only way to prevent that the kernel trips over gcc-shrooms induced code madness. Most distro kernels have CONFIG_X86_GENERIC=y anyway which forces -mtune=generic as well so it will not impact those. References: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42109 http://lkml.org/lkml/2009/11/19/17 Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Linus Torvalds Cc: Andrew Morton Cc: Ingo Molnar Cc: Peter Zijlstra Cc: H. Peter Anvin Cc: Steven Rostedt Cc: Frederic Weisbecker , Cc: Jeff Law Cc: gcc@gcc.gnu.org Cc: David Daney Cc: Andrew Haley Cc: Richard Guenther Cc: stable@kernel.org commit 7cef4cf1c5e9d81554137f52b96a5ab7f6241cdd Author: Łukasz Wojniłowicz Date: Fri Nov 20 12:14:35 2009 +0100 ALSA: hda - 4930g mute lfe and side when pluging in headphones Fixes first issue from comment 0021423 in bug 0004317 for Acer Aspire 5930g Signed-off-by: Łukasz Wojniłowicz Signed-off-by: Takashi Iwai commit 34769945f7cd9ab470413ffe64426e3ad069f49e Author: Thomas Gleixner Date: Fri Nov 20 11:46:21 2009 +0100 genirq: Fix spurious irq seqfile conversion single_open data argument must be PDE(inode)->data instead of NULL otherwise seq_file->private is always NULL and we always read the spurious data of irq 0. Reported-by: Alexey Dobriyan Signed-off-by: Thomas Gleixner commit 8629ea2eaba8ca0de2e38ce1b4a825e16255976e Author: Feng Tang Date: Thu Sep 3 16:32:53 2009 +0800 hrtimer: Fix /proc/timer_list regression commit 507e1231 (timer stats: Optimize by adding quick check to avoid function calls) introduced a regression in /proc/timer_list. /proc/timer_list shows now #0: , tick_sched_timer, S:01, <(null)>, /-1 instead of #0: , tick_sched_timer, S:01, hrtimer_start, swapper/0 Revert the hrtimer quick check for now. The optimization needs more thought, but this is neither 2.6.32-rc7 nor stable material. [ tglx: - Removed unrelated changes from the original patch - Prevent unneccesary call to timer_stats_update_stats - massaged the changelog ] Signed-off-by: Feng Tang LKML-Reference: Cc: Heiko Carstens Cc: stable@kernel.org Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 985f37f827f5012f88e286914cdbae87b9f50ed1 Author: Nicolas Ferre Date: Thu Nov 19 09:32:52 2009 -0800 AT91: add touchscreen support for at91sam9g45ekes New at91sam9g45ekes board provides a LCD with resistive touchscreen. This is the support of this feature by atmel_tsadcc driver. This also sets up platform parameters to be passed to the driver. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Dmitry Torokhov commit 423c9b0dc3d01e50a4df4e48e8477bfb33638d6e Author: Nicolas Ferre Date: Thu Nov 19 09:31:20 2009 -0800 AT91: add platform parameters for atmel_tsadcc in at91sam9rlek Setup platform parameters in at91sam9rl-ek board to be passed to atmel_tsadcc touchscreen. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Dmitry Torokhov commit 970435a141b55b2334c6b7e834ed5da7a87daae5 Author: Nicolas Ferre Date: Thu Nov 19 09:29:32 2009 -0800 Input: atmel_tsadcc - use platform parameters Add a number of plafrom dependent parameters to atmel_tsadcc. The touchscreeen driver can now take into account the slight differences that exist between IPs included in diferent products. This will also allow to adapt its behaivior to the caracteristics of the resistive panel used. Signed-off-by: Nicolas Ferre Signed-off-by: Dmitry Torokhov commit ab9122cd3377c9eee85380ea2fe35125c6962a87 Author: Nicolas Ferre Date: Thu Nov 19 09:28:25 2009 -0800 Input: atmel_tsadcc - rework setting touchscreen capabilities Tiny patch for setting capabilities using input API function. Signed-off-by: Nicolas Ferre Signed-off-by: Dmitry Torokhov commit 0c09b2ac35ff7c5f280e5cf8142ad0822f1c93b3 Author: Alan Jenkins Date: Wed Nov 18 00:40:48 2009 -0800 Input: keyboard - fix theoretical race on vt switch A VT switch can theoretically change fg_console between vc = vc_cons[fg_console].d and kbd = kbd_table + fg_console Fix it by replacing the second fg_console with vc->vc_num. Signed-off-by: Alan Jenkins Signed-off-by: Dmitry Torokhov commit 71bb21b677e89a2b438b804231f92b779beda5d7 Author: Maxim Levitsky Date: Mon Nov 16 22:12:22 2009 -0800 Input: ALPS - add support for touchpads with 4-directional button The touchpad on Acer Aspire 5720, 5520 and some other Aspire models (signature 0x73, 0x02, 0x50) has a button that can be rocked in 4 different directions. Make the driver to generate BTN_0..BTN_3 events in response. The Synaptics driver by default maps BTN_0 and BTN_1 to up and down, so there should be no visible changes with the old setup that generated BTN_FORWARD and BTN_BACK (also mapped to up and down). Signed-off-by: Maxim Levitsky Signed-off-by: Dmitry Torokhov commit 315eb996d5505112b22452ccbc7e01fb02eaae81 Author: Dmitry Torokhov Date: Mon Nov 16 22:12:21 2009 -0800 Input: psmouse - rework setting of BTN_MIDDLE capability Do not start protocol detection assuming that middle mouse is present, instead let individual protocols explicitly set this capability. This fixes issue with Synaptics touchpads pretending that they have middle button when hardware clearly reports otherwise. Reported-and-tested-by: Andrey Borzenkov Signed-off-by: Dmitry Torokhov commit 0cc1770b66ddc2524ab5f0ed6ba5f2df19d6414a Author: Dmitry Torokhov Date: Mon Nov 16 22:12:21 2009 -0800 Input: lifebook - do not advertise unsupported buttons The main input device of Lifebook touchscreens does not generate left/right/middle button events and therefore should not be advertising them in its capabilities. Signed-off-by: Dmitry Torokhov commit c7a1f3ccfc2f99427f2e1545b3171e98539c3c95 Author: Dmitry Torokhov Date: Mon Nov 16 22:12:21 2009 -0800 Input: elantech - do not advertise relative events Elantech touchpads work in absolute mode and do not generate relative events so they should not be advertising them. Signed-off-by: Dmitry Torokhov commit 21f25573fbd1b459d5401f2b72160f745013fc34 Author: Dmitry Torokhov Date: Mon Nov 16 22:12:21 2009 -0800 Input: touchkit_ps2 - do not advertise unsupported buttons Touchkit PS/2 touchscreen does not have left/right/middle buttons and should not be advertising as capable of generating these events. Signed-off-by: Dmitry Torokhov commit d69249f4b6857c0b23ceca270ae591381b16bba9 Author: Dmitry Torokhov Date: Mon Nov 16 22:12:20 2009 -0800 Input: input-polldev, matrix-keypad - include in kernel doc Make sure that polled input device and matrix keypad APIs are included with the rest of input API when generating kernel documentation. Also description of absres was missing as well. Signed-off-by: Dmitry Torokhov commit dad725d089b94bce8bbc769b7471dcfba3fbda0e Author: Samu Onkalo Date: Fri Nov 13 21:13:22 2009 -0800 Input: input-polldev - add sysfs interface for controlling poll interval Sysfs entry for reading and setting of the polling interval. If the interval is set to 0, polling is stopped. Polling is restarted when interval is changed to non-zero. sysfs entries: poll = current polling interval in msec (RW) max = max allowed polling interval (RO) min = min allowed polling interval (RO) Minimum and maximum limit for interval can be set while setting up the device. Interval can be adjusted even if the input device is not currently open. [dtor@mail.ru: add kernel doc markup for the new fields] Signed-off-by: Samu Onkalo Signed-off-by: Dmitry Torokhov commit bc8f1eaf68a8aa1d993492f1ad2d74502665f578 Author: Ben Dooks Date: Tue Nov 10 21:01:31 2009 -0800 Input: gpio_keys - seperate individual button setup to make code neater Move the code that deals with setting up each individual button out into a new function to reduce the indentation and allow us to common up some of the error recovery code. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Dmitry Torokhov commit 111bc59c08c437e433bd5b9cc726adaa912c6e6c Author: Ben Dooks Date: Tue Nov 10 21:01:31 2009 -0800 Input: gpio_keys - use instead of The gpio keys driver should be using instead of Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Dmitry Torokhov commit db19fd8b3a3e198e84b93fa217acf77e72a4cd35 Author: Ben Dooks Date: Tue Nov 10 21:00:35 2009 -0800 Input: gpio_keys - use dev_ macros to report information The gpio_keys driver is binding to a platform device but using pr_err() to report errors. Change to using dev_err() so that all messages are prefixed by the device name. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Dmitry Torokhov commit fb141597550243b471f3bd526fe689aa3b74df25 Author: Marek Vasut Date: Sun Nov 8 19:45:54 2009 -0800 Input: ucb1400_ts - allow passing IRQ through platfrom_data This patch allows UCB1400 to get IRQ GPIO from platform data. In case platform_data are not supplied or the IRQ supplied in the platform_data is negative, fall back to the old IRQ detection algorithm. Signed-off-by: Marek Vasut Signed-off-by: Dmitry Torokhov commit ba77c9e11111a172c9e8687fe16a6a173a61916f Author: Li Zefan Date: Fri Nov 20 15:53:25 2009 +0800 perf: Add 'perf kmem' tool This tool is mostly a perf version of kmemtrace-user. The following information is provided by this tool: - the total amount of memory allocated and fragmentation per call-site - the total amount of memory allocated and fragmentation per allocation - total memory allocated and fragmentation in the collected dataset - ... Sample output: # ./perf kmem record ^C # ./perf kmem --stat caller --stat alloc -l 10 ------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Fragmentation ------------------------------------------------------------------------------ 0xc052f37a | 790528/4096 | 790528/4096 | 193 | 0.000% 0xc0541d70 | 524288/4096 | 524288/4096 | 128 | 0.000% 0xc051cc68 | 481600/200 | 481600/200 | 2408 | 0.000% 0xc0572623 | 297444/676 | 297440/676 | 440 | 0.001% 0xc05399f1 | 73476/164 | 73472/164 | 448 | 0.005% 0xc05243bf | 51456/256 | 51456/256 | 201 | 0.000% 0xc0730d0e | 31844/497 | 31808/497 | 64 | 0.113% 0xc0734c4e | 17152/256 | 17152/256 | 67 | 0.000% 0xc0541a6d | 16384/128 | 16384/128 | 128 | 0.000% 0xc059c217 | 13120/40 | 13120/40 | 328 | 0.000% 0xc0501ee6 | 11264/88 | 11264/88 | 128 | 0.000% 0xc04daef0 | 7504/682 | 7128/648 | 11 | 5.011% 0xc04e14a3 | 4216/191 | 4216/191 | 22 | 0.000% 0xc05041ca | 3524/44 | 3520/44 | 80 | 0.114% 0xc0734fa3 | 2104/701 | 1620/540 | 3 | 23.004% 0xc05ec9f1 | 2024/289 | 2016/288 | 7 | 0.395% 0xc06a1999 | 1792/256 | 1792/256 | 7 | 0.000% 0xc0463b9a | 1584/144 | 1584/144 | 11 | 0.000% 0xc0541eb0 | 1024/16 | 1024/16 | 64 | 0.000% 0xc06a19ac | 896/128 | 896/128 | 7 | 0.000% 0xc05721c0 | 772/12 | 768/12 | 64 | 0.518% 0xc054d1e6 | 288/57 | 280/56 | 5 | 2.778% 0xc04b562e | 157/31 | 154/30 | 5 | 1.911% 0xc04b536f | 80/16 | 80/16 | 5 | 0.000% 0xc05855a0 | 64/64 | 36/36 | 1 | 43.750% ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ Alloc Ptr | Total_alloc/Per | Total_req/Per | Hit | Fragmentation ------------------------------------------------------------------------------ 0xda884000 | 1052672/4096 | 1052672/4096 | 257 | 0.000% 0xda886000 | 262144/4096 | 262144/4096 | 64 | 0.000% 0xf60c7c00 | 16512/128 | 16512/128 | 129 | 0.000% 0xf59a4118 | 13120/40 | 13120/40 | 328 | 0.000% 0xdfd4b2c0 | 11264/88 | 11264/88 | 128 | 0.000% 0xf5274600 | 7680/256 | 7680/256 | 30 | 0.000% 0xe8395000 | 5948/594 | 5464/546 | 10 | 8.137% 0xe59c3c00 | 5748/479 | 5712/476 | 12 | 0.626% 0xf4cd1a80 | 3524/44 | 3520/44 | 80 | 0.114% 0xe5bd1600 | 2892/482 | 2856/476 | 6 | 1.245% ... | ... | ... | ... | ... ------------------------------------------------------------------------------ SUMMARY ======= Total bytes requested: 2333626 Total bytes allocated: 2353712 Total bytes wasted on internal fragmentation: 20086 Internal fragmentation: 0.853375% TODO: - show sym+offset in 'callsite' column - show cross node allocation stats - collect more useful stats? - ... Signed-off-by: Li Zefan Acked-by: Pekka Enberg Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Eduard - Gabriel Munteanu Cc: linux-mm@kvack.org LKML-Reference: <4B064AF5.9060208@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fbc543915ffb8ec5c35403f294ab799f1936f42a Author: Akinobu Mita Date: Fri Nov 20 14:56:52 2009 +0900 ALSA: sound: usbmidi: Use hweight16 Use hweight16 instead of Brian Kernighan's/Peter Wegner's method Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai commit d867bba94513cf149cb8462a6e006848acb91d38 Author: Clemens Ladisch Date: Thu Nov 19 14:34:33 2009 +0100 sound: usb-audio: add Roland UA-1G support Add support for the Roland UA-1G audio interface. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0234576d041b9b2cc7043691ea61d2c2ca597aaa Author: Ryusuke Konishi Date: Fri Nov 20 03:28:01 2009 +0900 nilfs2: add norecovery mount option This adds "norecovery" mount option which disables temporal write access to read-only mounts or snapshots during mount/recovery. Without this option, write access will be even performed for those types of mounts; the temporal write access is needed to mount root file system read-only after an unclean shutdown. This option will be helpful when user wants to prevent any write access to the device. Signed-off-by: Ryusuke Konishi Cc: Eric Sandeen commit a057d2c01161444c48b12a60351ae6c7135f6e61 Author: Ryusuke Konishi Date: Thu Nov 19 19:58:46 2009 +0900 nilfs2: add helper to get if volume is in a valid state This adds a helper function, nilfs_valid_fs() which returns if nilfs is in a valid state or not. Signed-off-by: Ryusuke Konishi commit f50a4c8149cc135921a8a0476bff8e622f59aef9 Author: Ryusuke Konishi Date: Thu Nov 19 16:58:40 2009 +0900 nilfs2: move recovery completion into load_nilfs function Although mount recovery of nilfs is integrated in load_nilfs() procedure, the completion of recovery was isolated from the procedure and performed at the end of the fill_super routine. This was somewhat confusing since the recovery is needed for the nilfs object, not for a super block instance. To resolve the inconsistency, this will integrate the recovery completion into load_nilfs(). Signed-off-by: Ryusuke Konishi commit 050b4142c9f3cb3a213f254bd1a1fa1476800585 Author: Ryusuke Konishi Date: Thu Nov 19 22:24:48 2009 +0900 nilfs2: apply readahead for recovery on mount This inserts readahead in the recovery code. The readahead request is issued per segment while searching the latest super root block. This will shorten mount time after unclean unmount. A measurement shows the recovery time was reduced by more than 60 percent: e.g. real 0m11.586s -> 0m3.918s (x 2.96) Signed-off-by: Ryusuke Konishi commit f021759d74d71bacc73fc3e00d6e3d35e1f2e123 Author: Ryusuke Konishi Date: Wed Nov 18 18:37:28 2009 +0900 nilfs2: clean up get/put function of a segment usage This eliminates obsolete nilfs_get_sufile_get_segment_usage() and nilfs_set_sufile_segment_usage() from sufile. Signed-off-by: Ryusuke Konishi commit 071ec54dd730307ee0e703a105872b9a1c6fd2aa Author: Ryusuke Konishi Date: Wed Nov 18 18:23:34 2009 +0900 nilfs2: move routine to set segment usage into sufile This adds nilfs_sufile_set_segment_usage() function in sufile to replace direct access to the sufile metadata in log writer code. Signed-off-by: Ryusuke Konishi commit 61a189e9c62359cd12b2aa3bd6ab9cffa6cf2745 Author: Ryusuke Konishi Date: Wed Nov 18 17:25:12 2009 +0900 nilfs2: move routine marking segment usage dirty into sufile This adds nilfs_sufile_mark_dirty() function in sufile to replace nilfs_touch_segusage() function in log writer code. This is a preparation for the further cleanup which will move out low level sufile operations in the log writer. Signed-off-by: Ryusuke Konishi commit 70622a2091647840013c1e982e56a8808768847e Author: Ryusuke Konishi Date: Sat Nov 14 18:40:27 2009 +0900 nilfs2: insert cache operation in palloc get block routines This implements cache operation in get block routines of palloc code: nilfs_palloc_get_desc_block(), nilfs_palloc_get_bitmap_block(), and nilfs_palloc_get_entry_block(). This will complete the palloc cache. Signed-off-by: Ryusuke Konishi commit 49fa7a590208b439cc74f2cafdb15568abb3f8d1 Author: Ryusuke Konishi Date: Sat Nov 14 16:44:22 2009 +0900 nilfs2: add palloc cache to ifile This adds the palloc cache to ifile. The palloc cache is allocated on the extended region of nilfs_mdt_info struct. The struct nilfs_ifile_info defines the extended on memory structure of ifile. Signed-off-by: Ryusuke Konishi commit c3ea56c80081b826df4a0ac797432179cf5b7cd2 Author: Ryusuke Konishi Date: Sun Nov 15 20:13:21 2009 +0900 nilfs2: flush palloc cache before manipulating data pages of GC dat Data pages in gcdat metadata file (i.e. the secondary DAT for GC), are cleared or even moved back to the normal DAT when a shot of garbage collection was done. Buffer heads held by the palloc cache of gcdat must be cleared before these page cache manipulation. This adds nilfs_palloc_clear_cache() to ensure this. Signed-off-by: Ryusuke Konishi commit 8908b2f70b795299d21706b5a97676cfe7f9056a Author: Ryusuke Konishi Date: Sat Nov 14 16:35:01 2009 +0900 nilfs2: add palloc cache to dat This adds the palloc cache to DAT file. The palloc cache is allocated on the extended region of nilfs_mdt_info struct. The struct nilfs_dat_info defines the extended on memory structure of DAT. Signed-off-by: Ryusuke Konishi commit db38d5ad323362bfca118b52fe5906f97a69fb45 Author: Ryusuke Konishi Date: Sat Nov 14 15:54:27 2009 +0900 nilfs2: add cache framework for persistent object allocator This adds setup and cleanup routines of the persistent object allocator cache. According to ftrace analyses, accessing buffers of the DAT file suffers indispensable overhead many times. To mitigate the overhead, This introduce cache framework for the persistent object allocator (palloc) which the DAT file and ifile are using. struct nilfs_palloc_cache represents the cache object per metadata file using palloc. The cache is initialized through nilfs_palloc_setup_cache() and destroyed by nilfs_palloc_destroy_cache(); callers of the former function will be added to individual allocators of DAT and ifile on successive patches. nilfs_palloc_destroy_cache() will be called from nilfs_mdt_destroy() if the cache is attached to a metadata file. A companion function nilfs_palloc_clear_cache() is provided to allow releasing buffer head references independently with the cleanup task. This adjunctive function will be used before invalidating pages of metadata file with the cache. Signed-off-by: Ryusuke Konishi commit 141bbdba9c2c1592d56b019277774099a5412aea Author: Ryusuke Konishi Date: Sat Nov 14 13:48:06 2009 +0900 nilfs2: unfold nilfs_palloc_block_get_bitmap function This expands a trivial address calculation in the function into its every callsite. This expansion improves readability of the callers. Signed-off-by: Ryusuke Konishi commit 1376e931b75f954057b1547ba25fcba594cef804 Author: Ryusuke Konishi Date: Fri Nov 13 16:49:09 2009 +0900 nilfs2: eliminate nilfs_btnode_get function This removes the obsolete nilfs_btnode_get() function and makes nilfs_btree_get_block() directly call nilfs_btnode_submit_block(). This expansion will provide better opportunity for code optimization. Signed-off-by: Ryusuke Konishi commit 75f65edfcc4a19d14fc8ab860846fad070c8db49 Author: Ryusuke Konishi Date: Fri Nov 13 16:30:41 2009 +0900 nilfs2: remove newblk argument from nilfs_btnode_submit_block This removes the obsolete argument from nilfs_btnode_submit_block(). This will complete separating a create function of btree node. Signed-off-by: Ryusuke Konishi commit 45f4910bc0bb904bcf53aa04ee1b807abe1387a6 Author: Ryusuke Konishi Date: Fri Nov 13 16:25:19 2009 +0900 nilfs2: use nilfs_btnode_create_block function This displaces nilfs_btnode_get() use to create new btree node block with nilfs_btnode_create_block. Signed-off-by: Ryusuke Konishi commit d501d7368937740e8d06671a4bfe4e236ed25bd0 Author: Ryusuke Konishi Date: Fri Nov 13 16:04:11 2009 +0900 nilfs2: separate function for creating new btree node block Adds a separate routine for creating a btree node block. This is a preparation to reduce the depth of function calls during submitting btree node buffer. Signed-off-by: Ryusuke Konishi commit b34a65069caa56b691ebab5ae0b8e54d16406d16 Author: Ryusuke Konishi Date: Sat Nov 14 00:09:47 2009 +0900 nilfs2: avoid readahead on metadata file for create mode This turns off readhead action of metadata file if nilfs_mdt_get_block function was called with a create flag. Signed-off-by: Ryusuke Konishi commit ef7d4757a5b7b07a3a0d30d3ba6b587e574b28b9 Author: Ryusuke Konishi Date: Fri Nov 13 08:45:32 2009 +0900 nilfs2: simplify nilfs_sufile_get_ncleansegs function Previously, this function took an status code to return possible error codes. The ("nilfs2: add local variable to cache the number of clean segments") patch removed the possibility to return errors. So, this simplifies the function definition to make it directly return the number of clean segments. Signed-off-by: Ryusuke Konishi commit aa474a220180d997caafcee372770d6ed6bf798a Author: Ryusuke Konishi Date: Fri Nov 13 03:41:55 2009 +0900 nilfs2: add local variable to cache the number of clean segments This makes it possible for sufile to get the number of clean segments faster. Signed-off-by: Ryusuke Konishi commit 7b16c8a211c87d465c48ea324928f8057590b853 Author: Ryusuke Konishi Date: Fri Nov 13 03:10:21 2009 +0900 nilfs2: unfold nilfs_sufile_block_get_header function This unfolds the nilfs_sufile_block_get_header() function for simplicity. Signed-off-by: Ryusuke Konishi commit fd66c0d5c377ee8146909d0eb9258539e4b0f293 Author: Ryusuke Konishi Date: Fri Nov 13 02:25:41 2009 +0900 nilfs2: hide nilfs_mdt_clear calls in nilfs_mdt_destroy This will hide a function call of nilfs_mdt_clear() in nilfs_mdt_destroy(). This ensures nilfs_mdt_destroy() to do cleanup jobs included in nilfs_mdt_clear(). Signed-off-by: Ryusuke Konishi commit 3961f0e2775f84a8f81b0dcddb0b356ebfe0696b Author: Ryusuke Konishi Date: Fri Nov 13 01:55:02 2009 +0900 nilfs2: eliminate inlines to directly read/write inode of metadata files Removes two inline functions: nilfs_mdt_read_inode_direct() and nilfs_mdt_write_inode_direct(). Signed-off-by: Ryusuke Konishi commit 8707df38478c8e0958b706f0ea1cdf99d00a9469 Author: Ryusuke Konishi Date: Fri Nov 13 01:36:56 2009 +0900 nilfs2: separate read method of meta data files on super root block Will displace nilfs_mdt_read_inode_direct function with an individual read method: nilfs_dat_read, nilfs_sufile_read, nilfs_cpfile_read. This provides the opportunity to initialize local variables of each metadata file after reading the inode. Signed-off-by: Ryusuke Konishi commit 79739565e15f2adbc482207a0800fc127c84d1a0 Author: Ryusuke Konishi Date: Thu Nov 12 23:56:43 2009 +0900 nilfs2: separate constructor of metadata files This will displace nilfs_mdt_new() constructor with individual metadata file constructors like nilfs_dat_new(), new_sufile_new(), nilfs_cpfile_new(), and nilfs_ifile_new(). This makes it possible for each metadata file to have own intialization code. Signed-off-by: Ryusuke Konishi commit 5731e191f254af9135ad843119804a500528ecf3 Author: Ryusuke Konishi Date: Thu Nov 12 22:42:04 2009 +0900 nilfs2: add size option of private object to metadata file allocator This adds an optional "object size" argument to nilfs_mdt_new_common() function; the argument specifies the size of private object attached to a newly allocated metadata file inode. This will afford space to keep local variables for meta data files. Signed-off-by: Ryusuke Konishi commit 9cb4e0d2b99e8b0e5e269d898ae6ab1967647c5a Author: Ryusuke Konishi Date: Fri Nov 6 01:00:48 2009 +0900 nilfs2: move out mark_inode_dirty calls from bmap routines Previously, nilfs_bmap_add_blocks() and nilfs_bmap_sub_blocks() called mark_inode_dirty() after they changed the number of data blocks. This moves these calls outside bmap outermost functions like nilfs_bmap_insert() or nilfs_bmap_truncate(). This will mitigate overhead for truncate or delete operation since they repeatedly remove set of blocks. Nearly 10 percent improvement was observed for removal of a large file: # dd if=/dev/zero of=/test/aaa bs=1M count=512 # time rm /test/aaa real 2.968s -> 2.705s Further optimization may be possible by eliminating these mark_inode_dirty() uses though I avoid mixing separate changes here. Signed-off-by: Ryusuke Konishi commit 09bf4aae0a3c471b721c43e7bdb6132200d907b2 Author: Ryusuke Konishi Date: Thu Nov 5 15:53:27 2009 +0900 nilfs2: stop marking metadata inode dirty within btree operations Since metadata file routines mark the inode dirty after they successfully changed bmap objects, nilfs_mdt_mark_dirty() calls in nilfs_bmap_add_blocks() and nilfs_bmap_sub_blocks() are redundant. This removes these overlapping calls from the bmap routines. Signed-off-by: Ryusuke Konishi commit 30db4e6c3d51a89e4923e525303f714e6508bbd0 Author: Ryusuke Konishi Date: Wed Nov 11 22:37:59 2009 +0900 nilfs2: remove buffer locking from btree code lock_buffer() and unlock_buffer() uses in btree.c are eliminable because btree functions gain buffer heads through nilfs_btnode_get(), which never returns an on-the-fly buffer. Although nilfs_clear_dirty_page() and nilfs_copy_back_pages() in nilfs_commit_gcdat_inode() juggle btree node buffers of DAT, this is safe because these operations are protected by a log writer lock or the metadata file semaphore of DAT. Signed-off-by: Ryusuke Konishi commit a49762fd119d191dcbb2f638a2dbc2ed53f4e2bb Author: Ryusuke Konishi Date: Wed Nov 11 01:28:48 2009 +0900 nilfs2: remove buffer locking in nilfs_mark_inode_dirty This lock is eliminable because inodes on the buffer can be updated independently. Although a log writer also fills in bmap data on the on-disk inodes, this update is exclusively done by a log writer lock. Signed-off-by: Ryusuke Konishi commit e2073e78575e3690ea3cce67b11b7b1de8e85fd3 Author: Jiro SEKIBA Date: Thu Nov 12 14:07:27 2009 +0900 nilfs2: cleanup unused match_bool function match_bool function is not used anymore. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 91f1953bf3243a4215b57d8e2f317a7035924de7 Author: Jiro SEKIBA Date: Thu Nov 12 14:07:26 2009 +0900 nilfs2: Using nobarrier option instead of barrier=off Since most of fs using nofoobar style option, modified barrier=off option as nobarrier. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 6600b9dd8e0d4a60c610f216b78d992a598bc52a Author: Jiro SEKIBA Date: Mon Nov 9 19:10:11 2009 +0900 nilfs2: move definition of struct nilfs_btree_node This is a trivial patch to expose struct nilfs_fs_btree_node. The struct should be exposed outside of kernel, for it is disk format. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 9b945d537db86557e5b5820b4b52df94c35b3829 Author: Ryusuke Konishi Date: Sat Oct 10 22:58:10 2009 +0900 nilfs2: get rid of BUG_ON use in btree lookup routines The current btree lookup routines make a kernel oops when detected inconsistency in btree blocks. These routines should instead return a proper error code because the inconsistency usually comes from corruption of on-disk metadata. This fixes the issue by converting BUG_ON calls to proper error handlings. Signed-off-by: Ryusuke Konishi commit ce64c62074d945fe5f8a7f01bdc30125f994ea67 Author: Masami Hiramatsu Date: Mon Nov 16 18:06:31 2009 -0500 x86: Instruction decoder test should generate build warning Since some instructions are not decoded correctly by older versions of objdump, it may cause false positive error in insn decoder posttest. This changes build error of insn decoder test to build warning. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230631.5250.41579.stgit@harusame> Signed-off-by: Ingo Molnar commit 164165dad7e607ec359e64b6fae72abbf3640ea6 Author: Joe Perches Date: Thu Nov 19 09:30:10 2009 +0000 drivers/net: tasklet_init - Remove unnecessary leading & from second arg Changed function pointer use from non-majority address-of style to majority short form without & via: (was: 8 with &, 36 without) grep -rPl "\btasklet_init\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\btasklet_init\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Compile tested allyesconfig x86 Signed-off-by: Joe Perches drivers/net/cnic.c | 4 ++-- drivers/net/jme.c | 10 +++++----- drivers/net/skge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) Signed-off-by: David S. Miller commit 5452fee23eddb5ebb46f13aba50c8930c160e1da Author: Joe Perches Date: Thu Nov 19 09:55:53 2009 +0000 drivers/isdn/gigaset: tasklet_init - Remove unnecessary leading & from second arg Changed function pointer use from non-majority address-of style to majority short form without & via: grep -rPl "\btasklet_init\s*\([^,\)]+,\s*\&" drivers/isdn | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\btasklet_init\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Compile tested allyesconfig x86 Signed-off-by: Joe Perches drivers/isdn/gigaset/bas-gigaset.c | 4 ++-- drivers/isdn/gigaset/common.c | 2 +- drivers/isdn/gigaset/interface.c | 2 +- drivers/isdn/gigaset/ser-gigaset.c | 2 +- drivers/isdn/gigaset/usb-gigaset.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) Signed-off-by: David S. Miller commit e3bb52ae2bb9573e84c17b8e3560378d13a5c798 Author: Eric Sandeen Date: Thu Nov 19 14:28:50 2009 -0500 ext4: make "norecovery" an alias for "noload" Users on the linux-ext4 list recently complained about differences across filesystems w.r.t. how to mount without a journal replay. In the discussion it was noted that xfs's "norecovery" option is perhaps more descriptively accurate than "noload," so let's make that an alias for ext4. Also show this status in /proc/mounts Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 5328e635315734d42080de9a5a1ee87bf4cae0a4 Author: Eric Sandeen Date: Thu Nov 19 14:25:42 2009 -0500 ext4: make trim/discard optional (and off by default) It is anticipated that when sb_issue_discard starts doing real work on trim-capable devices, we may see issues. Make this mount-time optional, and default it to off until we know that things are working out OK. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 2bba702d4f88d7b010ec37e2527b552588404ae7 Author: Jan Kara Date: Mon Nov 23 07:24:48 2009 -0500 ext4: fix error handling in ext4_ind_get_blocks() When an error happened in ext4_splice_branch we failed to notice that in ext4_ind_get_blocks and mapped the buffer anyway. Fix the problem by checking for error properly. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 6b17d902fdd241adfa4ce780df20547b28bf5801 Author: Theodore Ts'o Date: Mon Nov 23 07:24:57 2009 -0500 ext4: avoid issuing unnecessary barriers We don't to issue an I/O barrier on an error or if we force commit because we are doing data journaling. Signed-off-by: "Theodore Ts'o" Cc: Jan Kara Cc: stable@kernel.org commit 6b0cb5f9f7033c72b19697c33deab83f0dd9848d Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:57 2009 -0200 perf tools: Don't die() in mmap_dispatch_perf_file Propagate the error, that, interestingly, are already handled by all callers :-) Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d5eed904bb6010b429b82c47e7cdb6a32f0c1343 Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:56 2009 -0200 perf tools: Eliminate some more die() uses in library functions This time in perf_header__adds_write, propagating the do_write error returns. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4dc0a04bb18fe9b80cefa08694f46a3a19ebfe50 Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:55 2009 -0200 perf tools: perf_header__read() shouldn't die() And also don't call the constructor in it, this way it adheres to the model the other methods follow. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9f13084d52d40dcce5a5f00586410acdb5a3fbff Author: Rui Paulo Date: Thu Nov 19 15:49:10 2009 +0000 mac80211: fix endianess on mesh_path_error_tx() calls Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit 6d3e6601ba0ff6ca804d3c103164624618cab4a9 Author: Daniel Mack Date: Thu Nov 19 12:02:11 2009 +0100 ARM: MX3: add NOR flash support via physmap mtd driver Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 81057f328618181f87b25571dd9f623c86fe960e Author: Daniel Mack Date: Thu Nov 19 12:02:10 2009 +0100 ARM: MX3: add support for GPIO LEDs on litekit db The names are chosen to match the silkscreen. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit a050c8e9b70b90a3e3b808a12d985a31e19c2f95 Author: Daniel Mack Date: Thu Nov 19 12:02:09 2009 +0100 ARM: MX3: add USB functions for mx31litekit Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 84677d114a7bcba11981a76ee60498a1b41d9d94 Author: Daniel Mack Date: Thu Nov 19 12:02:08 2009 +0100 ARM: MX3: add SPI devices for mx31lite Some header files were reordered while I was at it. The only device currently registered is the ATLAS PMIC (MC13783) chip. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 364cd540f036f106d886a9c51ae05e9a9bacf051 Author: Daniel Mack Date: Thu Nov 19 12:02:07 2009 +0100 ARM: MX3: add MMC/SDHC support to mx31lite-db.c Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit b7d91a62cb402a3d24a15dca9d2b0c309c4227b4 Author: Daniel Mack Date: Thu Nov 19 12:02:06 2009 +0100 ARM: MX3: modularize 'mx31lite' code This commit splits the support code for LogicPD's mx31lite hardware into module and board specific parts. This introduces a new mandatory coreparam called 'mx31lite_baseboard' which specifies the base board support to use. For now, only the LiteKit development board is supported, and developers of own boards are encouraged to use that as reference. The UART support moved to the board code. Some comments were amended along the way. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 64491f0ec8b653560a030022dccfce67ad353d81 Author: Johannes Berg Date: Thu Nov 19 14:26:11 2009 +0100 mac80211: add per-station HT capability file This is sometimes useful to debug HT issues as it shows what exactly the stack thinks the peer supports. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a58ce43f2fb17b728395ff530f019ca53c80145f Author: Johannes Berg Date: Thu Nov 19 12:45:42 2009 +0100 mac80211: avoid spurious deauth frames/messages With WEXT, it happens frequently that the SME requests an authentication but then deauthenticates right away because some new parameters came along. Every time this happens we print a deauth message and send a deauth frame, but both of that is rather confusing. Avoid it by aborting the authentication process silently, and telling cfg80211 about that. The patch looks larger than it really is: __cfg80211_auth_remove() is split out from cfg80211_send_auth_timeout(), there's no new code except __cfg80211_auth_canceled() (a one-liner) and the mac80211 bits (7 new lines of code). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7351c6bd482712e5e3ec9dffc547de0e0863efb0 Author: Johannes Berg Date: Thu Nov 19 01:08:30 2009 +0100 mac80211: request TX status where needed Right now all frames mac80211 hands to the driver have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to request TX status. This isn't really necessary, only the injected frames need TX status (the latter for hostapd) so move setting this flag. The rate control algorithms also need TX status, but they don't require it. Also, rt2x00 uses that bit for its own purposes and seems to require it being set for all frames, but that can be fixed in rt2x00. This doesn't really change anything for any drivers but in the future drivers using hw-rate control may opt to not report TX status for frames that don't have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set. Signed-off-by: Johannes Berg Acked-by: Ivo van Doorn [rt2x00 bits] Signed-off-by: John W. Linville commit ad4bb6f8883a13bb0f65b194dae36c62a02ac779 Author: Johannes Berg Date: Thu Nov 19 00:56:30 2009 +0100 cfg80211: disallow bridging managed/adhoc interfaces A number of people have tried to add a wireless interface (in managed mode) to a bridge and then complained that it doesn't work. It cannot work, however, because in 802.11 networks all packets need to be acknowledged and as such need to be sent to the right address. Promiscuous doesn't help here. The wireless address format used for these links has only space for three addresses, the * transmitter, which must be equal to the sender (origin) * receiver (on the wireless medium), which is the AP in the case of managed mode * the recipient (destination), which is on the APs local network segment In an IBSS, it is similar, but the receiver and recipient must match and the third address is used as the BSSID. To avoid such mistakes in the future, disallow adding a wireless interface to a bridge. Felix has recently added a four-address mode to the AP and client side that can be used (after negotiating that it is possible, which must happen out-of-band by setting up both sides) for bridging, so allow that case. Signed-off-by: Johannes Berg Acked-by: Stephen Hemminger Signed-off-by: John W. Linville commit 9bc383de37090ba7ca3ff32a12c9d809dc5867f0 Author: Johannes Berg Date: Thu Nov 19 11:55:19 2009 +0100 cfg80211: introduce capability for 4addr mode It's very likely that not many devices will support four-address mode in station or AP mode so introduce capability bits for both modes, set them in mac80211 and check them when userspace tries to use the mode. Also, keep track of 4addr in cfg80211 (wireless_dev) and not in mac80211 any more. mac80211 can also be improved for the VLAN case by not looking at the 4addr flag but maintaining the station pointer for it correctly. However, keep track of use_4addr for station mode in mac80211 to avoid all the derefs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5be83de54c16944dea9c16c6a5a53c1fa75ed304 Author: Johannes Berg Date: Thu Nov 19 00:56:28 2009 +0100 cfg80211: convert bools into flags We've accumulated a number of options for wiphys which make more sense as flags as we keep adding more. Convert the existing ones. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b28dca86066596721a6243c94611dab41970079 Author: Krzysztof Helt Date: Wed Nov 18 17:29:36 2009 +0100 ALSA: cs4236: add dB scale for all volume controls Use db scale for all volume controls according to Crystal's datasheets. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit f2624791a0c2a2d7664b12d75ca327917141fd3b Author: Takashi Iwai Date: Thu Nov 19 11:48:44 2009 +0100 ALSA: hda - Change quirk for Acer Aspire 5930G Change the quirk for Acer Aspire 5930G from model=acer-aspire-4930g to model=acer-aspre-6530g. The tuba bass gets muted along with the other built-in speakers upon headphones insertion, the internal mic works perfectly etc. Reported-by: Claudio Viano Signed-off-by: Takashi Iwai commit b2a2236d1f5e7c09c8e74b61f13d8ba3fe82f7be Author: Enric Balletbò i Serra Date: Wed Nov 18 15:59:24 2009 +0100 ASoC: Add support for IGEP v2 Signed-off-by: Enric Balletbo i Serra Signed-off-by: Mark Brown commit 2b7b250df74f1f9e15cdf33fa90f6c98a419842d Author: Troy Kisky Date: Wed Nov 18 17:49:54 2009 -0700 ASoC: DaVinci: use edma_pause, edma_resume Use edma_pause and edma_resume to make missing dma_events less likely. This may not be needed, but it looks better. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1e224f322bf22280957a5f76164d848526ed9b08 Author: Troy Kisky Date: Wed Nov 18 17:49:53 2009 -0700 ASoC: DaVinci: pcm, fix underrun by using sram Fix underruns by using dma to copy 1st to sram in a ping/pong buffer style and then copying from the sram to the ASP. This also has the advantage of tolerating very long interrupt latency on dma completion. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1587ea31572e25a0a2c9c491b7f8c937b6c0454e Author: Troy Kisky Date: Wed Nov 18 17:49:52 2009 -0700 ASoC: DaVinci: pcm, rename variables in prep for ping/pong Rename variable master_lch to asp_channel Rename variable slave_lch to asp_link[0] Rename local variables: lch to link count to asp_count src to asp_src dst to asp_dst Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0d6c97742993a00ee2cbfbd6d68fba669c17bf50 Author: Troy Kisky Date: Wed Nov 18 17:49:51 2009 -0700 ASoC: DaVinci: i2s, reduce underruns by combining into 1 element Allow the left and right 16 bit samples to be shifted out as 1 32 bit sample. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 386e50cc7d82b3799ea6f53267f04f123ae05afe Author: Andrew Hendry Date: Wed Nov 18 23:30:41 2009 -0800 X25: Enable setting of cause and diagnostic fields Adds SIOCX25SCAUSEDIAG, allowing X.25 programs to set the cause and diagnostic fields. Normally used to indicate status upon closing connections. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 0e4817470be8d233fb58b5af7b938185dae94d67 Author: Tomas Winkler Date: Wed Nov 18 23:29:57 2009 -0800 iwmc3200top: revamp fw name handling 1. define macro for handling firmware api version 2. add MODULE_FIRMWARE 3. cleanup iwmct_fw_load style Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit a0607fd3a25ba1848a63a0d925e36d914735ab47 Author: Joe Perches Date: Wed Nov 18 23:29:17 2009 -0800 drivers/net: request_irq - Remove unnecessary leading & from second arg Not as fancy as coccinelle. Checkpatch errors ignored. Compile tested allyesconfig x86, not all files compiled. grep -rPl --include=*.[ch] "\brequest_irq\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\brequest_irq\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2446042c93bfc6eeebfc89e88fdef2435d2bb5c4 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:53 2009 -0200 perf symbols: Capture the running kernel buildid too [root@doppio linux-2.6-tip]# perf record -a -f sleep 3s ; perf buildid-list | grep vmlinux [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.171 MB perf.data (~7489 samples) ] 18e7cc53db62a7d35e9d6f6c9ddc23017d38ee9a vmlinux [root@doppio linux-2.6-tip]# Several refactorings were needed so that we can have symmetry between dsos__load_modules() and dsos__load_kernel(), i.e. those functions will respectively create and add to the dsos list the loaded modules and kernel, with its buildids, but not load its symbols. That is something the subcomands that need will have to call dso__load_kernel_sym(), just like we do with modules with dsos__load_module_sym()/dso__load_module_sym(). Next csets will actually use this info to stop producing bogus results using mismatched vmlinux and .ko files. Signed-off-by: Arnaldo Carvalho de Melo Cc: Roland McGrath Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f1617b40596cb341ee6602a9d969c5e4cebe9260 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:52 2009 -0200 perf symbols: Record the build_ids of kernel modules too [root@doppio linux-2.6-tip]# perf record -a sleep 2s;perf buildid-list|tail [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.162 MB perf.data (~7078 samples) ] 881588fa57b3c1696bc91e5e804a11304f093535 [cfg80211] 4d47ce1da9d16bad00c962c072451b7c681e82df [snd_page_alloc] 5146377e89a7caac617f9782f1a02e46263d3a31 [rfkill] 2153b937bff0d345fea83b63a2e1d3138569f83d [i915] 4e6fb1bb97362e3ee4d306988b9ad6912d5fb9ae [drm_kms_helper] f56ef2bf853e3a798f0d8d51f797622e5dc4420e [drm] b0d157a3b5c4e017329ffc07c64623cd6ad65e95 [i2c_algo_bit] 8125374b905ef9fa8b65d98e166b008ad952f198 [i2c_core] fc875c6e5a90e7b915e9d445d0efc859e1b2678c [video] 4b43c5006589f977e9762fdfc7ac1a92b72fca52 [output] [root@doppio linux-2.6-tip]# elfutils libdwfl/linux-kernel-modules.c was used as reference, as suggested by Roland McGrath. Signed-off-by: Arnaldo Carvalho de Melo Cc: Roland McGrath Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e30a3d12ddf04add3268bfceb0e57ffe47f254c6 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:51 2009 -0200 perf symbols: Kill struct build_id_list and die() another day No need for this struct and its allocations, we can just use the ->build_id member we already have in struct dso, then ask for it to be read, and later traverse the dsos list, writing the buildid table to the perf.data file. As a bonus, one more die() function got killed. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d3379ab9050e5522da2aac53d413651fc06be562 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:50 2009 -0200 perf symbols: Fix comparision of build_ids When we read the build_id from the DSO name to then index into /usr/lib/debug/.buildid/DSO_BUILD_ID[0:2]/DSO_BUILD_ID[2:], we were jumping directly to the comparision with the buildid we already have in dso->build_id (that came from the perf.data build_id section, collected at perf record time) unconditionally, even if we didn't had recorded it, and furthermore, comparing a formatted buildid with a rawbuildid, yikes. Fix it by deleting the dso__read_build_id() function, that was really misdesigned anyway, and do the necessary checks and correct comparison of raw buildids. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 2939e275994977b6c9eb7fd082b7b0caa35b96b0 Author: Eric Dumazet Date: Wed Nov 18 23:24:41 2009 -0800 netsched: Allow var_sk_bound_if meta to work on all namespaces This fix can probably wait 2.6.33, or should use another patch if needed in 2.6.32 (no get_dev_by_index_rcu() before 2.6.33) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3505d1a9fd65e2d3e00827857b6795d9d8983658 Merge: dfef948 66b00a7 Author: David S. Miller Date: Wed Nov 18 22:19:03 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sfc/sfe4001.c drivers/net/wireless/libertas/cmd.c drivers/staging/Kconfig drivers/staging/Makefile drivers/staging/rtl8187se/Kconfig drivers/staging/rtl8192e/Kconfig commit 827f3b4974c5db2968d4979fe6a0ae00ab37bdd8 Author: Hitoshi Mitake Date: Wed Nov 18 00:20:09 2009 +0900 perf bench: Add memcpy() benchmark 'perf bench mem memcpy' is a benchmark suite for measuring memcpy() performance. Example on a Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz: | % perf bench mem memcpy -l 1GB | # Running mem/memcpy benchmark... | # Copying 1MB Bytes from 0xb7d98008 to 0xb7e99008 ... | | 726.216412 MB/Sec Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258471212-30281-1-git-send-email-mitake@dcl.info.waseda.ac.jp> [ v2: updated changelog, clarified history of builtin-bench.c ] Signed-off-by: Ingo Molnar commit b269876c8d57fb8c801bea1fc34b461646c5abd0 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:02 2009 -0200 perf top: Don't allocate the source parsing members upfront Defer to parse_source() time allocating it. Now we use about this much memory: 1724 root 20 0 42104 10m 940 S 0.0 0.4 0:00.23 perf Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5a8e5a3065bf04b7673262fd6c46123e4b888d2b Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:01 2009 -0200 perf top: Allocate space only for the number of counters used Reducing memory consumption on a typical desktop machine: From: 32710 root 20 0 172m 142m 1056 S 0.0 4.7 0:00.37 perf To: 420 root 20 0 47528 16m 1056 R 0.3 0.5 0:00.24 perf Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 51a472decb845e920137284a5cfef51fb7d61206 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:00 2009 -0200 perf top: Introduce helper function to access symbol from sym_entry Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1a105f743d9fa5f7b8eeeca0afb789951164a361 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:55 2009 -0200 perf top: Suppress DSO column if only one is present E.g. [root@doppio ~]# perf top -U --------------------------------------------------------------------------- PerfTop: 482 irqs/sec kernel:100.0% [1000Hz cycles], (all, 2 CPUs) --------------------------------------------------------------------------- DSO: vmlinux samples pcnt function _______ _____ _________________________ 471.00 47.9% read_hpet 57.00 5.8% acpi_os_read_port 30.00 3.1% hpet_next_event 30.00 3.1% find_busiest_group 22.00 2.2% schedule 18.00 1.8% sched_clock_local 14.00 1.4% _spin_lock_irqsave 14.00 1.4% native_read_tsc 13.00 1.3% trace_hardirqs_off 9.00 0.9% fget_light 9.00 0.9% ioread8 8.00 0.8% do_sys_poll Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258479655-28662-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 13cc5079f235906e60577dbce8da2f9607e67e93 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:54 2009 -0200 perf top: Auto adjust symbol and dso widths We pre-calculate the symbol name length, then after we sort the entries to print, calculate the biggest one and use that for the symbol name width justification, then use the dso->long_name->len to justificate the DSO name, deciding whether using the short or long name depending on how much space we have on the terminal. IOW give as much info to the user as the terminal width allows. Suggested-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: <1258479655-28662-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cfc10d3bcc50d70f72c0f43d03eee965c726ccc0 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:53 2009 -0200 perf symbols: Add a long_name_len member to struct dso Using a two bytes hole we already had and since we also need to calculate this strlen for fetching the buildids. We'll use it in 'perf top' to auto-adjust the output based on the terminal width. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258479655-28662-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 11ada26c78febe4662a8e848f3bff74e3200c920 Author: Luck, Tony Date: Tue Nov 17 09:05:56 2009 -0800 perf tools: Add ia64 support for tools/perf/ Compiler on ia64 rejects the "-m64" option. Add arch specific pieces to perf.h Signed-off-by: Tony Luck Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4b02d7f43514327a@agluck-desktop.sc.intel.com> Signed-off-by: Ingo Molnar commit 192dcf1d1775736627280a5dd4cb0f605b21857a Author: Josh Stone Date: Wed Nov 18 13:06:55 2009 -0800 tracing: Remove the stale include/trace/power.h Commit 6161352 moved the power tracing to include/trace/events/, but left the old header behind. No one is using the old header, and its declarations are now incorrect, so it should be removed. Signed-off-by: Josh Stone Acked-by: Arjan van de Ven Cc: Frank Ch. Eigler Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258578415-14752-1-git-send-email-jistone@redhat.com> Signed-off-by: Ingo Molnar commit 350f8f5631922c7848ec4b530c111cb8c2ff7caa Author: Jan Beulich Date: Fri Nov 13 11:54:40 2009 +0000 x86: Eliminate redundant/contradicting cache line size config options Rather than having X86_L1_CACHE_BYTES and X86_L1_CACHE_SHIFT (with inconsistent defaults), just having the latter suffices as the former can be easily calculated from it. To be consistent, also change X86_INTERNODE_CACHE_BYTES to X86_INTERNODE_CACHE_SHIFT, and set it to 7 (128 bytes) for NUMA to account for last level cache line size (which here matters more than L1 cache line size). Finally, make sure the default value for X86_L1_CACHE_SHIFT, when X86_GENERIC is selected, is being seen before that for the individual CPU model options (other than on x86-64, where GENERIC_CPU is part of the choice construct, X86_GENERIC is a separate option on ix86). Signed-off-by: Jan Beulich Acked-by: Ravikiran Thirumalai Acked-by: Nick Piggin LKML-Reference: <4AFD5710020000780001F8F0@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 3bea21b64c0e3f380814de990ef57ff1f08dbf95 Author: Clemens Ladisch Date: Wed Nov 4 09:43:00 2009 +0100 drm/kms: allocate framebuffer cmap Without an allocated colormap, FBIOGETCMAP fails. This would make programs restore an all-black colormap ("links -g") or fail to work altogether ("mplayer -vo fbdev2"). Signed-off-by: Clemens Ladisch Signed-off-by: Dave Airlie commit 7a654158bdf9dc318fd451fbf606ed100d6ba25f Author: Clemens Ladisch Date: Wed Nov 4 09:42:56 2009 +0100 drm: set the type of the drm_framebuffer::fbdev field The fbdev field of the drm_framebuffer structure is always used to store a pointer to a fb_info, so there is no reason for it to be void*. Signed-off-by: Clemens Ladisch Signed-off-by: Dave Airlie commit cda6be1ce27d721a88cb90543a1e6d0f41baeaa4 Author: Clemens Ladisch Date: Wed Nov 4 09:42:52 2009 +0100 drm/fb: fix FBIOGET/PUT_VSCREENINFO pixel clock handling When the framebuffer driver does not publish detailed timing information for the current video mode, the correct value for the pixclock field is zero, not -1. Since pixclock is actually unsigned, the value -1 would be interpreted as 4294967295 picoseconds (i.e., about 4 milliseconds) by register_framebuffer() and userspace programs. This patch allows X.org's fbdev driver to work. Signed-off-by: Clemens Ladisch Signed-off-by: Dave Airlie commit 731b5a15a3b1474a41c2ca29b4c32b0f21bc852e Author: James Simmons Date: Thu Oct 29 20:39:07 2009 +0000 drm/kms: properly handle fbdev blanking I examined several fbdev drivers and foudn the blanking code in drm_fb_helper to be wrong. This patch fixes the fbdev blanking to behave like other fbdev drivers. Signed-off-by: Dave Airlie commit 9bd568a50c446433038dec2a5186c5c57c3dbd23 Author: Michael Buesch Date: Wed Nov 18 20:53:05 2009 +0100 b43: Enforce DMA descriptor memory constraints Enforce all device constraints on the descriptor memory region. There are several constraints on the descriptor memory, as documented in the specification. The current code does not enforce them and/or incorrectly enforces them. Those constraints are: - The address limitations on 30/32bit engines, that also apply to the skbs. - The 4k alignment requirement on 30/32bit engines. - The 8k alignment requirement on 64bit engines. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 76aa5e704c80fb7ca8bd3d05593d9a28298c92cd Author: Rui Paulo Date: Wed Nov 18 18:22:59 2009 +0000 mac80211: update cfg80211 scan result code for the updated mesh conf IE Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit 136cfa28615ccce0f9374811480e0b81c4191ea5 Author: Rui Paulo Date: Wed Nov 18 18:40:00 2009 +0000 mac80211: use a structure to hold the mesh config information element Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25 Author: Johannes Berg Date: Wed Nov 18 18:42:47 2009 +0100 mac80211: move TX status handling It's enough code to have its own file, I think. Especially since I'm going to add to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 62ae67be31c2346b6d74653a148ddbd1b9a94424 Author: Johannes Berg Date: Wed Nov 18 18:42:05 2009 +0100 mac80211: remove encrypt parameter from ieee80211_tx_skb Since the flags moved into skb->cb, there's no longer a need to have the encrypt bool passed into the function, anyone who requires it set to 0 (false) can just set the flag directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 875405a7793e9c35fab33819e7e5df7a98b6064c Author: Marcel Holtmann Date: Wed Nov 18 16:48:01 2009 +0100 rfkill: Add constant for RFKILL_TYPE_FM radio devices Signed-off-by: Marcel Holtmann Signed-off-by: Janakiram Sistla Signed-off-by: John W. Linville commit 0878c3504f92f1bf063d0890a9960d4b9e6c4618 Author: Marcel Holtmann Date: Wed Nov 18 16:48:00 2009 +0100 rfkill: Add missing description for RFKILL_TYPE_GPS Signed-off-by: Marcel Holtmann Signed-off-by: Janakiram Sistla Signed-off-by: John W. Linville commit a2fb0ad30aa52bdfd6e0870702444bae6090520f Author: John W. Linville Date: Wed Nov 18 16:37:22 2009 -0500 wl3501_cs: remove pedantic build warning drivers/net/wireless/wl3501_cs.c: In function ‘wl3501_esbq_exec’: drivers/net/wireless/wl3501_cs.c:387: warning: ‘tmp’ is used uninitialized in this function drivers/net/wireless/wl3501_cs.c:384: note: ‘tmp’ was declared here Signed-off-by: John W. Linville commit 98d3a7ca9232a436c067888936a0133e64ea126a Author: Johannes Berg Date: Wed Nov 18 13:03:43 2009 +0100 cfg80211: re-join IBSS when privacy changes When going from/to a WEP protected IBSS, we need to leave this one and join a new one to take care of the changed capability. Cc: Hong Zhang Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0bc6b1871c111d8f2eb2ac022a705de4cf21f572 Author: Sujith Date: Wed Nov 18 11:42:14 2009 +0530 mac80211: Fix panic in aggregation handling Not assigning the vif pointer causes an oops. This patch fixes it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 24b6b15f7d07d26330f73057d618089976a08792 Author: Jouni Malinen Date: Tue Nov 17 21:35:38 2009 +0200 cfg80211: Allow reassociation in associated state cfg80211 rejects all association requests when in associated state. This prevents clean roaming within an ESS since one would first need to disassociate before being able to request reassociation. Accept the reassociation request and let the old association to be dropped when the new one is completed. This fixes nl80211-based roaming with the current snapshot version of wpa_supplicant (that has code for requesting reassociation explicitly withthe previous BSSID attribute). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit af65cd96dd4ea8ea5adc6ee850e61a407cd1067a Author: Johannes Berg Date: Tue Nov 17 18:18:36 2009 +0100 mac80211: make software rate control optional Some devices implement the entire rate control in firmware in some way, like wl1271 or like iwlwifi which does some things in software but not a lot. Therefore generic software rate control is rather useless for them and just adds avoidable overhead to the transmit path. It's fairly simple to let drivers indicate that they do not need rate control, but they need to fulfil a number of conditions that we encode in WARN_ONs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c95cf3d09adc9afe7816a13a920b6df36062a3fe Author: David-John Willis Date: Tue Nov 17 18:50:09 2009 +0200 wl1251: add NVS in EEPROM support wl1251 supports also that NVS is stored in a separate EEPROM, add support for that. kvalo: use platform data instead Kconfig and use kernel style Signed-off-by: David-John Willis Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7010193ad8e64dfbc006b167c2ee712d4441292c Author: Kalle Valo Date: Tue Nov 17 18:50:01 2009 +0200 wl1251: remove depcreated qual usage Fixes warnings: drivers/net/wireless/wl12xx/wl1251_rx.c: In function 'wl1251_rx_status': drivers/net/wireless/wl12xx/wl1251_rx.c:75: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 06cc5d3bb01350466f7a1bf64d9afe06870b6480 Author: Vidhya Govindan Date: Tue Nov 17 18:49:54 2009 +0200 wl1251: Send null data packet with "TODS" bit set According to IEEE80211 standard all the data packets have to be sent with TODS bit set. This patch fixes the null data packet format which was sent without TODS bit set. This should fix many problems associated with power save. Janne Ylalehto also found this fix in the same time as mine, for a different bug he was working on. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 79553f82c993ed511450748f01e16e4dccdc8c02 Author: Juuso Oikarinen Date: Tue Nov 17 18:49:46 2009 +0200 wl1251: Fix regression in IRQ loop handling In some cases, the IRQ loop handler could acknowledge an interrupt to the chipset, but not service it. Signed-off-by: Juuso Oikarinen Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a1590f2404d1c8d16f8ceed4fccc32ab9831e484 Author: Janne Ylalehto Date: Tue Nov 17 18:49:38 2009 +0200 wl1251: Filter out unwanted events Filter out unwanted events to reduce wakeups. Signed-off-by: Janne Ylalehto Reviewed-by: Vidhya Govindan Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit dcea4dbe54f5bbea2ef0bb265072754ccd934a1e Author: Janne Ylalehto Date: Tue Nov 17 18:49:31 2009 +0200 wl1251: Add IRQ looping support Add support for IRQ looping. Helps in the case that we have e.g. multiple packets coming from the network when we wake up from the ELP. Signed-off-by: Janne Ylalehto Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 33d51facad8360cb9c55fd696431e2a477f16cc1 Author: Vidhya Govindan Date: Tue Nov 17 18:49:23 2009 +0200 wl1251: Increase the beacon loss timeout value and handle regain event This patch increases the number of beacons to be missed before generating SYNC TIMEOUT event. It increases the beacon timeout period to 500 microseconds, which gives enough time for the firmware to receive probe response or beacon. Also handled the regain event from firmware once it receives a probe response or beacon. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 72b57344a2a1f98c6838c2268fdc5ed5fae54cd8 Author: Vidhya Govindan Date: Tue Nov 17 18:49:16 2009 +0200 wl1251: Set the correct dtim period to the firmware This patch sets the dtim period obtained from the mac80211 to firmware. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit d531cf303f765bf3477330e58fbeab75da668931 Author: Vidhya Govindan Date: Tue Nov 17 18:49:08 2009 +0200 wl1251: Add acx command to set tbtt and dtim period The dtim period obtained from the mac80211 is not set to the firmware. This patch implements the acx command to set correct tbtt and dtim value to the firmware. Signed-off-by: Vidhya Govindan Signed-off-by: Kalle Valo Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2410378a4c8e978823354ab3e44cd07c3c18a237 Author: Kalle Valo Date: Tue Nov 17 18:49:00 2009 +0200 wl1251: mask aid bits 14 and 15 in ps-poll template In ps-poll template aid bits 14 and 15 were not masked as required by the standard. Mask them so that aid is sent in correct format. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c74ddfd5ea9c0c67d0aae77eeb5b610188cb8bc4 Author: Kalle Valo Date: Tue Nov 17 18:48:45 2009 +0200 wl1251: allocate space for firmware with vmalloc() Earlier firmware was stored to a memory area allocated with kmalloc() but finding a a contiguous area of memory long enough for the firmware is very difficult in certain cases. better to allocate the memory for firmware with vmalloc() instead and use a small buffer for DMA transfers. Thanks to Eero Tamminen for the idea. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d5da79ac1f5050cccaa68d814ccce292371f25fa Author: Juuso Oikarinen Date: Tue Nov 17 18:48:37 2009 +0200 wl1251: Implement delayed entry into ELP mode Implement (slightly) delayed entry into ELP. This will cure several problems: - It works around a firmware race condition if ELP is entered too fast after commands (resulting in ELP timeout -traces) - It will reduce the number of sleep-wake cycles between already scheduled events such as interrupts and tx, hence improving performance (less delay in switching between RX and TX) Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 6b21a2cd315e2e56a1748bd3ef9d910fe4f2e711 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:30 2009 +0200 wl1251: Configure beacon filtering on if PSM used Enable beacon filtering when PSM is enabled Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 287f6f9672635f4e948c0aa96754a2ce448ebdb2 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:23 2009 +0200 wl1251: Enable beacon filtering with the stack Enable beacon filtering with the mac80211 stack. Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 474c48c9f2118e637477b3b1c70003cb5cbda983 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:14 2009 +0200 wl1251: Add connection monitoring configuration Add configuration for connection monitor (number of allowed beacons, and timeout after last received beacon.) Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 15295380f45aa0d35665f6e5596ac98c081d95b9 Author: Thomas Klute Date: Tue Nov 17 11:58:18 2009 +0100 ar9170: Add support for D-Link DWA 160 A2 At least two revisions of the D-Link DWA 160 exist, called A1 and A2. A1 (USB-ID 07d1:3c10) is already listed in usb.c as D-Link DWA 160A. A2 (USB-ID 07d1:3a09) works if added to ar9170_usb_ids. I didn't do much testing until now, but I was able to connect to APs using WPA or WEP and transmit data. Summary: * Add model revision number to the comment for D-Link DWA 160 A1 (07d1:3c10) * Add support for D-Link DWA 160 A2 (07d1:3a09) Signed-off-by: Thomas Klute Signed-off-by: John W. Linville commit 2edcb7ff8d7d84a3797bcecc7094da0fa9828a16 Author: Xose Vazquez Perez Date: Tue Nov 17 13:43:16 2009 +0100 rt2x00: more ids to rt2800usb.c taken from windows inf file (09/15/2009, 1.04.07.0000) Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 15ff63653e507ec928a4a4386405a82446e096b1 Author: Johannes Berg Date: Tue Nov 17 13:34:04 2009 +0100 mac80211: use fixed broadcast address The netdev broadcast address cannot change from all-ones so there's no need to use it; we can instead hard-code it. Since we already have an instance in tkip.c, which will be shared if it is marked static const, doing this reduces text size at no data/bss cost. The real motivation for this is, of course, the desire to get rid of almost all uses of netdevs in mac80211 so that auditing their use becomes easier. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d84f323477260e773d5317ad7cbe50f76115cb47 Author: Johannes Berg Date: Mon Nov 16 23:20:41 2009 +0100 mac80211: remove dev_hold/put calls If we move the rcu sections a little, there's no need to touch the device refcount. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5f0b7de59fae1e57b2481c9756cd4a0f6308530f Author: Johannes Berg Date: Mon Nov 16 13:58:21 2009 +0100 mac80211: improve rate handling Some code currently assumes that there's a valid rate pointer even in the HT case, but there can't be. To reduce reliance on that, remove the rate pointer from the RX data struct and pass it where it's needed. Also, for now, in radiotap announce HT frames as having a DYN channel type, and remove their rate from cooked monitor radiotap completely (it isn't present in the regular monitor radiotap either.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb9fb5b8883535c27d2cc5d4e4dbab3532f97b18 Author: Johannes Berg Date: Mon Nov 16 13:58:20 2009 +0100 mac80211: trim RX data The RX data contains the netdev, which is duplicated since we have the sdata, and the RX status pointer, which is duplicate since we have the skb. Remove those two fields to have fewer fields that depend on each other and simply load them as necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a02ae758e8780d737b6d0135d6292bb3043e7eea Author: Johannes Berg Date: Mon Nov 16 12:00:40 2009 +0100 mac80211: cleanup reorder buffer handling The reorder buffer handling is written in a quite peculiar style (especially comments) and also has a quirk where it invokes the entire reorder code in ieee80211_sta_manage_reorder_buf() for just a handful of lines in it with a special argument. Split out ieee80211_release_reorder_frames which can then be invoked from BAR handling and other reordering code, clean up code and comments and remove function arguments that are now unused from ieee80211_sta_manage_reorder_buf(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af2ced6a32dafb71d21b726c06df57fc574093d7 Author: Johannes Berg Date: Mon Nov 16 12:00:39 2009 +0100 mac80211: push michael MIC report after DA check When we receive a michael MIC failure report from the hardware we currently do not check whether it is actually reported on a frame that is destined to us. It shouldn't be possible to get a michael MIC failure report on other frames, but it also doesn't hurt to verify. Also, since we then don't need the station struct that early, move looking it up a bit later in the RX path. Finally, while at it, a few code cleanups in the area. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c951ad3550ab40071bb0f222ba6125845769c08a Author: Johannes Berg Date: Mon Nov 16 12:00:38 2009 +0100 mac80211: convert aggregation to operate on vifs/stas The entire aggregation code currently operates on the hw pointer and station addresses, but that needs to change to make stations purely per-vif; As one step preparing for that make the aggregation code callable with the station, or by the combination of virtual interface and station address. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b53fde8ac40c4321389def14d7f4a9e14092fd3 Author: Johannes Berg Date: Mon Nov 16 12:00:37 2009 +0100 mac80211: let sta_info_get_by_idx get sta by sdata Instead of filtering by device, directly look up by sdata. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb53a150caa3068ce366b75dd354718145f5e893 Author: Sujith Date: Mon Nov 16 11:40:57 2009 +0530 ath9k: Fix bug in initializing chain masks Check for AR5416 ver 1.0 before calibrating 3 chains for multi-chain. This is a WAR for calibration failure. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 201cd6cce4f67ccead6240eb04ffa2f311661174 Author: Sujith Date: Mon Nov 16 11:40:53 2009 +0530 ath9k: Remove a few unused functions ATH9K_ANT_VARIABLE is the default diversity control used. Consequently ath9k_hw_decrease_chain_power() does nothing. ath9k_hw_setantennaswitch() is unused too. Also, gbeacon_rate is unused. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7c82a186b48882c2a21a3eda25f3dab2d6040a09 Author: Sujith Date: Mon Nov 16 11:40:51 2009 +0530 ath9k: Remove a few unused variables axq_linkbuf, axq_aggr_depth, axq_lastdsWithCTS and axq_gatingds are unused. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c6089ccc22377bcbf055ece6a45b931a02630824 Author: Sujith Date: Mon Nov 16 11:40:48 2009 +0530 ath9k: Cleanup bss_info_changed callback * Remove a code chunk dealing with operating mode changes. As noted, all such policy changes are to be done in add_interface. * Remove pointless check for empty BSSID. Also, remove mode checks - mac80211 does all the needed checks. * Handle enabling/disabling beacon transmission properly. * Handle beacon interval changes for AP mode. The original code depended on config_interface() to update the HW TSF. Since that callback has been removed, handle it properly. * Remove unneeded code dealing with key/privacy. * Set the chainmasks to 1x1 for IBSS when the BSSID is set. This was happening uncondionally before. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 827e69bf6734193d7a6f47f0435db7ebef1b636e Author: Felix Fietkau Date: Sun Nov 15 23:09:25 2009 +0100 ath9k: get rid of tx_info_priv This patch removes the need for separately allocated private tx info data in ath9k and brings the driver one small step closer to using the mac80211 rate control API properly. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 599bf6a4d64d8399e99514e0e1ef02e97e43238f Author: Felix Fietkau Date: Sun Nov 15 23:07:30 2009 +0100 mac80211: add the total ampdu length to tx info Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3e5b1101f59fb3e17a8eb32cca100ae07fd7100e Author: Felix Fietkau Date: Sat Nov 14 03:29:38 2009 +0100 mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces In order to handle association and authentication in AP mode, hostapd needs access to the tx status info of its own frames through a cooked monitor interface. Without this patch the cooked monitor interfaces also passed on tx status information for packets from other virtual interfaces. This creates a significant performance issue on embedded system. Hostapd tries to work around this by installing a Linux Socket Filter that only captures the frames it's interested in, however data duplication and socket filter matching still uses up enough CPU cycles to be very noticeable on small systems. This patch ensures that tx status information of non-injected frames does not make it to cooked monitor interfaces. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7d57b73a73040525dfe22c56d823f146711ff971 Author: Christian Lamparter Date: Sat Nov 14 00:57:58 2009 +0100 ar9170: do not discard valuable DUPOFDM frames This patch enables the driver to process all incoming dupofdm-modulated frames when operating in HT40 mode. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e595d24b13a021ead42bedd5edba8801b0da6cd Author: Ben Cahill Date: Fri Nov 13 11:56:38 2009 -0800 iwlwifi: Add comments about CSR registers Also regroup CSR_EEPROM and CSR_OTP bit field definitions. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6ab10ff8738dfb098fd32132b7ebcf5cdb43ebde Author: Johannes Berg Date: Fri Nov 13 11:56:37 2009 -0800 iwlwifi: handle unicast PS buffering Using the new mac80211 functionality, this makes iwlwifi handle unicast PS buffering correctly. The device works like this: * when a station goes to sleep, the microcode notices this and marks the station as asleep * when the station is marked asleep, the microcode refuses to transmit to the station and rejects all frames queued to it with the failure status code TX_STATUS_FAIL_DEST_PS (a previous patch handled this correctly) * when we need to send frames to the station _although_ it is asleep, we need to tell the ucode how many, and this is asynchronous with sending so we cannot just send the frames, we need to wait for all other frames to be flushed, and then update the counter before sending out the poll response frames. This is handled partially in the driver and partially in mac80211. In order to do all this correctly, we need to * keep track of how many frames are pending for each associated client station (avoid doing it for other stations to avoid the atomic ops) * tell mac80211 that we driver-block the PS status while there are still frames pending on the queues, and once they are all rejected (due to the dest sta being in PS) unblock mac80211 Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bb487b406692e172b15eba58de7d69358ac2005 Author: Johannes Berg Date: Fri Nov 13 11:56:36 2009 -0800 iwlwifi: add sleep_tx_count ucode station API This field was marked as reserved before since we didn't use it, but is present in all released firmwares afaict. We're going to need it soon, so add it now. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c397bf15a6067ecf39f8a771907f4721a64fd61f Author: Johannes Berg Date: Fri Nov 13 11:56:35 2009 -0800 iwlwifi: report PS filtered status When a frame is sent to a sleeping station, the microcode reports TX_STATUS_FAIL_DEST_PS as its status -- we need to translate that to the flag that mac80211 expects. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f513dfff9622ac72c461770e1fa01d291ba6ba5a Author: Daniel C Halperin Date: Fri Nov 13 11:56:34 2009 -0800 iwlwifi: make iwlwifi send beacons Handle BSS_CHANGED_BEACON_ENABLED to enable the sending of beacons. Also set the correct HT RXON and QoS config. Signed-off-by: Daniel C Halperin Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47ff65c48748086a5e9cde6032451691a28ab19f Author: Daniel C Halperin Date: Fri Nov 13 11:56:33 2009 -0800 iwlwifi: fix bugs in beacon configuration When sending beacon commands to the uCode, we must inform it of the offset in the beacon frame of the TIM Element so it can transmit packets from the correct queue. This functionality is implemented in iwl_set_beacon_tim(). Fix a bug setting the rate_n_flags for the beacon packet. First, it should not use the station table's rate (it's a management frame), and second it needs to properly configure the TX antennas. Finally, also, clean up and comment relevant functions. Signed-off-by: Daniel C Halperin Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e43ab94d2ea01a74e60c3423334687c2156c39b2 Author: Reinette Chatre Date: Fri Nov 13 11:56:32 2009 -0800 iwlagn: power up device before initializing EEPROM A recent change optimized the power usage by the device by only powering it up during EEPROM load if it is required (for OTP devices). This change causes an error on the 1000 series devices during module load. The error looks as follows: [ 1624.024524] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27kds [ 1624.024527] iwlagn: Copyright(c) 2003-2009 Intel Corporation [ 1624.024711] iwlagn 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1624.024749] iwlagn 0000:01:00.0: setting latency timer to 64 [ 1624.024909] iwlagn 0000:01:00.0: Detected Intel Wireless WiFi Link 1000 Series BGN REV=0x6C [ 1624.081263] iwlagn 0000:01:00.0: MAC is in deep sleep!. CSR_GP_CNTRL = 0x080003D8 [ 1624.092967] iwlagn 0000:01:00.0: OTP is empty [ 1624.092988] iwlagn 0000:01:00.0: Unable to init EEPROM [ 1624.093033] iwlagn 0000:01:00.0: PCI INT A disabled [ 1624.093065] iwlagn: probe of 0000:01:00.0 failed with error -2 Adding a dump_stack() to where that error is printed shows the following: [ 1624.024524] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27kds [ 1624.024527] iwlagn: Copyright(c) 2003-2009 Intel Corporation [ 1624.024711] iwlagn 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1624.024749] iwlagn 0000:01:00.0: setting latency timer to 64 [ 1624.024909] iwlagn 0000:01:00.0: Detected Intel Wireless WiFi Link 1000 Series BGN REV=0x6C [ 1624.081263] iwlagn 0000:01:00.0: MAC is in deep sleep!. CSR_GP_CNTRL = 0x080003D8 [ 1624.081263] Pid: 3073, comm: work_for_cpu Tainted: G W 2.6.31.5 #4 [ 1624.081263] Call Trace: [ 1624.081263] [] T.726+0x22b/0x420 [iwlcore] [ 1624.081263] [] iwlcore_eeprom_acquire_semaphore+0x8a/0x190 [iwlcore] [ 1624.081263] [] ? __kmalloc+0x194/0x1c0 [ 1624.081263] [] ? iwlcore_eeprom_verify_signature+0x25/0xf0 [iwlcore] [ 1624.081263] [] iwl_eeprom_init+0x107/0xf40 [iwlcore] [ 1624.081263] [] ? iwl_prepare_card_hw+0x11c/0x470 [iwlagn] [ 1624.081263] [] ? pci_bus_write_config_byte+0x64/0x80 [ 1624.081263] [] iwl_pci_probe+0x308/0xac0 [iwlagn] [ 1624.081263] [] ? do_work_for_cpu+0x0/0x30 [ 1624.081263] [] local_pci_probe+0x12/0x20 [ 1624.081263] [] do_work_for_cpu+0x13/0x30 [ 1624.081263] [] kthread+0xa6/0xb0 [ 1624.081263] [] child_rip+0xa/0x20 [ 1624.081263] [] ? kthread+0x0/0xb0 [ 1624.081263] [] ? child_rip+0x0/0x20 [ 1624.092967] iwlagn 0000:01:00.0: OTP is empty [ 1624.092988] iwlagn 0000:01:00.0: Unable to init EEPROM [ 1624.093033] iwlagn 0000:01:00.0: PCI INT A disabled [ 1624.093065] iwlagn: probe of 0000:01:00.0 failed with error -2 We know that the routines in this trace, iwlcore_eeprom_acquire_semaphore and iwlcore_eeprom_verify_signature, only access CSR registers and thus do not need the device to be awake if it is EEPROM. But for OTP it is required for the device to be awake to read these registers. Ensure device is awake before accessing these registers. Signed-off-by: Reinette Chatre Acked-by: Ben Cahill Signed-off-by: John W. Linville commit 98a7b43be19faa7b92576c62614c45e38517331c Author: Wey-Yi Guy Date: Fri Nov 13 11:56:31 2009 -0800 iwlwifi: align tx/rx statistics debugfs format Align the format for tx_statistics and rx_statistics debugfs output for better readability Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ae16fc3c3184bf27f0462e1951df918122498829 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:30 2009 -0800 iwlwifi: eliminate the possible 1/2 dBm tx power loss in 6x00 & 6x50 series In both 6x00 and 6x50 series, the enhanced/extended tx power table in EEPROM is used to set the max. tx power limit. This new tx power table is in 1/2 dBm format, which creates an issue of possibility of 1/2 dBm loss when driver set the tx power limit; because of driver keep track and report the tx power in dBm format. In order to prevent the 1/2 dBm loss, keep track of the true max tx power in 1/2 dBm format in driver; do the comparison and adjust the tx power if needed when send tx power command to uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d6ccbf57ff7653217b7149976aa31e19f996544 Author: Ben Cahill Date: Fri Nov 13 11:56:29 2009 -0800 iwl3945: Reset saved POWER_TABLE_CMD in "up" Power-saving logic will not re-issue a POWER_TABLE_CMD if a new command matches the prior one. This can be bad if we re-start the device due to e.g. uCode error; the new POWER_TABLE_CMD (required to invoke power-saving) may match the prior POWER_TABLE_CMD issued before the uCode error. Ensure the POWER_TABLE_CMD is sent to device when uCode is up. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ef8d5529b015d4c5db7fad1adfc91edfd5abad56 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:28 2009 -0800 iwlwifi: update reply_statistics_cmd with 'clear' parameter When issue REPLY_STATISTICS_CMD to uCode, two possible flag can be set in the configuration flags bit 0: Clear statistics 0: Do not clear Statistics counters 1: Clear to zero Statistics counters Allow "clear" parameter to be set from the caller. Add debugfs file to clear the statistics counters to help monitor and debug the uCode behavior. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d2ed110a80991849a2824a6dc3c063ffca9dbe4 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:27 2009 -0800 iwlwifi: remove external reference for non-exist data structure Number of data structure for 6000 series no longer in production, the data structure already being removed; also need to remove the external reference define in iwl-dev.h Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8a9a159bf907ef02aca2e316025e427f315e82a Author: Wey-Yi Guy Date: Fri Nov 13 11:56:26 2009 -0800 iwlwifi: drop non-production PCI-IDs for 6x50 series drop the non-production PCI-IDs for 6x50 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d7d144012a2949cf7f8eed758013adadf5e5a82e Author: Wey-Yi Guy Date: Fri Nov 13 11:56:25 2009 -0800 iwlwifi: remove unused parameter from iwl_channel_info Number of HT40 power parameters are not used; remove those from iwl_channel_info data structure Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85bb174a386850c8a43e8d107af47de3c910be03 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:24 2009 -0800 iwlwifi: disable coex until implementation ready for 6x50 Temporary disable the coex function for wifi/wimax for 6x50 series until the full implementation ready. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85f0d9e87794818356146996826b829100daa6bc Author: Wey-Yi Guy Date: Fri Nov 13 11:56:23 2009 -0800 iwlwifi: validate enhanced tx power entry Validate enhanced tx power entry read from EEPROM before applying the tx power value. Different versions of EEPROM might contain different size of table; always a good idea to make sure the entry is valid before applying to the targeted channel. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 821d35a56044e522e811f6a1e8632cc230360280 Author: Alan Cox Date: Wed Nov 18 14:39:51 2009 +0000 selinux: Fix warnings scripts/selinux/genheaders/genheaders.c:20: warning: no previous prototype for ?usage? scripts/selinux/genheaders/genheaders.c:26: warning: no previous prototype for ?stoupperx? Signed-off-by: Alan Cox Acked-by: WANG Cong Signed-off-by: James Morris commit af0940dac37545b1e7900b19c464fb6367d3f82f Author: Akinobu Mita Date: Fri Nov 13 12:53:08 2009 +0100 ieee1394: Use hweight32 Use hweight32 instead of counting for each bit Signed-off-by: Akinobu Mita Signed-off-by: Stefan Richter (add required include) commit dfef948ed2ba69cf041840b5e860d6b4e16fa0b1 Merge: ea31ba3 c85e9d7 Author: David S. Miller Date: Wed Nov 18 10:55:32 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ea31ba359c55e0734ff895692185d4c50cf0c537 Author: Julia Lawall Date: Wed Nov 18 08:26:02 2009 +0000 drivers/net/wireless/rtl818x: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 8fbd90b0612cca7cd9a29df59b69502a841bebf8 Author: Julia Lawall Date: Wed Nov 18 08:25:43 2009 +0000 drivers/net/wireless/p54: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d20a80f0e6eb9a4f31489a0518a9ba0754eeee12 Author: Julia Lawall Date: Wed Nov 18 08:25:25 2009 +0000 drivers/net/wireless/iwlwifi: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit fe4eb54845fff09ec01b8421f53f92e08b67229c Author: Julia Lawall Date: Wed Nov 18 08:24:50 2009 +0000 drivers/net/adm8211.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d8bda9f12d5db160b594ce36659434620e19a363 Author: Julia Lawall Date: Wed Nov 18 08:24:30 2009 +0000 drivers/net/wan: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 1ede9b52fa911c9a523cf6bc40b5a2b134db957c Author: Julia Lawall Date: Wed Nov 18 08:24:13 2009 +0000 drivers/net/via-velocity.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 767813828f262679f1d9ed04deefb2e2f0768d7d Author: Julia Lawall Date: Wed Nov 18 08:23:53 2009 +0000 drivers/net/via-rhine.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit aa36ab8edb8a7e7be1f4cf99d0743e58e6249fb0 Author: Julia Lawall Date: Wed Nov 18 08:23:34 2009 +0000 drivers/net/typhoon.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a974a679d252ed9629061b2a29dc639f4557ca70 Author: Julia Lawall Date: Wed Nov 18 08:23:17 2009 +0000 drivers/net/smsc9420.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 91dcbf36f77c3d563e844fe0ed52ae896654ca7c Author: Julia Lawall Date: Wed Nov 18 08:23:00 2009 +0000 drivers/net/r6040.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c2f379b2f8cf59e6bff4d028949a0273732460aa Author: Julia Lawall Date: Wed Nov 18 08:22:44 2009 +0000 drivers/net/pppol2tp.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 6cc93183eef9ba0eb6e9989c2e3744904287a95e Author: Julia Lawall Date: Wed Nov 18 08:22:05 2009 +0000 drivers/net/irda: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 90145c9cae26002ebfb61f6566f6f15ca448f5d3 Author: Julia Lawall Date: Wed Nov 18 08:21:45 2009 +0000 drivers/net/ipg.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit dddcb445a33c80bca11a6566364935e681c85809 Author: Julia Lawall Date: Wed Nov 18 08:21:04 2009 +0000 drivers/net: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4c9ba61e9e0212fd79da9a26f7b3d47de4a56a24 Author: Julia Lawall Date: Wed Nov 18 08:20:44 2009 +0000 drivers/net/can: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9aff7e922b852036d864d039ce13ae1e38418b73 Author: Julia Lawall Date: Wed Nov 18 10:47:03 2009 -0800 drivers/net/atl1c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a531cd69ada8c8b89f631b1b6ba246b5d84b5344 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 18 10:38:37 2009 -0800 hpt366: remove dead old timing tables It has been enough time since introduction of the new timing tables (commit 809b53c from Dec 12 2007) and the old timing tables are still available in pata_hpt37x.c (or git history) if somebody needs them. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit eeb74a9d45f781ec6f47b9e0a75a6a427b53f165 Author: Rémi Denis-Courmont Date: Wed Nov 18 10:08:26 2009 -0800 Phonet: convert devices list to RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 6d4561110a3e9fa742aeec6717248a491dfb1878 Author: Eric W. Biederman Date: Mon Nov 16 03:11:48 2009 -0800 sysctl: Drop & in front of every proc_handler. For consistency drop & in front of every proc_handler. Explicity taking the address is unnecessary and it prevents optimizations like stubbing the proc_handlers to NULL. Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Joe Perches Signed-off-by: Eric W. Biederman commit b4e818768d50a5b7aa1635676839682bcf0691b6 Author: Takashi Iwai Date: Wed Nov 18 17:20:24 2009 +0100 ALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs The mute-LED isn't synchronized with the actual mute state on some HP laptops with IDT 92HD83xxx codecs. A similar hack using check_power_status callback is added for this codec, too. Signed-off-by: Takashi Iwai commit 86926d0096279b9739ceeff40f68d3c33b9119a9 Author: Eric W. Biederman Date: Mon Nov 16 02:40:01 2009 -0800 sysctl: Remove CTL_NONE and CTL_UNNUMBERED Now that the sysctl structures no longer have a ctl_name field there is no reason to retain the definitions for CTL_NONE and CTL_UNNUMBERED, or to explain their historic usage. Signed-off-by: Eric W. Biederman commit 8747d793fc5c4d3e4decd41d55f6dc24498dd5f5 Author: Stanislaw Gruszka Date: Tue Nov 17 14:14:12 2009 -0800 itimers: Fix racy writes to cpu_itimer fields incr_error and error fields of struct cpu_itimer are used when calculating next timer tick in check_cpu_itimers() and should not be modified without tsk->sighand->siglock taken. Signed-off-by: Stanislaw Gruszka LKML-Reference: <1253802903-979-1-git-send-email-sgruszka@redhat.com> Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 60a0a52df149286a25fddf9b2d0cfe77cf0bc516 Author: Eric W. Biederman Date: Mon Nov 16 02:30:16 2009 -0800 sysctl: kill dead ctl_handler definitions. When removing the sysctl strategy routines I overlooked their definitions in sysctl.h. So remove those unnecessary definitions now. Signed-off-by: Eric W. Biederman commit 41b51dd47ea7c406a8d49b97804e8acec9dadaed Merge: 1452556 bab0212 Author: Mark Brown Date: Wed Nov 18 13:54:51 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 2ea6dec4a22a6f66f6633876212fd4d195cf8277 Author: Rusty Russell Date: Tue Nov 17 14:27:27 2009 -0800 generic-ipi: Add smp_call_function_any() Andrew points out that acpi-cpufreq uses cpumask_any, when it really would prefer to use the same CPU if possible (to avoid an IPI). In general, this seems a good idea to offer. [ tglx: Documented selection preference and Inlined the UP case to avoid the copy of smp_call_function_single() and the extra EXPORT ] Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Venkatesh Pallipadi Cc: Len Brown Cc: Zhao Yakui Cc: Dave Jones Cc: Thomas Gleixner Cc: Mike Galbraith Cc: "Zhang, Yanmin" Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 1452556bebc302121eea5dfb3cbd464824406bb8 Merge: 57512c6 f9ede4e Author: Mark Brown Date: Wed Nov 18 13:42:05 2009 +0000 Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.33 commit 57512c6432783c9695ef54f875f705584c65c733 Author: Troy Kisky Date: Mon Nov 16 16:52:31 2009 -0700 ASoC: DaVinci: remove requirement that dma_params is 1st in structure Remove requirement that dma_params is 1st in the structures davinci_audio_dev and davinci_mcbsp_dev. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 357a1db94ecc5b3d605574b164d288cd7dbf8dbd Author: Jassi Brar Date: Tue Nov 17 16:54:03 2009 +0900 ASoC: Added the CPU driver for PCM controllers Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit acf1aef9ecb289f7ed42b25ed55463b2cbb48ce2 Author: Jassi Brar Date: Tue Nov 17 16:53:56 2009 +0900 ARM: S3C64XX: Defined PCM controller platform devices Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 07e74c0ac8f1fdb197e24bbbd5aadfa0c430a95c Author: Jassi Brar Date: Tue Nov 17 16:53:50 2009 +0900 ARM: S3C64XX: Added platform data header Many SoCs have their I2S pins MUXed with other functions. So we need to pass a callback for driver to configure the pins appropriately. Hence, the need of platform data and this header. As and when needed new callbacks and structure pointers maybe added to this header. Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 93f85130e1e9b03cded7bfe1383919f421e479b4 Author: Jassi Brar Date: Tue Nov 17 16:53:38 2009 +0900 ARM: S3C64XX: Define PCM Controller base registers Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d3ff5a3e610d62d9cdad5b7d53749c9381e244ed Author: Jassi Brar Date: Tue Nov 17 16:53:31 2009 +0900 ASoC: Rename 's3c24xx-pcm' driver to 's3c-dma' Making room for namespace for the PCM Controller driver the platform driver(s3c24xx-pcm) has been renamed to SoC agnostic name 's3c-dma'. Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit faa31776e4c799d631d8cd3a13dd50cd95b0875e Author: Jassi Brar Date: Tue Nov 17 16:53:23 2009 +0900 ASoC: Rename s3c24xx_pcm prefix to s3c_dma The s3c24xx_pcm prefix for the soc_platform is inappropriate when some Samsung SoCs have PCM controllers which will eventually have drivers and hence namespace ambiguities. To resolve naming ambiguities in future the following have been renamed in order 1) s3c24xx_pcm_dma_params -> s3c_dma_params 2) s3c24xx_pcm_preallocate_dma_buffer -> s3c_preallocate_dma_buffer 3) s3c24xx_pcm_dmamask -> s3c_dma_mask 4) s3c24xx_pcm_XXX -> s3c_dma_XXX Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8af3aeb498197f6fdf5acc913ffe8a392cb921c9 Author: Takashi Iwai Date: Wed Nov 18 14:23:37 2009 +0100 ALSA: hda - Fix detection of dual headphones The dual-headphone mode with STAC/IDT codecs is useful only for machines that have two (or more) built-in headphones. But, some HP laptops give multiple headphone pin configs, one for the built-in and another for the separate (likely a docking station) one. This results in a missing speaker volume control. This patch adds more check for the dual-headphone mode to avoid this problem. Signed-off-by: Takashi Iwai commit 89a7183d088708ac1ebd0bfc2a939c59b24fec44 Author: Thomas Gleixner Date: Tue Nov 17 12:50:40 2009 +0000 sparc: Fixup last users of irq_chip->typename The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit d90310243fd750240755e217c5faa13e24f41536 Author: Octavian Purdila Date: Wed Nov 18 02:36:59 2009 +0000 net: device name allocation cleanups Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 7adcdb4c1142dc446ab9d4c51ab09cc87e0749c9 Author: Andrew Morton Date: Tue Nov 17 12:46:44 2009 +0000 drivers/atm/solos-pci.c: fix warning/bug, clean up code drivers/atm/solos-pci.c: In function 'flash_upgrade': drivers/atm/solos-pci.c:528: warning: 'fw_name' may be used uninitialized in this function Cc: Chas Williams Cc: David Woodhouse Cc: Nathan Williams Cc: David S. Miller Signed-off-by: Andrew Morton Acked-By: David Woodhouse Signed-off-by: David S. Miller commit 63ae93a19094d88c8ca62543586b20e3a7ff7637 Author: Ron Mercer Date: Tue Nov 17 11:10:40 2009 +0000 qlge: Bonding fix for mode 6. Allow MAC address to be changed even if device is not up. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit f99189b186f3922ede4fa33c02f6edc735b8c981 Author: Eric Dumazet Date: Tue Nov 17 10:42:49 2009 +0000 netns: net_identifiers should be read_mostly Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 615534bc490606685621d63a40c0670d0f049d86 Author: Christian Pellegrin Date: Tue Nov 17 06:20:44 2009 +0000 can: fix setting mcp251x bit timing on open Signed-off-by: Christian Pellegrin Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 9a4e328eb2bfa23b160558cff96e17ffa65ea5cf Author: Vladislav Zolotarov Date: Tue Nov 17 06:16:35 2009 +0000 bnx2x: Don't set netdev->trans_start Setting dev->trans_start caused spurious watchdog warnings. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e014debecd3ee3832e6476b3a9c948edfcfd1250 Author: Eric Dumazet Date: Tue Nov 17 05:59:21 2009 +0000 linkwatch: linkwatch_forget_dev() to speedup device dismantle Herbert Xu a écrit : > On Tue, Nov 17, 2009 at 04:26:04AM -0800, David Miller wrote: >> Really, the link watch stuff is just due for a redesign. I don't >> think a simple hack is going to cut it this time, sorry Eric :-) > > I have no objections against any redesigns, but since the only > caller of linkwatch_forget_dev runs in process context with the > RTNL, it could also legally emit those events. Thanks guys, here an updated version then, before linkwatch surgery ? In this version, I force the event to be sent synchronously. [PATCH net-next-2.6] linkwatch: linkwatch_forget_dev() to speedup device dismantle time ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105 real 0m0.266s user 0m0.000s sys 0m0.001s real 0m0.770s user 0m0.000s sys 0m0.000s real 0m1.022s user 0m0.000s sys 0m0.000s One problem of current schem in vlan dismantle phase is the holding of device done by following chain : vlan_dev_stop() -> netif_carrier_off(dev) -> linkwatch_fire_event(dev) -> dev_hold() ... And __linkwatch_run_queue() runs up to one second later... A generic fix to this problem is to add a linkwatch_forget_dev() method to unlink the device from the list of watched devices. dev->link_watch_next becomes dev->link_watch_list (and use a bit more memory), to be able to unlink device in O(1). After patch : time ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105 real 0m0.024s user 0m0.000s sys 0m0.000s real 0m0.032s user 0m0.000s sys 0m0.001s real 0m0.033s user 0m0.000s sys 0m0.000s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e2ce146848c81af2f6d42e67990191c284bf0c33 Author: Octavian Purdila Date: Mon Nov 16 13:49:49 2009 +0000 ipv4: factorize cache clearing for batched unregister operations Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 395264d509aec45149745843d9a737140a1ece16 Author: Octavian Purdila Date: Mon Nov 16 13:49:35 2009 +0000 net: introduce NETDEV_UNREGISTER_PERNET This new event is called once for each unique net namespace in batched unregister operations (with the argument set to a random device from that namespace) and once per device in non-batched unregister operations. It allows us to factorize some device unregister work such as clearing the routing cache. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit a1afb6371bb5341057056194d1168753f6d77242 Author: Alexey Dobriyan Date: Fri Aug 28 22:19:33 2009 +0400 genirq: switch /proc/irq/*/spurious to seq_file [ tglx: compacted it a bit ] Signed-off-by: Alexey Dobriyan LKML-Reference: <20090828181743.GA14050@x200.localdomain> Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ba5ea951d0b5e5896180e21fe07f228d2b3b0e63 Author: Stanislaw Gruszka Date: Tue Nov 17 14:14:13 2009 -0800 posix-cpu-timers: optimize and document timer_create callback We have already new_timer initialized to all-zeros hence in function initializations are not needed. Document function expectation about new_timer argument as well. Signed-off-by: Stanislaw Gruszka Cc: johnstul@us.ibm.com Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8e1a928a2ed7e8d5cad97c8e985294b4caedd168 Author: H Hartley Sweeten Date: Fri Oct 16 18:19:01 2009 -0400 clockevents: Add missing include to pacify sparse Include "tick-internal.h" in order to pick up the extern function prototype for clockevents_shutdown(). This quiets the following sparse build noise: warning: symbol 'clockevents_shutdown' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten LKML-Reference: Reviewed-by: Yong Zhang Cc: johnstul@us.ibm.com Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 070e5c3f9989a72076e83fdd5ede3f0f3eb17264 Author: Thomas Gleixner Date: Wed Nov 18 12:27:47 2009 +0100 x86: vmiclock: Fix printk format clockevents.mult became u32. Fix the printk format. Pointed-out-by: Randy Dunlap Signed-off-by: Thomas Gleixner commit 6dbfe5a57db3564adf7b2a65068e40f1b4a0d2db Author: Thomas Gleixner Date: Tue Nov 17 18:27:18 2009 +0100 x86: Fixup last users of irq_chip->typename The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner commit 3f92a8bd5fb13e7e2505c65d1548910eaa843024 Author: Uwe Kleine-König Date: Fri Nov 13 21:25:01 2009 +0100 imx: copy constants from mx3x.h to mx35.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit ebca1a5543c70931eeab91751fe53f67b3d0e9c6 Author: Uwe Kleine-König Date: Fri Nov 13 21:24:48 2009 +0100 imx: copy constants from mx3x.h to mx31.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit 2ae959f420ac656d2c715e074f6494f1230af2ff Author: Uwe Kleine-König Date: Fri Nov 13 21:31:31 2009 +0100 imx: copy constants from mx2x.h to mx27.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit 4c12b3c2e399a8838875e46cbb458ce6488be239 Author: Uwe Kleine-König Date: Fri Nov 13 21:23:04 2009 +0100 imx: copy constants from mx2x.h to mx21.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit c8e5db0809e51b496f4a6ea11b411352011bda8c Author: Uwe Kleine-König Date: Thu Nov 12 21:51:55 2009 +0100 imx: reformat mx25.h to match the other platform includes Signed-off-by: Uwe Kleine-König commit ae55326a00a6e3cf35e0469b5353aa171aee5407 Author: Uwe Kleine-König Date: Thu Nov 12 21:47:57 2009 +0100 imx: add namespace prefixes for symbols in mx35.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit 4f683a046cb45f74610fb790e6affa7604636a9f Author: Uwe Kleine-König Date: Thu Nov 12 21:43:39 2009 +0100 imx: add namespace prefixes for symbols in mx31.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit e4d0f7c71d60f7a783edd6dcc97423fcc9973aaf Author: Uwe Kleine-König Date: Tue Nov 10 21:31:30 2009 +0100 imx: add namespace prefixes for symbols in mx3x.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit 26b10e744322da31160a81edd4e6462ac581da91 Author: Uwe Kleine-König Date: Tue Nov 10 15:26:21 2009 +0100 imx: add namespace prefixes for symbols in mx27.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit c112931377589d751c012fa5c914c17b5d426be1 Author: Uwe Kleine-König Date: Tue Nov 10 14:59:54 2009 +0100 imx: add namespace prefixes for symbols in mx21.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit b9fc90a48a3d1794443e095d8585dcaeafb2195f Author: Uwe Kleine-König Date: Tue Nov 10 11:34:22 2009 +0100 imx: add namespace prefixes for symbols in mx2x.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit e676756fa43e04166111e4729c62bb4fdf477255 Author: Uwe Kleine-König Date: Tue Nov 10 10:20:30 2009 +0100 imx: reorder mx3x.h Signed-off-by: Uwe Kleine-König commit f73a42f7054b4ec7fab373789b7dae1e309f81a7 Author: Uwe Kleine-König Date: Tue Nov 10 10:18:08 2009 +0100 imx: reorder mx27.h Signed-off-by: Uwe Kleine-König commit 27085f25184ee5a206706dd5f734ade1d15551fa Author: Uwe Kleine-König Date: Tue Nov 10 10:15:13 2009 +0100 imx: reorder mx21.h Signed-off-by: Uwe Kleine-König commit 104071b6dcc66cd66db83231fd3bd58cd63e680d Author: Uwe Kleine-König Date: Tue Nov 10 10:14:34 2009 +0100 imx: reorder mx2x.h Signed-off-by: Uwe Kleine-König commit bec145ae6f6978f0319e5600a742f45f76ecc4dd Author: Dan Carpenter Date: Wed Nov 18 10:31:57 2009 +0200 ALSA: remove unnecessary null check This function is only called from snd_ctl_ioctl() and the file parameter can never be null so there is no need to check it here. We dereference file at the start of the function: struct snd_card *card = file->card; and it confuses static checkers to dereference a pointer before checking it. Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit fccaf71011b171883efee5bae321eac4760584d1 Author: Eric Dumazet Date: Tue Nov 17 08:53:49 2009 +0000 macvlan: Precise RX stats accounting With multi queue devices, its possible that several cpus call macvlan RX routines simultaneously for the same macvlan device. We update RX stats counter without any locking, so we can get slightly wrong counters. One possible fix is to use percpu counters, to get precise accounting and also get guarantee of no cache line ping pongs between cpus. Note: this adds 16 bytes (32 bytes on 64bit arches) of percpu data per macvlan device. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9793241fe92f7d9303fb221e43fc598eb065f267 Author: Eric Dumazet Date: Tue Nov 17 04:53:09 2009 +0000 vlan: Precise RX stats accounting With multi queue devices, its possible that several cpus call vlan RX routines simultaneously for the same vlan device. We update RX stats counter without any locking, so we can get slightly wrong counters. One possible fix is to use percpu counters, to get precise accounting and also get guarantee of no cache line ping pongs between cpus. Note: this adds 16 bytes (32 bytes on 64bit arches) of percpu data per vlan device. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d83345adf96bc13a5e360f4649a2e68ef968dec0 Author: Eric Dumazet Date: Mon Nov 16 03:36:51 2009 +0000 net: add dev_txq_stats_fold() helper Some drivers ndo_get_stats() method need to perform txqueue stats folding. Move folding from dev_get_stats() to a new dev_txq_stats_fold() function Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 67f2db24fbfdb63495d995d6fbbbe42980004ee0 Author: Takashi Iwai Date: Wed Nov 18 08:37:59 2009 +0100 ALSA: opti-miro: Fix missing semicolon To fix a build error sound/isa/opti9xx/miro.c:1281: error: expected ';' before '}' token Signed-off-by: Takashi Iwai commit b038b0401f9697ee1d7df40021b96e7de0564938 Author: Stephen Rothwell Date: Tue Nov 17 23:04:59 2009 -0800 vmxnet3: using csum_ipv6_magic requires including net/ip6_checksum.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit d56757abc11a21996d9839c0d4e3b2c3666cd318 Author: Takashi Iwai Date: Wed Nov 18 08:00:14 2009 +0100 ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() Signed-off-by: Takashi Iwai commit 83d605fd63e704419ccb92d48b735c6890ce3d6a Author: Wu Fengguang Date: Wed Nov 18 12:38:08 2009 +0800 ALSA: hda - show EPSS capability in proc Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 81bf31e2d0a6a9f5d83da0a757f8ca03db908162 Author: Wu Fengguang Date: Wed Nov 18 12:38:07 2009 +0800 ALSA: intelhdmi - sticky channel count Don't change channel count if not necessary. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5779191e0efd851fb0d54698c13cb4f5325caca6 Author: Wu Fengguang Date: Wed Nov 18 12:38:06 2009 +0800 ALSA: intelhdmi - sticky stream id and format We tracked down the first-0.5s-hdmi-audio-samples-lost problem to the AC_VERB_SET_CHANNEL_STREAMID command. It is suspected that many HDMI sinks need some time to adapt to the new state. The workaround is to avoid changing stream id/format whenever possible. Proposed by David. Signed-off-by: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 848de598eef9603d6f2c174f90fded4e63ac5e23 Author: Wu Fengguang Date: Wed Nov 18 12:38:05 2009 +0800 ALSA: intelhdmi - sticky infoframe Remember the active infoframe, so as to avoid stop/restart infoframe transmission when switching between audio clips of the same format. Proposed by Shang and David. CC: Shane W CC: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 978be6d711be237e0344eca21c3922ae88a240bc Author: Wu Fengguang Date: Wed Nov 18 12:38:04 2009 +0800 ALSA: intelhdmi - separate out infoframe checksum routine And make it right when called for more than one times. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 3f54aa5091f48e9d8ce6e99b248449d08acccb26 Author: Wu Fengguang Date: Wed Nov 18 12:38:03 2009 +0800 ALSA: intelhdmi - probe for monitor/eld presence at module init time This avoids lost of presence info on module reloading. The presence info used to be only updated at the (rare) hotplug events. Proposed by David, thanks! CC: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 864f92be7e8d4a0ba11d912e3f03d1a92a031dee Author: Wu Fengguang Date: Wed Nov 18 12:38:02 2009 +0800 ALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense() This helps merge duplicate code. v2: add snd_hda_jack_detect() and comments recommended by Takashi. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 23ccc2bd246a5bdb1ac03dc9040a0585c1890ef3 Author: Wu Fengguang Date: Wed Nov 18 12:38:01 2009 +0800 ALSA: intelhdmi - export monitor-presence and ELD-valid status Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 1e7c10fefadb42d9300305c7de57bea365855e9b Author: Wu Fengguang Date: Wed Nov 18 12:38:00 2009 +0800 ALSA: intelhdmi - fix channel mapping slot mask Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 6f539a98614a014a7d6b64ab62b0dddb14e2d8cc Author: Wu Fengguang Date: Wed Nov 18 12:37:59 2009 +0800 ALSA: intelhdmi - fix audio infoframe fill size Reported-by: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit b67cad932c4e45edca2f4da2ee4f46001ba17363 Author: Krzysztof Helt Date: Tue Nov 17 18:35:41 2009 +0100 ALSA: opti-miro: use variables directly in the probe function Use the fm_port and mpu_port variables directly in a probe function. This completely eliminates a need to copy the fm_port value to the snd_miro structure. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit b753e03e5e7c6ee60e81cd6335c80dc26519f9d0 Author: Krzysztof Helt Date: Tue Nov 17 18:34:54 2009 +0100 ALSA: cs4236: update control names Update control names to be more closer to their meaning. Change the "Mono" name to the "Beep" as this line is usually used to forward the PC beeper signal to sound card's output. Update names for both cs423x and wss. Clean up cs4235 controls according to the cs4235 doc. Rename some of the cs4235 controls to be consistent with the cs4236's ones. Also, delete one misnamed cs4231 register define. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 260af56271f79da0e37faa5a99b1786b221297e5 Merge: 1dca899 648f153 Author: Paul Mundt Date: Wed Nov 18 10:53:52 2009 +0900 Merge branch 'sh/stable-updates' commit 46557bef3f3834ac33031c7be27d39d90d507442 Merge: 4efc50d d91d8a3 Author: Dave Airlie Date: Wed Nov 18 10:09:55 2009 +1000 Merge branch 'drm-core-next' of ../linux-2.6 into drm-next commit d91d8a3f88059d93e34ac70d059153ec69a9ffc7 Author: Kristian Høgsberg Date: Tue Nov 17 12:43:55 2009 -0500 drm/kms: add page flipping ioctl This adds a page flipping ioctl to the KMS API. The ioctl takes an fb ID and a ctrc ID and flips the crtc to the given fb at the next vblank. The ioctl returns immediately but the flip doesn't happen until after any rendering that's currently queued up against the new framebuffer is done. After submitting a page flip, any execbuffer involving the old front buffer will block until the flip is completed. Optionally, a vblank event can be generated when the swap eventually happens. Signed-off-by: Kristian Høgsberg Reviewed-by: Chris Wilson Signed-off-by: Dave Airlie commit dad07ca71719598bc990dbdbeda763d15a10e98b Author: Andres Salomon Date: Tue Nov 17 14:41:25 2009 -0800 drm: check return values in drm_version In drm_version, actually check the results from function calls so that we're not potentially passing garbage back to userspace. Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 140a45fc3253746e1e42feafc63509df5d90889e Author: Andres Salomon Date: Tue Nov 17 14:41:24 2009 -0800 drm: replace DRM_COPY macro w/ a function Don't inline it; the compiler can figure it out. Comments added that are based upon my interpretation of the code. Hopefully they're correct. :) Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 156822f7175d9ceb9d7e808502d3c5de8841e047 Author: Andres Salomon Date: Tue Nov 17 14:41:23 2009 -0800 drm: kill more unused DRM macros There are a few more macros in drmP.h that are unused; DRM_GET_PRIV_SAREA, DRM_ARRAY_SIZE, and DRM_WAITCOUNT can go away completely. Unfortunately, DRM_COPY is still used in one place, but we can at least move it to where it's used. It's an awful looking macro.. [akpm: fix overeagerness] Signed-off-by: Andres Salomon Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 420a457088669e055e767dfb8468909cd1799cf9 Author: Andres Salomon Date: Tue Nov 17 14:41:23 2009 -0800 drm: kill some unused DRM_PROC macros from drmP.h i915_gem_proc.c appears to have been the last user of the DRM_PROC_* macros, and it has gone away. The macros should die as well. Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 4a9216453c8537a7f43a3b1708509b9dd271dc9f Author: Jesse Barnes Date: Tue Nov 10 08:21:25 2009 +0000 drm: when queuing an event with NEXTONMISS, return queued sequence to userspace If we queue a vblank event but miss it, we should return the actual sequence number we queued to userspace, so its event handling function will know which event to look for. Acked-by: Kristian Høgsberg Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit c9a9c5e02aedc1a2815877b0268f886d2640b771 Author: Kristian Høgsberg Date: Sat Sep 12 04:33:34 2009 +1000 drm: Add async event synchronization for drmWaitVblank This patch adds a new flag to the drmWaitVblank ioctl, which asks the drm to return immediately and notify userspace when the specified vblank sequence happens by sending an event back on the drm fd. The event mechanism works with the other flags supported by the ioctls, specifically, the vblank sequence can be specified relatively or absolutely, and works for primary and seconday crtc. The signal field of the vblank request is used to provide user data, which will be sent back to user space in the vblank event. Signed-off-by: Kristian Høgsberg Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit 508d85c2c6bc8cba53d2a54d9a306ad64a0a80bf Author: Yinghai Lu Date: Mon Nov 16 23:04:56 2009 -0800 x86: When cleaning MTRRs, do not fold WP into UC The current MTRR code treats WP as a form of UC. This really isn't desirable behaviour, except possibly in the case of severe MTRR shortage. Disable this, to allow legitimate uses of WP to remain unmolested. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin Cc: Linus Torvalds commit 638adb0561264a3360a53e93def62288c85d8373 Author: Steven Rostedt Date: Tue Nov 17 10:48:25 2009 -0500 tracing: Only print objcopy version warning once from recordmcount If the user has an older version of objcopy, that can not handle converting local symbols to global and vice versa, then some functions will not be part of the dynamic function tracer. The current code in recordmcount.pl will print a warning in this case. Unfortunately, there exists lots of files that may have this issue with older objcopys and this will cause a warning for every file compiled with this issue. This patch solves this overwhelming output by creating a .tmp_quiet_recordmcount file on the first instance the warning is encountered. The warning will not print if this file exists. The temp file is deleted at the beginning of the compile to ensure that the warning will happen once again on new compiles (because the issue is still present). Reported-by: Andrew Morton Cc: Sam Ravnborg Signed-off-by: Steven Rostedt commit f6060f46819f313d34a8c8151390cda509c23389 Author: Lai Jiangshan Date: Thu Nov 5 11:16:17 2009 +0800 tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used Prevent build warning when CONFIG_FUNCTION_GRAPH_TRACER is not set. Signed-off-by: Lai Jiangshan LKML-Reference: <4AF24381.5060307@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit d62d77fd18cc82e839e49b7ef3360e4411f7d2e5 Author: Nick Piggin Date: Tue Nov 17 12:29:38 2009 +0100 perf annotate: Allocate history size correctly Symbol offset history table size does not get updated properly when it is being resized. This leads to garbage results in perf annotate. Signed-off-by: Nick Piggin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit c85e9d7739fc8d879c4293ea020760926d6f87cd Author: John W. Linville Date: Tue Nov 17 10:16:32 2009 -0500 znet: fix build failure from i82593.h relocation znet was including "wireless/i82593.h" (which is a bit wierd), and I missed that when I relocated i82593.h to drivers/staging/wavelan. Since I don't have ISA turned-on in my normal .config, I didn't see the build failures -- mea culpa! Signed-off-by: John W. Linville commit c5b5165ce28099484d5fa733abeae48540680440 Author: Takashi Iwai Date: Tue Nov 17 16:01:58 2009 +0100 ALSA: hda - Disable default quirk for Sony VAIO with ALC262 codec The ALC262 has a quirk entry matching with all Sony Vaio laptops to use model=sony-assamd as default. But, model=auto works much better for new models in the recent driver versions, thus it's safer to disable that default quirk entry. Signed-off-by: Takashi Iwai commit 5a355982993e8eb9f840b81194fbeb4e793221bb Merge: 67d634c 12929ba Author: Takashi Iwai Date: Tue Nov 17 16:00:33 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 302689ac47b563f9d4d8318f399bae225658eec8 Author: Heiko Carstens Date: Tue Nov 17 06:47:02 2009 -0800 net/s390 drivers: add missing 'const' attribute Add missing 'const' attribute to avoid the following compile warnings: drivers/s390/net/ctcm_main.c: In function 'ctcm_init': drivers/s390/net/ctcm_main.c:1864: warning: assignment from incompatible pointer type drivers/s390/net/lcs.c: In function 'lcs_init_module': drivers/s390/net/lcs.c:2468: warning: assignment from incompatible pointer type drivers/s390/net/claw.c: In function 'claw_init': drivers/s390/net/claw.c:3408: warning: assignment from incompatible pointer type Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit c13d2f7c3231e873f30db92b96c8caa48f100f33 Author: Carsten Emde Date: Mon Nov 16 20:56:13 2009 +0100 tracing: Fix trace_marker output When a string was written to /tracing/trace_marker, some strange characters appeared in the trace output instead of the string, since a vprint function erroneously called a vararg print function with a va_list argument. This patch fixes the problem and simplifies the related code. Signed-off-by: Carsten Emde LKML-Reference: <4B01AE5D.1010801@osadl.org> Signed-off-by: Steven Rostedt commit 5a50e33cc916f6a81cb96f0f24f6a88c9ab78b79 Author: Steven Rostedt Date: Tue Nov 17 08:43:01 2009 -0500 ring-buffer: Move access to commit_page up into function used With the change of the way we process commits. Where a commit only happens at the outer most level, and that we don't need to worry about a commit ending after the rb_start_commit() has been called, the code use to grab the commit page before the tail page to prevent a possible race. But this race no longer exists with the rb_start_commit() rb_end_commit() interface. Signed-off-by: Steven Rostedt commit b76965e02bfdd4164c00bf946ff6ca1818ed9fcd Author: Changli Gao Date: Tue Nov 17 04:15:16 2009 -0800 act_mirred: optimization. move checking if eaction is valid in tcf_mirred_init() Signed-off-by: Changli Gao Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit feed1f17241d26261e77ddb5f2fc2a91a3c16739 Author: Changli Gao Date: Tue Nov 17 04:14:00 2009 -0800 act_mirred: cleanup 1. don't let go back using goto. 2. don't call skb_act_clone() until it is necessary. 3. one exit of the critical context. Signed-off-by: Changli Gao Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b2a5decddbe295d09c29d4a8078cdc47a55346df Author: Rémi Denis-Courmont Date: Mon Nov 16 22:17:24 2009 +0000 Phonet: missing rcu_dereference() Reported-by: Paul E. McKenney Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 115924b6bdc7cc6bf7da5b933b09281e1f4e17a9 Author: Shreyas Bhatewara Date: Mon Nov 16 13:41:33 2009 +0000 net: Getting rid of the x86 dependency to built vmxnet3 This patch removes config dependency on x86 to build vmxnet3 driver. Thus the driver can be built on big endian architectures now. Although vmxnet3 is not supported on VMs other than x86 architecture, all this code goes in to ensure correctness. If the code is not dependent on x86, it should not assume little endian architecture in any of its operations. Signed-off-by: Shreyas Bhatewara Signed-off-by: David S. Miller commit 649300b9278dc9fc9c7dfaaa3719ead70882e726 Author: Johannes Berg Date: Mon Nov 16 12:05:34 2009 +0000 netlink: remove subscriptions check on notifier The netlink URELEASE notifier doesn't notify for sockets that have been used to receive multicast but it should be called for such sockets as well since they might _also_ be used for sending and not solely for receiving multicast. We will need that for nl80211 (generic netlink sockets) in the future. Signed-off-by: Johannes Berg Cc: Patrick McHardy Signed-off-by: David S. Miller commit 54b9ddaa68414fad72ab2e1042be067c902441a6 Author: Vladislav Zolotarov Date: Mon Nov 16 06:05:58 2009 +0000 bnx2x: Handle Rx and Tx together in NAPI Put Tx and Rx DPC to be handled in the NAPI: - Saves status blocks. - Moves the Tx work from hardIRQ to NAPI. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 208f2037ae4a2f23fe5f232d25f4030b3a35c3ed Author: fangxiaozhi Date: Tue Nov 17 04:02:24 2009 -0800 net: PPP buffer too small for higher speed connections 1. This patch is based on the kernel of 2.6.32-rc7 2. In this patch, we enlarge the out buffer size to optimize the upload speed for the ppp connection. Then it can support the upload of HSUPA data cards. Signed-off-by: fangxiaozhi Signed-off-by: David S. Miller commit 24cfbcbabf1faef396ee45b13b25c85d2d17b90d Author: Wolfram Sang Date: Tue Nov 17 03:57:12 2009 -0800 net/can/mscan: improve build - move Kconfig entries to the subdirectory - do remaining renames of mpc52xx to mpc5xxx Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 323907ac72a223ed4e4d67ce8e3589900023a0c8 Author: Wolfram Sang Date: Mon Nov 16 12:57:53 2009 +0000 net/can/mscan: add error path to mscan_open() Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 74ff60b29ec602322178d32cb2a82b24ddb884fc Author: Wolfram Sang Date: Mon Nov 16 12:57:52 2009 +0000 net/can/mscan: replace hardcoded values with defines Not all hardcoded values have been replaced as this made the code quite unreadable. IMHO this compromise serves the purpose of readability. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 81593c1cea7afdcd653c77d626aa186993e39c91 Author: Wolfram Sang Date: Mon Nov 16 12:57:51 2009 +0000 net/can/mpc52xx_can: improve properties and their description Signed-off-by: Wolfram Sang Cc: devicetree-discuss@ozlabs.org Signed-off-by: David S. Miller commit 3f158c253214bb783e7072f6848b61c1999631e7 Author: Wolfram Sang Date: Mon Nov 16 12:57:50 2009 +0000 net/can/mpc52xx_can: refactor clock-get routine Merge two functions into one. The result is smaller as they can now share some variables. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 68bd7422a2e07a4e5502137cd4bddb8c2774a912 Author: Wolfram Sang Date: Mon Nov 16 12:57:49 2009 +0000 net/can/mscan: drop assignment in while-construct As suggested by Wolfgang Grandegger. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 1712fe59415faf23a36c38dbacf18efd4ffe94e0 Author: Wolfram Sang Date: Mon Nov 16 12:57:48 2009 +0000 net/can/mscan: fix function annotations - use extern where apropriate - don't export symbols Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 59179ea60c117fe62b80705a12c1e9e919638120 Author: Wolfram Sang Date: Mon Nov 16 12:57:47 2009 +0000 net/can/mscan: use {clr|set}bits8 macros Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 377a1f0b92819697aa1792f171c305a681fcca5a Author: Wolfram Sang Date: Mon Nov 16 12:57:46 2009 +0000 net/can/mscan: drop support for CAN_MODE_{SLEEP|STOP} The upper layer does not support it yet. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 0285e7ceaaec9ef2d2e74dd37e2b557c0e017b5c Author: Wolfram Sang Date: Mon Nov 16 12:57:45 2009 +0000 net/can/mscan: trivial fixes - remove whitespaces - use ! and ?: when apropriate - make braces consistent Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 622ed7e9cfa931cefc423562d414cb6cd0b08991 Author: Wolfram Sang Date: Mon Nov 16 12:57:44 2009 +0000 net/can/mscan: move defines into .h file Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 0696b711e4be45fa104c12329f617beb29c03f78 Author: Lin Ming Date: Tue Nov 17 13:49:50 2009 +0800 timekeeping: Fix clock_gettime vsyscall time warp Since commit 0a544198 "timekeeping: Move NTP adjusted clock multiplier to struct timekeeper" the clock multiplier of vsyscall is updated with the unmodified clock multiplier of the clock source and not with the NTP adjusted multiplier of the timekeeper. This causes user space observerable time warps: new CLOCK-warp maximum: 120 nsecs, 00000025c337c537 -> 00000025c337c4bf Add a new argument "mult" to update_vsyscall() and hand in the timekeeping internal NTP adjusted multiplier. Signed-off-by: Lin Ming Cc: "Zhang Yanmin" Cc: Martin Schwidefsky Cc: Benjamin Herrenschmidt Cc: Tony Luck LKML-Reference: <1258436990.17765.83.camel@minggr.sh.intel.com> Signed-off-by: Thomas Gleixner commit 751386507701010831d72c522171753d2cd903d2 Author: Michael S. Tsirkin Date: Thu Oct 29 17:20:02 2009 +0200 perf tools: Support static build This makes it possible to build perf statically, by performing: make LDFLAGS=-static Since static libraries are only searched in the order they are specified, move library list from LDFLAGS to EXTLIBS, so that they are put at the end of linker command line. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091029152002.GA5406@redhat.com> [ v2: resolved conflicts ] Signed-off-by: Ingo Molnar commit a7b63425a41cd6a8d50f76fef0660c5110f97e91 Merge: 35039eb 3726cc7 Author: Ingo Molnar Date: Tue Nov 17 10:16:43 2009 +0100 Merge branch 'perf/core' into perf/probes Resolved merge conflict in tools/perf/Makefile Merge reason: we want to queue up a dependent patch. Signed-off-by: Ingo Molnar commit 8cc2361bd00e87aab2827a3996a71fe9b2c9f9c4 Author: Andreas Herrmann Date: Tue Nov 17 08:06:38 2009 +0100 x86: ucode-amd: Move family check to microcde_amd.c's init function ... to avoid useless trial to load firmware on systems with unsupported AMD CPUs. Signed-off-by: Andreas Herrmann Cc: Dmitry Adamushko Cc: Mike Travis Cc: Tigran Aivazian Cc: Borislav Petkov Cc: Andreas Mohr Cc: Jack Steiner LKML-Reference: <20091117070638.GA27691@alberich.amd.com> [ v2: changed BUG_ON() to WARN_ON() ] Signed-off-by: Ingo Molnar commit bb9074ff58fe745e4f244f76209241909c82ec9c Merge: 4739a97 156171c Author: Eric W. Biederman Date: Tue Nov 17 01:01:34 2009 -0800 Merge commit 'v2.6.32-rc7' Resolve the conflict between v2.6.32-rc7 where dn_def_dev_handler gets a small bug fix and the sysctl tree where I am removing all sysctl strategy routines. commit a2bfbc072e279ff81e6b336acff612b9bc2e5281 Merge: 5c427ff 82b3cc1 Author: David S. Miller Date: Tue Nov 17 00:05:02 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/can/Kconfig commit f9ede4eca01cc64ce37549c282b6fde727c0ec84 Author: Marin Mitov Date: Mon Nov 16 21:39:26 2009 +0200 ASoC: Use DMA_BIT_MASK(32) instead of deprecated DMA_32BIT_MASK Signed-off-by: Marin Mitov Signed-off-by: Takashi Iwai commit baac805fc591b562f22d8f1cd0b65cdbbe9e9518 Author: Timothy Knoll Date: Mon Nov 16 19:55:46 2009 -0500 sound: Kconfig typo fix Fix a typo in the help text in sound/Kconfig. Signed-off-by: Timothy Knoll Signed-off-by: Takashi Iwai commit 5c427ff9e4cc61625d48172ea082ae99e21eea6a Author: zeal Date: Mon Nov 16 04:58:10 2009 +0000 KS8695: fix ks8695_rx() unreasonable action. ks8695_rx() will call refill_buffers() for every incoming packet. Its not necessary. We just need do it after finishing receiving thing. And the 'RX dma engine' is in the same situation. This blocks our user space application. The following patch may fix it. Signed-off-by: zeal Signed-off-by: David S. Miller commit fa6cae143d58c74d800b8dbdd8b9f058614874f2 Author: zeal Date: Mon Nov 16 04:58:09 2009 +0000 KS8695: fix ks8695_rx_irq() bug. ks8695 rx irq is edge-level. Before arriving at irq handler, the corresponding status bit has been clear(irq's ack). So we should not check it after that. Signed-off-by: zeal Signed-off-by: David S. Miller commit 123bf0e2eddcda36a33bdfc87aa1fb07229f07b5 Author: Ingo Molnar Date: Sun Nov 15 21:19:52 2009 +0900 x86: gart: Clean up the code a bit Clean up various small stylistic details in the GART code. No functionality changed. Cc: FUJITA Tomonori Cc: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 1f7564ca831a00b21bb493ef174c845b2ba9e64d Author: FUJITA Tomonori Date: Sun Nov 15 21:19:54 2009 +0900 x86: Calgary: Remove unnecessary DMA_ERROR_CODE usage This cleans up iommu_alloc() a bit and removes unnecessary DMA_ERROR_CODE usage. Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8fd524b355daef0945692227e726fb444cebcd4f Author: FUJITA Tomonori Date: Sun Nov 15 21:19:53 2009 +0900 x86: Kill bad_dma_address variable This kills bad_dma_address variable, the old mechanism to enable IOMMU drivers to make dma_mapping_error() work in IOMMU's specific way. bad_dma_address variable was introduced to enable IOMMU drivers to make dma_mapping_error() work in IOMMU's specific way. However, it can't handle systems that use both swiotlb and HW IOMMU. SO we introduced dma_map_ops->mapping_error to solve that case. Intel VT-d, GART, and swiotlb already use dma_map_ops->mapping_error. Calgary, AMD IOMMU, and nommu use zero for an error dma address. This adds DMA_ERROR_CODE and converts them to use it (as SPARC and POWER does). Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 42109197eb7c01080eea6d9cd48ca23cbc3c566c Author: FUJITA Tomonori Date: Sun Nov 15 21:19:52 2009 +0900 x86: gart: Add own dma_mapping_error function GART IOMMU is the only user of bad_dma_address variable. This patch converts GART to use the newer mechanism, fill in ->mapping_error() in struct dma_map_ops, to make dma_mapping_error() work in IOMMU specific way. Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 99f4c9de2b707795acb215e2e94df7ea266042b5 Merge: 62ad33f 156171c Author: Ingo Molnar Date: Tue Nov 17 07:51:02 2009 +0100 Merge commit 'v2.6.32-rc7' into core/iommu Merge reason: Add fixes we'll depend on. Signed-off-by: Ingo Molnar commit 3726cc75e581c157202da93bb2333cce25c15c98 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:12 2009 -0200 perf tools: Don't die() in do_write() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a9a70bbce7ab0bf3b1cba3ac662c4d502da6305c Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:11 2009 -0200 perf tools: Don't die() in perf_header__new() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5875412152ce67fb5087157b86ab6597f91d23e8 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:10 2009 -0200 perf tools: Don't die() in perf_header_attr__add_id() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 11deb1f9f6ca6318fa9470e024b9f0634df48b4c Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:09 2009 -0200 perf tools: Don't die() in perf_header__add_attr() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1124ba73be6a758965340bd997593b2996649d60 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 21:45:25 2009 -0200 perf buildid-list: Always show the DSO name Porcelain can ignore it, humans can make more sense of it. Suggested-by: Frederic Weisbecker Suggested-by: Ingo Molnar Suggested-by: Peter Zijlstra Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258415125-15019-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8ffcda17314cfeb698a667567ea63f63362dffbb Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 21:45:24 2009 -0200 perf top: Introduce --hide_{user,kernel}_symbols Default continues to be showing all symbols. 'K' and 'U' can be used to toggle showing kernel and user symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258415125-15019-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3b6ed98895b0fccd8c387f3fc44016fb922c0658 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 19:30:27 2009 -0200 perf top: Use all the lines in the screen By querying the current number of rows, if the user specifies the number of entries, use that instead. If the user uses the 'e' command to change the number of lines 0 will mean do it automatically, any other number disables the auto resizing. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258407027-384-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit dc79c0fc08a94b857aed446bfb47cdfde529400c Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 19:30:26 2009 -0200 perf tools: Don't die in perf_header_attr__new() We really should propagate such kinds of errors so that users of these library functions decide what to do in such cases instead of exiting in random places like now. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258407027-384-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 35039eb6b199749943547c8572be6604edf00229 Author: Masami Hiramatsu Date: Mon Nov 16 18:06:24 2009 -0500 x86: Show symbol name if insn decoder test failed Show symbol name if insn decoder test find a difference. This will help us to find out where the issue is. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230624.5250.49813.stgit@harusame> Signed-off-by: Ingo Molnar commit d65ff75fbe6f8ac7c17f18e4108521898468822c Author: Masami Hiramatsu Date: Mon Nov 16 18:06:18 2009 -0500 x86: Add verbose option to insn decoder test Add verbose option to insn decoder test. This dumps decoded instruction when building kernel with V=1. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230618.5250.18762.stgit@harusame> Signed-off-by: Ingo Molnar commit 5bd085b5fbd8b0b8685a2173cb9263798fc2a44e Author: H. Peter Anvin Date: Mon Nov 16 13:55:31 2009 -0800 x86: remove "extern" from function prototypes in Function prototypes don't need "extern", and it is generally frowned upon to have them. Signed-off-by: H. Peter Anvin commit 4b0f3b81eb33ef18283aa71440cccfede1753ae0 Author: Kees Cook Date: Fri Nov 13 15:28:17 2009 -0800 x86, mm: Report state of NX protections during boot It is possible for x86_64 systems to lack the NX bit either due to the hardware lacking support or the BIOS having turned off the CPU capability, so NX status should be reported. Additionally, anyone booting NX-capable CPUs in 32bit mode without PAE will lack NX functionality, so this change provides feedback for that case as well. Signed-off-by: Kees Cook Signed-off-by: H. Peter Anvin LKML-Reference: <1258154897-6770-6-git-send-email-hpa@zytor.com> commit 4763ed4d45522b876c97e1f7f4b659d211f75571 Author: H. Peter Anvin Date: Fri Nov 13 15:28:16 2009 -0800 x86, mm: Clean up and simplify NX enablement The 32- and 64-bit code used very different mechanisms for enabling NX, but even the 32-bit code was enabling NX in head_32.S if it is available. Furthermore, we had a bewildering collection of tests for the available of NX. This patch: a) merges the 32-bit set_nx() and the 64-bit check_efer() function into a single x86_configure_nx() function. EFER control is left to the head code. b) eliminates the nx_enabled variable entirely. Things that need to test for NX enablement can verify __supported_pte_mask directly, and cpu_has_nx gives the supported status of NX. Signed-off-by: H. Peter Anvin Cc: Tejun Heo Cc: Brian Gerst Cc: Yinghai Lu Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Chris Wright LKML-Reference: <1258154897-6770-5-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit 583140afb989f24d115e80be5c91e503b58ccfc0 Author: H. Peter Anvin Date: Fri Nov 13 15:28:15 2009 -0800 x86, pageattr: Make set_memory_(x|nx) aware of NX support Make set_memory_x/set_memory_nx directly aware of if NX is supported in the system or not, rather than requiring that every caller assesses that support independently. Signed-off-by: H. Peter Anvin Cc: Huang Ying Cc: Venkatesh Pallipadi Cc: Suresh Siddha Cc: Tejun Heo Cc: Tim Starling Cc: Hannes Eder LKML-Reference: <1258154897-6770-4-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit a7c4c0d934c6cbc58de262d090d4a715445453f0 Author: H. Peter Anvin Date: Fri Nov 13 15:28:14 2009 -0800 x86, sleep: Always save the value of EFER Always save the value of EFER, regardless of the state of NX. Since EFER may not actually exist, use rdmsr_safe() to do so. v2: check the return value from rdmsr_safe() instead of relying on the output values being unchanged on error. Signed-off-by: H. Peter Anvin Acked-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham LKML-Reference: <1258154897-6770-3-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit 8a50e5135af0c243e117e94e27feb8d149c879b4 Author: H. Peter Anvin Date: Fri Nov 13 15:28:13 2009 -0800 x86-32: Use symbolic constants, safer CPUID when enabling EFER.NX Use symbolic constants rather than hard-coded values when setting EFER.NX in head_32.S, and do a more rigorous test for the validity of the response when probing for the extended CPUID range. Signed-off-by: H. Peter Anvin LKML-Reference: <1258154897-6770-2-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit c34984b2bbc77596c97c333539bffc90d2033178 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:45 2009 -0200 perf buildid-list: New plumbing command With this we can list the buildids in a perf.data file so that we can pipe them to other, distro specific tools that from the buildids can figure out separate packages (foo-debuginfo) where we can find the matching symtabs so that perf report can do its job. E.g: [acme@doppio linux-2.6-tip]$ perf buildid-list | head -5 8e08b117e5458ad3f85da16d42d0fc5cd21c5869 520c2387a587cc5acfcf881e27dba1caaeab4b1f ec8dd400904ddfcac8b1c343263a790f977159dc 7caedbca5a6d8ab39a7fe44bd28c07d3e14a3f3f 379bb828fd08859dbea73279f04abefabc95a6a3 [acme@doppio linux-2.6-tip]$ perf buildid-list -v | head -5 8e08b117e5458ad3f85da16d42d0fc5cd21c5869 /sbin/init 520c2387a587cc5acfcf881e27dba1caaeab4b1f /lib64/ld-2.10.1.so ec8dd400904ddfcac8b1c343263a790f977159dc /lib64/libc-2.10.1.so 7caedbca5a6d8ab39a7fe44bd28c07d3e14a3f3f /sbin/udevd 379bb828fd08859dbea73279f04abefabc95a6a3 /lib64/libdl-2.10.1.so [acme@doppio linux-2.6-tip]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9e03eb2d512e7f3a1e562d4b922aa8b1891750b6 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:44 2009 -0200 perf tools: Introduce dsos__fprintf_buildid To print the buildids in the list of dsos. Will be used by 'perf buildid-list' Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 37562eac3767c7f07bb1a1329708ff6453e47570 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:43 2009 -0200 perf tools: Generalize perf_header__adds_read() Renaming it to perf_header__process_sections() and passing a callback to handle each feature. The next changesets will introduce 'perf buildid-list' that will handle just the HEADER_BUILD_ID table, ignoring all the other features. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8f41146aedf803856fb6477056e3960cb9ba8f9c Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:42 2009 -0200 perf tools: Debug.h needs to include event.h for event_t Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 84fe8488ade7922afa9f3aa77c22d2d92beb9660 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:41 2009 -0200 perf symbols: Pass the offset to perf_header__read_build_ids() Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b23709248fc9b6d5877f9c741d639a160ed21ff6 Author: Jouni Malinen Date: Mon Nov 16 19:54:08 2009 +0200 mac80211: Do not queue Probe Request frames for station MLME Cooked monitor interfaces cannot currently receive Probe Request frames when the interface is in station mode. However, we do not process Probe Request frames internally in the station MLME, so there is no point in queueing the frame here. Remove Probe Request frames from the queued frame list to allow cooked monitor interfaces to receive these frames. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 2eb2fa67e5462a36e98172fb92c78bc405b3035f Author: Bob Copeland Date: Mon Nov 16 08:30:29 2009 -0500 ath5k: allow setting txpower to 0 As a holdover from earlier code when we used to set the power limit to '0' after a reset to configure the default transmit power, ath5k interprets txpower=0 as 12.5 dBm. Fix that by just passing 0 through. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14567 Cc: stable@kernel.org Reported-by: Daniel Folkers Tested-by: Daniel Folkers Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 634a555ce3ee5ea1fdcaee8b4ac9ce7b54f301ac Author: Jussi Kivilinna Date: Mon Nov 16 12:49:43 2009 +0200 rndis_wlan: handle NL80211_AUTHTYPE_AUTOMATIC rndis_wlan didn't know about NL80211_AUTHTYPE_AUTOMATIC and simple setup with 'iwconfig wlan essid no-encrypt' would fail (ENOSUPP). v2: use NDIS_80211_AUTH_AUTO_SWITCH instead of _OPEN. This will make device try shared key auth first, then open. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 6a62e5ef94f754892734f99e87ca3dedd3cef277 Author: Josef Bacik Date: Sun Nov 15 21:33:18 2009 -0500 rt2800: do not enable tbtt unless we are in a beacon mode Please be gentle, I'm a fs developer and this is my first foray into drivers, as I'm tired of building ralinks driver everytime I update my kernel. Whenever I load the rt2800pci driver my box bogs down, and a few printk's later I discovered its because I was getting 10's of thousands of TBTT interrupts a second. I discovered this was because we were setting the beacon timer to 0, which is apparently what TBTT keys off of. It seems to me that we should only be enabling TBTT when we are in a beacon transmitting mode, which from what I can tell is in AD-HOC and other such modes where the mac80211 layer would have given us a proper beacon_int to set the beacon timer to instead of 0. So this is my fix, only enable TBTT if our sync mode is for beacon. This makes it so my box doesn't die everytime I load the rt2800pci driver. Let me know if this is acceptable, I just learned all these terms about 15 minutes ago via wikipedia, so I really am not familiar with how this stuff is supposed to work. Thanks, Signed-off-by: Josef Bacik Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd6ae4f877ce8cde9f57046a8eea4efc46950502 Author: Felix Fietkau Date: Sun Nov 15 22:27:17 2009 +0100 ath9k: fix massive rx packet loss issue This patch fixes a regression introduced in "ath9k: avoid the copy skb->cb on every RX'd skb" With that change, the rx status in skb->cb was left uninitialized Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 31a4cf1f22677ba1ea90be055bc20aac25b8e7c4 Author: Gertjan van Wingerde Date: Sat Nov 14 20:20:36 2009 +0100 rt2x00: Fix BUG on rt2800usb when trying to read eFuse EEPROM. Current tree hits a BUG_ON in rt2x00_regbusy_read, because the eFuse EEPROM reading code of rt2800lib uses the function without the csr_mutex locked. Fix this by locking the csr_mutex for the of the EEPROM reading cycly and using the _lock variants of the register reading and writing functions. This also introcudes the register_read_lock function pointer in the rt2800_ops structure. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 16475b095a9c952f16e626c142b30bc95cfeadb3 Author: Gertjan van Wingerde Date: Sat Nov 14 20:20:35 2009 +0100 rt2x00: Log RT/RF chipset information correctly. Some drivers (rt2800* most notably) cannot set the RF and RT chipset in the correct order to have the information logging in rt2x00_set_chip be correct. Fix this by decoupling the setting of the chipset information from the logging of the chipset information so that drivers can determine themselves when all information is set. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit cce5fc45f9e9570f320009431d033d5a8f6144cc Author: Gertjan van Wingerde Date: Tue Nov 10 22:42:40 2009 +0100 rt2x00: Initialize rf302x RF values properly for rt2800pci. Ensure RF302x and RF2020 chipsets are handled properly in rt2800lib for the rt3090 chipset. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa6f632fba300f92d21962ef6e58411345465241 Author: Gertjan van Wingerde Date: Mon Nov 9 22:59:58 2009 +0100 rt2x00: Fix rt2800lib RF chip programming selection. Mirror the legacy Ralink driver with respect to rt2800 RF register programming. Execute rt2800_config_channel_rt3x for all RF2020, RF3020, RF3021 & RF3022 chipsets when operating on RT3070 devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 02bb57aeb092cbb0dfdb50c6026dbd0c60af7644 Author: Roel Kluin Date: Mon Nov 16 17:05:02 2009 +0100 sound: OSS: keep index within bounds of midi_devs[] When the {orig,midi}_dev equals num_midis, that's one too large already. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 82164161679c448f33092945ea97cb547a13683a Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 13:48:11 2009 -0200 perf symbols: Call the symbol filter in dso__synthesize_plt_symbols() We need to pass the symbol to the filter so that, for instance, 'perf top' can do filtering and also set the private area it manages, setting the ->map pointer, etc. I found this while running 'perf top' on a machine where hits happened on PLT symbols, where ->map wasn't being set up and segfaults thus happened. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258386491-20278-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8df89bc35c188e389295eaf7917653f13c83ce70 Author: Mike Rapoport Date: Mon Nov 16 16:19:25 2009 +0200 ASoC: OMAP: enable Overo driver for CM-T35 Signed-off-by: Mike Rapoport Acked-by: Liam Girdwood Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit 0912e5359f89f303f53fd4874dadab77a4949a8a Author: Nicolas Ferre Date: Tue Jun 23 16:30:56 2009 +0200 atmel_lcdfb Kconfig: remove long dependency line Many Atmel SOC are embedding a LCD controller. This patch removes the long dependency line for this Atmel LCD framebuffer driver configuration entry. The HAVE_FB_ATMEL configuration option is located in the video Kconfig file as it may be setup by ARM/AT91 and AVR32 chips. Signed-off-by: Nicolas Ferre Acked-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: Andrew Victor commit 2ef9f59a7a3a0894be63836542f0902a45ffdd22 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Thu Oct 22 18:50:26 2009 +0200 at91: Kconfig simplification Instead of adding "depends on" at config level, introduce HAVE_* config variables. Add them at machine or soc level to specify the ability of a particular support. It will ease new board introduction and readability. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit c4e4ab9f23d26498a01316428d710833fb96f214 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Thu Oct 22 18:41:41 2009 +0200 at91: remove not needed depends on Those "depends on" are a double check as all machine entries are surrounded by "if " conditions. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit fdcad71cef68529a1f54331f533763ca53814f96 Author: Nicolas Ferre Date: Tue Oct 20 16:32:53 2009 +0200 at91: at91sam9g20ek modify dual slot evaluation kit at91sam9g20ek rev. C and onwards embed two SD/MMC slots. This patch modify the previous dual slot board definition to match the official rev. C board. It also allows the use of at91_mci SD/MMC driver in addition to the atmel-mci one. Some pins have been re-affected from leds or Ethernet phy IRQ to the SD/MMC slot A. This lead to a modification of those definitions. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit e79c65a97c01d5da4317f44f9f98b3814e091a43 Author: Cyrill Gorcunov Date: Mon Nov 16 18:14:26 2009 +0300 x86: io-apic: IO-APIC MMIO should not fail on resource insertion If IO-APIC base address is 1K aligned we should not fail on resourse insertion procedure. For this sake we define IO_APIC_SLOT_SIZE constant which should cover all IO-APIC direct accessible registers. An example of a such configuration is there http://marc.info/?l=linux-kernel&m=118114792006520 | | Quoting the message | | IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 | IOAPIC[1]: apic_id 3, version 32, address 0xfec80000, GSI 24-47 | IOAPIC[2]: apic_id 4, version 32, address 0xfec80400, GSI 48-71 | IOAPIC[3]: apic_id 5, version 32, address 0xfec84000, GSI 72-95 | IOAPIC[4]: apic_id 8, version 32, address 0xfec84400, GSI 96-119 | Reported-by: "Maciej W. Rozycki" Signed-off-by: Cyrill Gorcunov Acked-by: Yinghai Lu LKML-Reference: <20091116151426.GC5653@lenovo> Signed-off-by: Ingo Molnar commit 3c93ca00eeeb774c7dd666cc7286a9e90c53e998 Author: Frederic Weisbecker Date: Mon Nov 16 15:42:18 2009 +0100 x86: Add missing might_fault() checks to copy_{to,from}_user() On x86-64, copy_[to|from]_user() rely on assembly routines that never call might_fault(), making us missing various lockdep checks. This doesn't apply to __copy_from,to_user() that explicitly handle these calls, neither is it a problem in x86-32 where copy_to,from_user() rely on the "__" prefixed versions that also call might_fault(). Signed-off-by: Frederic Weisbecker Cc: Arjan van de Ven Cc: Linus Torvalds Cc: Nick Piggin Cc: Peter Zijlstra LKML-Reference: <1258382538-30979-1-git-send-email-fweisbec@gmail.com> [ v2: fix module export ] Signed-off-by: Ingo Molnar commit 303fc0870f8fbfabe260c5c32b18e53458d597ea Author: Prarit Bhargava Date: Thu Nov 12 13:09:31 2009 -0500 x86: AMD Northbridge: Verify NB's node is online Fix panic seen on some IBM and HP systems on 2.6.32-rc6: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] find_next_bit+0x77/0x9c [...] [] cpumask_next_and+0x2e/0x3b [] pci_device_probe+0x8e/0xf5 [] ? driver_sysfs_add+0x47/0x6c [] driver_probe_device+0xd9/0x1f9 [] __driver_attach+0x58/0x7c [] ? __driver_attach+0x0/0x7c [] bus_for_each_dev+0x54/0x89 [] driver_attach+0x19/0x1b [] bus_add_driver+0xd3/0x23d [] driver_register+0x98/0x109 [] __pci_register_driver+0x63/0xd3 [] ? up_read+0x26/0x2a [] ? k8temp_init+0x0/0x20 [k8temp] [] k8temp_init+0x1e/0x20 [k8temp] [] do_one_initcall+0x6d/0x185 [] sys_init_module+0xd3/0x236 [] system_call_fastpath+0x16/0x1b I put in a printk and commented out the set_dev_node() call when and got this output: quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x0 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x1 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x2 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x3 I.e. the issue appears to be that the HW has set val to a valid value, however, the system is only configured for a single node -- 0, the others are offline. Check to see if the node is actually online before setting the numa node for an AMD northbridge in quirk_amd_nb_node(). Signed-off-by: Prarit Bhargava Cc: bhavna.sarathy@amd.com Cc: jbarnes@virtuousgeek.org Cc: andreas.herrmann3@amd.com LKML-Reference: <20091112180933.12532.98685.sendpatchset@prarit.bos.redhat.com> [ v2: clean up the code and add comments ] Signed-off-by: Ingo Molnar commit 67d634c07afd8f70973d925463e775fdb89ad536 Author: Takashi Iwai Date: Mon Nov 16 15:35:59 2009 +0100 ALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=n Disable beep-related codes when CONFIG_SND_HDA_INPUT_BEEP isn't set. Signed-off-by: Takashi Iwai commit 9bb1fe390de3e1def0dd162dbdaf62e0981105fa Author: Takashi Iwai Date: Mon Nov 16 15:33:49 2009 +0100 ALSA: hda - Fix beep_mode option value The beep_mode option value was wrongly defined: it must be 0 = off and 1 = on. Also, evaluate the beep_mode value at snd_hda_attach_beep_device() properly so that no device is created when beep_mode=0 is given. Signed-off-by: Takashi Iwai commit d5191e50b251594bdde10d4839a952ff1646ef62 Author: Takashi Iwai Date: Mon Nov 16 14:58:17 2009 +0100 ALSA: hda - Update / add kerneldoc comments to exported functions Signed-off-by: Takashi Iwai commit 85dd662ff4d2967084acfc761a33717383297e42 Author: Jaroslav Kysela Date: Wed Nov 11 13:49:07 2009 +0100 ALSA: hda - move snd_hda_pcm_type_name from hda_codec.h to hda_local.h The snd_hda_pcm_type_name array is local only. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 559fdc3c1b624edb1933a875022fe7e27934d11c Author: Peter Zijlstra Date: Mon Nov 16 12:45:14 2009 +0100 perf_event: Optimize perf_output_lock() The purpose of perf_output_{un,}lock() is to: 1) avoid publishing incomplete data [ possible when publishing a head that is ahead of an entry that is still being written ] 2) guarantee fwd progress [ a simple refcount on pending writers doesn't need to drop to 0, making it so would end up implementing something like forced quiecent states of RCU ] To satisfy the above without undue complexity it serializes between CPUs, this means that a pending writer can only be the same cpu in a nested context, and since (under normal operation) a cpu always makes progress we're good -- if the head is only published when the bottom most writer completes. Now we don't need to disable IRQs in order to serialize between CPUs, disabling preemption ought to be sufficient, esp since we already deal with nesting due to NMIs. This avoids potentially expensive (and needless) local IRQ disable/enable ops. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <1258373161.26714.254.camel@laptop> Signed-off-by: Ingo Molnar commit d019361a0802924e2dbcd7313fa3dcfc960222a7 Author: Takashi Iwai Date: Mon Nov 16 12:03:49 2009 +0100 ALSA: hda - Add description of beep_mode in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit 411462f62a65eeae7f451c6eb7a38b9d8759c61a Author: Thomas Gleixner Date: Mon Nov 16 11:52:39 2009 +0100 x86: Fix printk format due to variable type change clockevents.mult became u32. Fix the printk format. Signed-off-by: Thomas Gleixner commit 621a071f4323a5eb71ea4f289c3d8ce65a4758e4 Author: Stephen Rothwell Date: Mon Nov 16 17:54:47 2009 +1100 sparc: fix printk for change of variable type The clockevent mult field became a u32. Signed-off-by: Stephen Rothwell Cc: "David S. Miller" Cc: Peter Zijlstra LKML-Reference: <20091116180118.aa1bf1e4.sfr@canb.auug.org.au> Signed-off-by: Thomas Gleixner commit 4309e5682dd6cca22f1a5cc364b209bf4a121786 Author: Kristoffer Glembo Date: Sun Nov 15 23:51:06 2009 +0000 Added sparc_leon3_snooping_enabled() and converted extern inline to static inline Signed-off-by: David S. Miller commit c000c71272ddbe3774b624fdef4eae3147877133 Author: Kristoffer Glembo Date: Fri Nov 13 05:21:22 2009 +0000 No auxio on LEON Do not probe for auxio register on SPARC LEON. Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 3fd434d846a2c87f8f705b6876f81e4053f93749 Author: Frank Blaschka Date: Thu Nov 12 00:11:45 2009 +0000 qeth: allow dynamic change of rx checksumming Technically there is no need to set the card offline to change RX checksumming. Get rid of this stupid limitation. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit c3b4a740db3688b245282ac957a01f3fb8d1186d Author: Frank Blaschka Date: Thu Nov 12 00:11:44 2009 +0000 qeth: rework TSO functions The maximum TSO size OSA can handle is 15 * PAGE_SIZE. This patch reduces gso_max_size to this value and adds some sanity checks and statistics to the TSO implementation. Since only layer 3 is able to do TSO move all TSO related functions to the qeth_l3 module. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit aa90922479513db0d080239324d0d04701418ba5 Author: Ursula Braun Date: Thu Nov 12 00:11:43 2009 +0000 qeth: Recognize return codes of ccw_device_set_online Setting a qeth device online requires to call function ccw_device_set_online() for read-, write-, and data-subchannel. Failures should be detected immediately without an attempt to invoke follow-on activity qeth_qdio_clear_card()., In addition, ccw_device_set_online calls are consolidated in qeth_core_main.c only. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f20b04597b9f75dce16c898abb487eff06ddf677 Author: Ursula Braun Date: Thu Nov 12 00:11:42 2009 +0000 qeth: remaining EDDP cleanup EDDP code has been removed from qeth in 2009. This patch removes two useless remaining EDDP-references. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit d64ecc22d0a4b175d97cb2b1e297a9c5e3bdb26d Author: Einar Lueck Date: Thu Nov 12 00:11:41 2009 +0000 qeth: Exploit Connection Isolation Isolate data connection to a shared OSA card against other data connections to the same OSA card. Connectivity between isolated data connections sharing the same OSA card is therefore possible only through external network gear (e.g. a router). Signed-off-by: Einar Lueck Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 9c96fa599fe4f0ccc6e3e606df6652335afe28e8 Author: Takashi Iwai Date: Mon Nov 16 11:25:33 2009 +0100 ALSA: hda - Get rid of magic digits for subdev hack Define a proper const for a magic 31bit flag for subdev / NID setup with a brief comment. Signed-off-by: Takashi Iwai commit 4d02d1b638af580ae3d69367248539a8b3893064 Author: Jaroslav Kysela Date: Thu Nov 12 10:15:48 2009 +0100 ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping This patch adds support for dynamically created controls to proc codec file (Control: lines). Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3911a4c19e927738766003839aa447becbdbaa27 Author: Jaroslav Kysela Date: Wed Nov 11 13:43:01 2009 +0100 ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment This is an initial patch to show universal control<->NID assigment in proc codec file. The change helps to debug codec related problems. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2dca0bba70ce3c233be152e384580c134935332d Author: Jaroslav Kysela Date: Fri Nov 13 18:41:52 2009 +0100 ALSA: hda - add beep_mode module parameter The beep_mode parameter for snd-hda-intel module allows to choose among different digital beep device registation to the input layer. 0 = do not register to the input layer 1 = register to the input layer all time 2 = use "Beep Switch" control exported to user space mixer applications Also, introduce CONFIG_SND_HDA_INPUT_BEEP_MODE for default value. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 5f81669750504b1e7e00acde5068d972af466f29 Author: Jaroslav Kysela Date: Wed Nov 4 12:46:49 2009 +0100 ALSA: hda: beep - add missing cancel_delayed_work The unregister work should be also canceled in snd_hda_detach_beep_device() function. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 13dab0808bb41b18888e1758a060a685deee1f30 Author: Jaroslav Kysela Date: Tue Nov 3 14:29:50 2009 +0100 ALSA: hda_intel: Digital PC Beep - delay input device unregistration The massive register/unregister calls for input device layer might be overkill. Delay unregister call by one HZ as workaround. Also, as benefit, beep->enabled variable is changed immediately now (not from workqueue). Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 123c07aeddd71fbb295842a8c19866e780b9a100 Author: Jaroslav Kysela Date: Wed Oct 21 14:48:23 2009 +0200 ALSA: hda_intel: Digital PC Beep - change behaviour for input layer Original implementation was keeping registered input device for SND_BEEP and SND_TONE events all time. This patch changes this behaviour: If digital PC Beep is turned off using universal control switch, the input device is unregistered. Explanation: The kd_mksound() send SND_BEEP and SND_TONE only to last registered device acceping those events. It means that the HDA Intel audio driver blocks also the internal PC Speaker device (pcspkr.c driver) even if the HDA Beep is muted. The user can easy disable all beeps using 'setterm -blength 0' or 'xset b off' command. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit fe705ab1526bc2c8b7756f3a855f040ab2060af2 Merge: 7d1794e ad1cd74 Author: Takashi Iwai Date: Mon Nov 16 11:33:41 2009 +0100 Merge branch 'topic/beep-rename' into topic/hda commit 7d1794e81b5f202c73d7e3e65f0ee7aae4928038 Merge: 01a1796 8ef5837 Author: Takashi Iwai Date: Mon Nov 16 11:33:35 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 047106adcc85e3023da210143a6ab8a55df9e0fc Author: Peter Zijlstra Date: Mon Nov 16 10:28:09 2009 +0100 sched: Sched_rt_periodic_timer vs cpu hotplug Heiko reported a case where a timer interrupt managed to reference a root_domain structure that was already freed by a concurrent hot-un-plug operation. Solve this like the regular sched_domain stuff is also synchronized, by adding a synchronize_sched() stmt to the free path, this ensures that a root_domain stays present for any atomic section that could have observed it. Reported-by: Heiko Carstens Signed-off-by: Peter Zijlstra Acked-by: Heiko Carstens Cc: Gregory Haskins Cc: Siddha Suresh B Cc: Martin Schwidefsky LKML-Reference: <1258363873.26714.83.camel@laptop> Signed-off-by: Ingo Molnar commit 62ad33f67003b9a7b6013f0511579b9805e11626 Author: Hiroshi Shimamoto Date: Mon Nov 16 11:44:30 2009 +0900 x86: Don't put iommu_shutdown_noop() in init section It causes kernel panic on shutdown or reboot. Signed-off-by: Hiroshi Shimamoto Acked-by: FUJITA Tomonori LKML-Reference: <4B00BC8E.50801@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit b9f5d52670c27e71f04c466aee77e3a2eeca8080 Author: Marin Mitov Date: Fri Nov 13 07:58:41 2009 +0000 remove deprecated and not used: print_mac() The function print_mac in net/ethernet/eth.c is marked __deprecated and not used. Remove it. Signed-off-by: Marin Mitov Signed-off-by: David S. Miller commit 2d6682db114cb53bc94991659478756302e6a600 Author: Jay Vosburgh Date: Fri Nov 13 13:13:01 2009 +0000 bonding: fix 802.3ad standards compliance error The language of 802.3ad 43.4.9 requires the "recordPDU" function to, in part, compare the Partner parameter values in a received LACPDU to the stored Actor values. If those match, then the Partner's synchronization state is set to true. The current 802.3ad implementation is performing these steps out of order; first, the synchronization check is done, then the paramters are checked to see if they match (the synch check being done against a match check of a prior LACPDU). This causes delays in establishing aggregators in some circumstances. This patch modifies the 802.3ad code to call __choose_matched, the function that does the "match" comparisions, as the first step of __record_pdu, instead of immediately afterwards. This new behavior is in compliance with the language of the standard. Some additional commentary relating to code vs. standard is also added. Reported by Martin Patterson who also supplied the logic of the fix and verified the patch. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit b93ab837a2d3eb394082c9eae4ee0a4f83060027 Author: Eric Dumazet Date: Fri Nov 13 06:33:11 2009 +0000 vlan: Use __vlan_hwaccel_put_tag() in rx Commit 05423b241311c9380 (vlan: allow null VLAN ID to be used) forgot to update __vlan_hwaccel_rx() & vlan_gro_common() We need to set VLAN_TAG_PRESENT flag in skb->vlan_tci Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c5d5d1721763842a516529e553433d13b11c3f31 Author: Matt Carlson Date: Fri Nov 13 13:03:52 2009 +0000 tg3: Update version to 3.104 This patch updates the tg3 version to 3.104. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 5001e2f638011859c1351f9fe57ca4e545a15c47 Author: Matt Carlson Date: Fri Nov 13 13:03:51 2009 +0000 tg3: Fix DIDs, Enable 5717 support This patch fixes the 5717 variant device ID enumerations and adds those DIDs to the PCI ID table. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b196c7e45f30cbcd38c83386bc8a04a21477f8d3 Author: Matt Carlson Date: Fri Nov 13 13:03:50 2009 +0000 tg3: Add rx prod ring consolidation This patch adds code to funnel each MSI-X vector's rx packet buffers into a single set of producer rings which will then be submitted to the hardware. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 66711e66639776685aeaad774488be1857abce26 Author: Matt Carlson Date: Fri Nov 13 13:03:49 2009 +0000 tg3: Create aliases for rx producer mailbox regs The rx producer mailbox registers are used in several spots in the code. The addition of TG3_64BIT_REG_LOW makes register references uncomfortably long. This patch creates an alias for the standard and jumbo ring producer index registers to make the code cleaner. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2b2cdb65bec42d38268b2ac115876b066afa7f95 Author: Matt Carlson Date: Fri Nov 13 13:03:48 2009 +0000 tg3: Lay proucer ring handling groundwork The patch increases the number of producer rings available and implements the constructor and destructor code that deals with them. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4361935afe3abc3e5a93006b99197fac1fabbd50 Author: Matt Carlson Date: Fri Nov 13 13:03:47 2009 +0000 tg3: Consider rx_std_prod_idx a hw mailbox This patch changes how the code uses the rx_std_prod_idx member. In the following patch, the code will be changed so that it will act just like a hardware mailbox. This patch prepares the code so that memory barriers can be more easily inserted. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 411da6407e778bf946911df08bb5afc505422f31 Author: Matt Carlson Date: Fri Nov 13 13:03:46 2009 +0000 tg3: rename rx_[std|jmb]_ptr A later patch is going to add consumer indicies for the producer rings. To keep things readable, this patch renames rx_[std|jmb]_ptr to rx_[std|jmb]_prod_idx. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 86b21e59c9a65c8e46d35ac6c4220f63639828c6 Author: Matt Carlson Date: Fri Nov 13 13:03:45 2009 +0000 tg3: tg3_alloc_rx_skb(tnapi => tp) This patch converts the tnapi argument of tg3_alloc_rx_skb() to tp. The level of indirection is unnecessary. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit a3896167160ce9ad1eadeb88fd2f3971888444ae Author: Matt Carlson Date: Fri Nov 13 13:03:44 2009 +0000 tg3: Add prodring parameter to tg3_alloc_rx_skb() This patch changes the tg3_alloc_rx_skb() implementation to accept the destination producer ring set pointer as a parameter rather than assuming the source and destination producer rings are the same. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit afc081f83c59a7cf2c025a3ed89d011b5db556eb Author: Matt Carlson Date: Fri Nov 13 13:03:43 2009 +0000 tg3: Make tg3_alloc_rx_skb() a dst-only operation This patch removes the source index parameter of tg3_alloc_rx_skb(). A later patch will make it possible for the source and destination producer rings to be different. This patch opts to make tg3_alloc_rx_skb() a destination-only implementation and move the code sensitive to the difference elsewhere. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 78f90dcf184b8225a24217605c4289f1986451a3 Author: Matt Carlson Date: Fri Nov 13 13:03:42 2009 +0000 tg3: Move napi_add calls below tg3_get_invariants tg3_get_invariants(), among other things, discovers whether or not the device is MSI-X capable and how many interrupts it supports. This discovery needs to happen before registering NAPI instances with netdev. This patch moves the code block that calls napi_add later in tg3_init_one() so that tg3_get_invariants() has a chance to run first. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 35f2d7d0d7c222a580da0ed91c8d70c54267620a Author: Matt Carlson Date: Fri Nov 13 13:03:41 2009 +0000 tg3: Create tg3_poll_msix() for non-zero MSIX vecs This patch gives all non-zero MSIX vectors their own NAPI handler. This will make NAPI handling for those vectors slightly more efficient. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit cbf9ca6cf8304beb640a948709c4672bc1d5a55f Author: Matt Carlson Date: Fri Nov 13 13:03:40 2009 +0000 tg3: Allow DMAs to cross cacheline boundaries By default, the 5717 (and future chips) break up PCIe DMA packets across cacheline boundaries. This isn't necessary on x86. This patch selectively loosens the restriction. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 615774fe598f8ee971a8dfeb1f2ec4211241c433 Author: Matt Carlson Date: Fri Nov 13 13:03:39 2009 +0000 tg3: Use tg3_start_xmit_dma_bug for 5717 A0 The A0 revision of the 5717 has problems with short packet fragments. It needs to use the tg3_start_xmit_dma_bug() routine. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit e849cdc309de4a1e49dc3c23c6c36da91b990c9f Author: Matt Carlson Date: Fri Nov 13 13:03:38 2009 +0000 tg3: Add new HW_TSO_3 flag for 5717 The 5717 sets up TSO slightly differently in the transmit path. It looks like this method will be the new way of doing things. This patch defines a flag to indicate this. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 507399f18ea5810de42f0ea228c14305a8f67512 Author: Matt Carlson Date: Fri Nov 13 13:03:37 2009 +0000 tg3: Refine TSO and MSI discovery This patch consolidates the TSO capability discovery code into its own code block. The code that decides whether or not to allow TSO is then cleaned up. Finally, the patch consolidates all MSI and MSIX capability code into a single code block. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f66a29b03a2637ff052f2b8a81a5417fa44e228b Author: Matt Carlson Date: Fri Nov 13 13:03:36 2009 +0000 tg3: Move TG3_FLG2_PROTECTED_NVRAM to tg3_flags3 We need room for another TSO flag and it would be most efficient if it resided in tg3_flags2. This patch moves the TG3_FLG2_PROTECTED_NVRAM to tg3_flags3 to make room. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 24f4efd4e6c89a4093d0b8653d6669e45de45001 Author: Matt Carlson Date: Fri Nov 13 13:03:35 2009 +0000 tg3: Napify tg3_start_xmit_dma_bug() This patch converts tg3_start_xmit_dma_bug() to accomodate multiple NAPI instances. This is prep work for a later patch in this series. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 87668d352aa8d135bd695a050f18bbfc7b50b506 Author: Matt Carlson Date: Fri Nov 13 13:03:34 2009 +0000 tg3: Don't touch RCB nic addresses This patch avoids reprogramming the RCB NIC addresses for all 5755 and later devices. The address is incorrect for 5717 devices and should be correct by default for all other affected devices. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c2060fe1f36565e60e622662a4519babd3b72f68 Author: Matt Carlson Date: Fri Nov 13 13:03:33 2009 +0000 tg3: Add 5717 phy ID This patch adds the 5717 phy ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 9a1654ba0b50402a6bd03c7b0fe9b0200a5ea7b1 Author: Jarek Poplawski Date: Sun Nov 15 07:20:12 2009 +0000 net: Optimize hard_start_xmit() return checking Recent changes in the TX error propagation require additional checking and masking of values returned from hard_start_xmit(), mainly to separate cases where skb was consumed. This aim can be simplified by changing the order of NETDEV_TX and NET_XMIT codes, because the latter are treated similarly to negative (ERRNO) values. After this change much simpler dev_xmit_complete() is also used in sch_direct_xmit(), so it is moved to netdevice.h. Additionally NET_RX definitions in netdevice.h are moved up from between TX codes to avoid confusion while reading the TX comment. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cb43e23435a66d5ed90f804af9efe9096503979f Author: Tomas Winkler Date: Sat Nov 14 08:36:36 2009 +0000 iwmc3200top: simplify the driver version drop the version parts not needed for in-tree driver Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 11e2521701681452f54f0e98ee2041da07d24c70 Author: Tomas Winkler Date: Sat Nov 14 08:36:35 2009 +0000 iwmc3200top: use prefered style for the device table. Use device id number directly accompany with comment rather then a #define Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit ed04642f753b1240fc65c2978b7365e93209972a Author: Eric Dumazet Date: Fri Nov 13 21:54:04 2009 +0000 net: check the return value of ndo_select_queue() Check the return value of ndo_select_queue(). If the value isn't smaller than the real_num_tx_queues, print a warning message, and reset it to zero. Signed-off-by: Changli Gao Signed-off-by: Eric Dumazet ---- Signed-off-by: David S. Miller commit 9c2b5bdee125d840b2023dcc7625353c8e5bb10c Author: Amit Kumar Salecha Date: Fri Nov 13 16:37:37 2009 +0000 netxen: update MAINTAINERS Changing MAINTAINERS for netxen nic driver. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 07c3c4ee3a4143d0c8bb2e260c089bf012cf2c6e Author: Arnd Bergmann Date: Sun Nov 15 21:13:21 2009 -0800 hamradio/mkiss: fix typo in compat_ioctl My last commit introduced an typo causing the compat_ioctl function to do nothing useful. The obvious way for an ioctl function to work is to look at the command, not the argument first. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 1032988c71f3f85483b2b4319684d1205a704c02 Author: Theodore Ts'o Date: Sun Nov 15 15:29:56 2009 -0500 ext4: fix block validity checks so they work correctly with meta_bg The block validity checks used by ext4_data_block_valid() wasn't correctly written to check file systems with the meta_bg feature. Fix this. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 8dadb198cb70ef811916668fe67eeec82e8858dd Author: Theodore Ts'o Date: Mon Nov 23 07:24:38 2009 -0500 ext4: fix uninit block bitmap initialization when s_meta_first_bg is non-zero The number of old-style block group descriptor blocks is s_meta_first_bg when the meta_bg feature flag is set. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 3f8fb9490efbd300887470a2a880a64e04dcc3f5 Author: Theodore Ts'o Date: Mon Nov 23 07:24:52 2009 -0500 ext4: don't update the superblock in ext4_statfs() commit a71ce8c6c9bf269b192f352ea555217815cf027e updated ext4_statfs() to update the on-disk superblock counters, but modified this buffer directly without any journaling of the change. This is one of the accesses that was causing the crc errors in journal replay as seen in kernel.org bugzilla #14354. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 86ebfd08a1930ccedb8eac0aeb1ed4b8b6a41dbc Author: Eric Sandeen Date: Sun Nov 15 15:30:52 2009 -0500 ext4: journal all modifications in ext4_xattr_set_handle ext4_xattr_set_handle() was zeroing out an inode outside of journaling constraints; this is one of the accesses that was causing the crc errors in journal replay as seen in kernel.org bugzilla #14354. Reviewed-by: Andreas Dilger Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 30c6e07a92ea4cb87160d32ffa9bce172576ae4c Author: Julia Lawall Date: Sun Nov 15 15:30:58 2009 -0500 ext4: fix i_flags access in ext4_da_writepages_trans_blocks() We need to be testing the i_flags field in the ext4 specific portion of the inode, instead of the (confusingly aliased) i_flags field in the generic struct inode. Signed-off-by: Julia Lawall Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 50689696867d95b38d9c7be640a311494a04fb86 Author: Theodore Ts'o Date: Mon Nov 23 07:17:34 2009 -0500 ext4: make sure directory and symlink blocks are revoked When an inode gets unlinked, the functions ext4_clear_blocks() and ext4_remove_blocks() call ext4_forget() for all the buffer heads corresponding to the deleted inode's data blocks. If the inode is a directory or a symlink, the is_metadata parameter must be non-zero so ext4_forget() will revoke them via jbd2_journal_revoke(). Otherwise, if these blocks are reused for a data file, and the system crashes before a journal checkpoint, the journal replay could end up corrupting these data blocks. Thanks to Curt Wohlgemuth for pointing out potential problems in this area. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit beac2da7565e42be59963824899825d0cc624295 Author: Theodore Ts'o Date: Mon Nov 23 07:25:08 2009 -0500 ext4: add tracepoint for ext4_forget() Signed-off-by: "Theodore Ts'o" commit cf40db137cc2b2a1b3f6850247ac2b181d9d3847 Author: Theodore Ts'o Date: Sun Nov 22 21:00:01 2009 -0500 ext4: remove failed journal checksum check Now that we are checking for failed journal checksums in the jbd2 layer, we don't need to check in the ext4 mount path --- since a checksum fail will result in ext4_load_journal() returning an error, causing the file system to refuse to be mounted until e2fsck can deal with the problem. Signed-off-by: "Theodore Ts'o" commit e6a47428de84e19fda52f21ab73fde2906c40d09 Author: Theodore Ts'o Date: Sun Nov 15 15:31:37 2009 -0500 jbd2: don't wipe the journal on a failed journal checksum If there is a failed journal checksum, don't reset the journal. This allows for userspace programs to decide how to recover from this situation. It may be that ignoring the journal checksum failure might be a better way of recovering the file system. Once we add per-block checksums, we can definitely do better. Until then, a system administrator can try backing up the file system image (or taking a snapshot) and and trying to determine experimentally whether ignoring the checksum failure or aborting the journal replay results in less data loss. Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit dc186ad741c12ae9ecac8b89e317ef706fdaf8f6 Author: Thomas Gleixner Date: Mon Nov 16 01:09:48 2009 +0900 workqueue: Add debugobjects support Add debugobject support to track the life time of work_structs. While at it, remove duplicate definition of INIT_DELAYED_WORK_ON_STACK(). Signed-off-by: Thomas Gleixner Signed-off-by: Tejun Heo commit 7255fe2a42c612f2b8fe4c347f0a5f0c97d85a46 Author: Lucas De Marchi Date: Sun Nov 15 12:05:08 2009 -0200 perf stat: Do not print ratio when task-clock event is not counted The ratio between the number of events and the time elapsed makes sense only if task-clock event is counted. Otherwise it will be simply a (confusing) # 0.000 M/sec This patch outputs the ratio only if task-clock event is counted. Some test examples of before and after: Before: [lucas@skywalker linux.trees.git]$ sudo perf stat -e branch-misses -a -- sleep 1 Performance counter stats for 'sleep 1': 1367818 branch-misses # 0.000 M/sec 1.001494325 seconds time elapsed After (without task-clock): [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -a -- sleep 1 Performance counter stats for 'sleep 1': 1135044 branch-misses 1.001370775 seconds time elapsed After (with task-clock): [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -e task-clock -a -- sleep 1 Performance counter stats for 'sleep 1': 1070111 branch-misses # 0.534 M/sec 2002.730893 task-clock-msecs # 1.999 CPUs 1.001640292 seconds time elapsed Signed-off-by: Lucas De Marchi Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091115140507.GB21561@skywalker.lan> Signed-off-by: Ingo Molnar commit d2fb8b4151a92223da6a84006f8f248ebeb6677d Author: Hitoshi Mitake Date: Sun Nov 15 20:36:53 2009 +0900 perf tools: Add new perf_atoll() function to parse string representing size in bytes This patch modifies util/string.[ch] to add new function: perf_atoll() to parse string representing size in bytes. This function parses (\d+)(b|B|kb|KB|mb|MB|gb|GB) (e.g. "256MB") and returns its numeric value. (e.g. 268435456) Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258285013-4759-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 498657a478c60be092208422fefa9c7b248729c2 Author: Tejun Heo Date: Fri Nov 13 18:33:53 2009 +0900 sched, kvm: Fix race condition involving sched_in_preempt_notifers In finish_task_switch(), fire_sched_in_preempt_notifiers() is called after finish_lock_switch(). However, depending on architecture, preemption can be enabled after finish_lock_switch() which breaks the semantics of preempt notifiers. So move it before finish_arch_switch(). This also makes the in- notifiers symmetric to out- notifiers in terms of locking - now both are called under rq lock. Signed-off-by: Tejun Heo Acked-by: Avi Kivity Cc: Peter Zijlstra LKML-Reference: <4AFD2801.7020900@kernel.org> Signed-off-by: Ingo Molnar commit 0ffa798d947f5f5e40690cc9d38e678080a34f87 Merge: 39dc78b c86e2ea c5659b7 Author: Ingo Molnar Date: Sun Nov 15 09:51:19 2009 +0100 Merge branches 'perf/powerpc' and 'perf/bench' into perf/core Merge reason: Both 'perf bench' and the pending PowerPC changes are now ready for the next merge window. Signed-off-by: Ingo Molnar commit 39dc78b6510323848e3356452f7dab9499736978 Merge: 4c49b12 156171c Author: Ingo Molnar Date: Sun Nov 15 09:50:38 2009 +0100 Merge commit 'v2.6.32-rc7' into perf/core Merge reason: pick up perf fixlets Signed-off-by: Ingo Molnar commit 14722485830fe6baba738b91d96f06fbd6cf7a18 Author: Jan Beulich Date: Fri Nov 13 11:56:24 2009 +0000 x86-64: __copy_from_user_inatomic() adjustments This v2.6.26 commit: ad2fc2c: x86: fix copy_user on x86 rendered __copy_from_user_inatomic() identical to copy_user_generic(), yet didn't make the former just call the latter from an inline function. Furthermore, this v2.6.19 commit: b885808: [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic converted the return type of __copy_to_user_inatomic() from unsigned long to int, but didn't do the same to __copy_from_user_inatomic(). Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Alexander Viro Cc: Arjan van de Ven Cc: Andi Kleen Cc: LKML-Reference: <4AFD5778020000780001F8F4@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit f4131c6259b46bd84dcfcd3bb9ed08e99e2875a4 Author: FUJITA Tomonori Date: Sat Nov 14 21:26:50 2009 +0900 x86: Make calgary_iommu_init() static This makes calgary_iommu_init() static and moves it to remove the forward declaration. Signed-off-by: FUJITA Tomonori Cc: muli@il.ibm.com LKML-Reference: <20091114212603U.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 6959450e567c1f17d3ce8489099fc56c3721d577 Author: FUJITA Tomonori Date: Sat Nov 14 20:46:38 2009 +0900 swiotlb: Remove duplicate swiotlb_force extern declarations Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com LKML-Reference: <1258199198-16657-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 94a15564ac63af6bb2ff8d4d04f86d5e7ee0278a Author: FUJITA Tomonori Date: Sat Nov 14 20:46:37 2009 +0900 x86: Move iommu_shutdown_noop to x86_init.c iommu_init_noop() is in arch/x86/kernel/x86_init.c but iommu_shutdown_noop() in arch/x86/include/asm/iommu.h. This moves iommu_shutdown_noop() to x86_init.c for consistency. Signed-off-by: FUJITA Tomonori LKML-Reference: <1258199198-16657-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a3b28ee1090072092e2be043c24df94230e725b2 Author: FUJITA Tomonori Date: Sat Nov 14 20:46:36 2009 +0900 x86: Set dma_ops to nommu_dma_ops by default We set dma_ops to nommu_dma_ops at two different places for x86_32 and x86_64. This unifies them by setting dma_ops to nommu_dma_ops by default. Signed-off-by: FUJITA Tomonori LKML-Reference: <1258199198-16657-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 958fc41e320e17bd4db22d6da81184654350aaab Merge: 6e17e8b 282a395 Author: David S. Miller Date: Sat Nov 14 20:24:30 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 6e17e8b9fb74b9fb9f6ea331f7f4a049c5b4c4b8 Author: Arnaldo Carvalho de Melo Date: Sat Nov 14 09:02:48 2009 -0800 alpha: Fixup recvmmsg syscall glue Reported-by: Stephen Rothwell Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 68efa37df779b3e04280598e8b5b3a1919b65fee Author: Ingo Molnar Date: Sat Nov 14 01:35:29 2009 +0100 hw-breakpoints, x86: Fix modular KVM build This build error: arch/x86/kvm/x86.c:3655: error: implicit declaration of function 'hw_breakpoint_restore' Happens because in the CONFIG_KVM=m case there's no 'CONFIG_KVM' define in the kernel - it's CONFIG_KVM_MODULE in that case. Make the prototype available unconditionally. Cc: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0c3c35e148dbc03106038dd25816fb9f3a084d86 Merge: 50d40f1 5e08fe5 Author: Takashi Iwai Date: Sat Nov 14 14:38:28 2009 +0100 Merge branch 'fix/misc' into topic/misc commit 50d40f187f9182ee8caa1b83f80a0e11e2226baa Author: Aleksey Kunitskiy Date: Sat Nov 14 15:18:54 2009 +0200 ALSA: ice1724 - Patch for suspend/resume for ESI Juli@ Add proper suspend/resume code for Juli@ cards. Based on ice1724 suspend/resume work of Igor Chernyshev. Fixes bug https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 Tested on linux-2.6.31.6 Signed-off-by: Aleksey Kunitskiy Signed-off-by: Takashi Iwai commit 567f3e9a70d71e5c9be03701b8578be77857293b Author: Theodore Ts'o Date: Sat Nov 14 08:19:05 2009 -0500 ext4: plug a buffer_head leak in an error path of ext4_iget() One of the invalid error paths in ext4_iget() forgot to brelse() the inode buffer head. Fix it by adding a brelse() in the common error return path, which also simplifies function. Thanks to Andi Kleen reporting the problem. Signed-off-by: "Theodore Ts'o" commit 92c28159dce22913aef6aa811ce6fb0f7f3790b1 Author: Akira Fujita Date: Mon Nov 23 07:24:50 2009 -0500 ext4: fix spelling typos in move_extent.c Fix a few spelling typos in move_extent.c Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 49bd22bc4d603a2a4fc2a6a60e156cbea52eb494 Author: Akira Fujita Date: Mon Nov 23 07:24:41 2009 -0500 ext4: fix possible recursive locking warning in EXT4_IOC_MOVE_EXT If CONFIG_PROVE_LOCKING is enabled, the double_down_write_data_sem() will trigger a false-positive warning of a recursive lock. Since we take i_data_sem for the two inodes ordered by their inode numbers, this isn't a problem. Use of down_write_nested() will notify the lock dependency checker machinery that there is no problem here. This problem was reported by Brian Rogers: http://marc.info/?l=linux-ext4&m=125115356928011&w=1 Reported-by: Brian Rogers Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit fc04cb49a898c372a22b21fffc47f299d8710801 Author: Akira Fujita Date: Mon Nov 23 07:24:43 2009 -0500 ext4: fix lock order problem in ext4_move_extents() ext4_move_extents() checks the logical block contiguousness of original file with ext4_find_extent() and mext_next_extent(). Therefore the extent which ext4_ext_path structure indicates must not be changed between above functions. But in current implementation, there is no i_data_sem protection between ext4_ext_find_extent() and mext_next_extent(). So the extent which ext4_ext_path structure indicates may be overwritten by delalloc. As a result, ext4_move_extents() will exchange wrong blocks between original and donor files. I change the place where acquire/release i_data_sem to solve this problem. Moreover, I changed move_extent_per_page() to start transaction first, and then acquire i_data_sem. Without this change, there is a possibility of the deadlock between mmap() and ext4_move_extents(): * NOTE: "A", "B" and "C" mean different processes A-1: ext4_ext_move_extents() acquires i_data_sem of two inodes. B: do_page_fault() starts the transaction (T), and then tries to acquire i_data_sem. But process "A" is already holding it, so it is kept waiting. C: While "A" and "B" running, kjournald2 tries to commit transaction (T) but it is under updating, so kjournald2 waits for it. A-2: Call ext4_journal_start with holding i_data_sem, but transaction (T) is locked. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit f868a48d06f8886cb0367568a12367fa4f21ea0d Author: Akira Fujita Date: Mon Nov 23 07:25:48 2009 -0500 ext4: fix the returned block count if EXT4_IOC_MOVE_EXT fails If the EXT4_IOC_MOVE_EXT ioctl fails, the number of blocks that were exchanged before the failure should be returned to the userspace caller. Unfortunately, currently if the block size is not the same as the page size, the returned block count that is returned is the page-aligned block count instead of the actual block count. This commit addresses this bug. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 503358ae01b70ce6909d19dd01287093f6b6271c Author: Theodore Ts'o Date: Mon Nov 23 07:24:46 2009 -0500 ext4: avoid divide by zero when trying to mount a corrupted file system If s_log_groups_per_flex is greater than 31, then groups_per_flex will will overflow and cause a divide by zero error. This can cause kernel BUG if such a file system is mounted. Thanks to Nageswara R Sastry for analyzing the failure and providing an initial patch. http://bugzilla.kernel.org/show_bug.cgi?id=14287 Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit 2de770a406b06dfc619faabbf5d85c835ed3f2e1 Author: Theodore Ts'o Date: Mon Nov 23 07:25:49 2009 -0500 ext4: fix potential buffer head leak when add_dirent_to_buf() returns ENOSPC Previously add_dirent_to_buf() did not free its passed-in buffer head in the case of ENOSPC, since in some cases the caller still needed it. However, this led to potential buffer head leaks since not all callers dealt with this correctly. Fix this by making simplifying the freeing convention; now add_dirent_to_buf() *never* frees the passed-in buffer head, and leaves that to the responsibility of its caller. This makes things cleaner and easier to prove that the code is neither leaking buffer heads or calling brelse() one time too many. Signed-off-by: "Theodore Ts'o" Cc: Curt Wohlgemuth Cc: stable@kernel.org commit 31c997cac76e62918858a432fff6e43fd48425f9 Author: Ingo Molnar Date: Sat Nov 14 10:34:41 2009 +0100 x86: Fix cpu_devs[] initialization in early_cpu_init() Yinghai Lu noticed that this commit: 0388423: x86: Minimise printk spew from per-vendor init code mistakenly left out the initialization of cpu_devs[] in the !PROCESSOR_SELECT case. Fix it. Reported-by: Yinghai Lu Cc: Dave Jones LKML-Reference: <20091113203000.GA19160@redhat.com> Signed-off-by: Ingo Molnar commit 2f51f9884f6a36b0fe9636d5a1937e5cbd25723b Author: Paul E. McKenney Date: Fri Nov 13 19:51:39 2009 -0800 rcu: Eliminate __rcu_pending() false positives Now that there are both ->gpnum and ->completed fields in the rcu_node structure, __rcu_pending() should check rdp->gpnum and rdp->completed against rnp->gpnum and rdp->completed, respectively, instead of the prior comparison against the rcu_state fields rsp->gpnum and rsp->completed. Given the old comparison, __rcu_pending() could return 1, resulting in a needless raise_softirq(RCU_SOFTIRQ). This useless work would happen if RCU responded to a scheduling-clock interrupt after the rcu_state fields had been updated, but before the rcu_node fields had been updated. Changing the comparison from the rcu_state fields to the rcu_node fields prevents this useless work from happening. 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: <12581706991966-git-send-email-> Signed-off-by: Ingo Molnar commit 560d4bc0df9a5e63b980432282d8c2bd3559ec74 Author: Paul E. McKenney Date: Fri Nov 13 19:51:38 2009 -0800 rcu: Further cleanups of use of lastcomp Now that a copy of the rsp->completed flag is available in all rcu_node structures, make full use of it. It is still legitimate to access rsp->completed while holding the root rcu_node structure's lock, however. Also, tighten up force_quiescent_state()'s checks for end of current grace period. 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: <1258170699933-git-send-email-> Signed-off-by: Ingo Molnar commit 4dc7be72b5c9d33669cb2b68d16c7588fb36d8df Author: Sascha Hauer Date: Mon Nov 2 09:49:41 2009 +0100 i.MX35: Fix audmux clock Signed-off-by: Sascha Hauer commit 9eedbdf1b4216e286bd660322ae5a52f79eee243 Author: Sascha Hauer Date: Thu Oct 29 17:12:39 2009 +0100 MXC: Add a digital audio multiplexer driver Signed-off-by: Sascha Hauer commit d8d982b1b284370512d5650aadb300d30fd9d4b2 Author: Sascha Hauer Date: Thu Oct 29 17:17:42 2009 +0100 i.MX3: Add sound (ssi) resources Signed-off-by: Sascha Hauer commit 23291df423fd6d656ce9d1189c4a477216d17f7c Author: Sascha Hauer Date: Thu Oct 22 14:50:33 2009 +0200 i.MX2: Add sound (ssi) resources Signed-off-by: Sascha Hauer commit 4f43c2ed21d5902f29c41aeb22728193a8617192 Author: Sascha Hauer Date: Thu Nov 12 11:30:26 2009 +0100 pcm043: Add NAND support Signed-off-by: Sascha Hauer commit f6f1bc64f0408814a835c09424269aabe39b5d38 Author: Sascha Hauer Date: Thu Nov 12 11:30:08 2009 +0100 pca100: use correct irq initialisation function Signed-off-by: Sascha Hauer commit 34499a7cc59061d1bf6d1bb448ae48f935f57c92 Author: Sascha Hauer Date: Thu Nov 12 11:29:43 2009 +0100 pca100: Add board to uncompress.h Signed-off-by: Sascha Hauer commit fcebfc8d9062ec696c5cf84129fa6fb2550de4fd Author: Juergen Beisert Date: Fri Oct 2 11:25:45 2009 +0200 MXC NFC: Fix NFCs address area on i.MX35 The address area of the NFC in the i.MX35 silicon is much larger than 4k. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 9e0afdf8f32f34f7e67db4d4622cb13e39a0e5db Author: Juergen Beisert Date: Fri Oct 2 11:24:49 2009 +0200 MXC NFC: Add the clock resource to support NFC in i.MX35 Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 060d20d32ae7c6a20a8eac465795ed5bc9b37f7c Author: Uwe Kleine-König Date: Mon Oct 19 22:19:28 2009 +0200 imx/gpio: Use handle_level_irq According to Russell King handle_edge_irq is only useful for "edge-based inputs where the controller does not remember transitions with the input masked." So using handle_edge_irq unconditionally for both edge and level irqs is wrong. Testing showed that the controller does remember transitions while the interrupt is masked. So use handle_level_irq unconditionally. Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit f4f8bda2321d5ecbfeef878a50c996e3a32a75e6 Author: Daniel Mack Date: Thu Nov 5 09:44:09 2009 +0100 MXC: Add support for ULPI Viewports The ARC USB OTG Core has support for accessing ULPI tranceivers through so called ULPI viewports. Export a set of function for use with the USB OTG framework. Signed-off-by: Daniel Mack Cc: Greg Kroah-Hartman Cc: David Brownell Cc: linux-usb@vger.kernel.org Signed-off-by: Sascha Hauer commit 04ea3c801905a4562cc89af78eba40dec0f960a9 Author: Valentin Longchamp Date: Tue Nov 3 18:09:51 2009 +0100 mx31moboard: camera support We have two mt9t031 cameras that have a muxed bus on the robot. Only one is currently initialized because of limitations in soc_camera that should be removed later. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4dd7129345be71cb20da99a75ded01ea50615f66 Author: Valentin Longchamp Date: Tue Nov 3 18:09:50 2009 +0100 mx31moboard: initialize ipu device for all the boards Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 65da9791cba6f873c996099e19b29035203a1318 Author: Valentin Longchamp Date: Tue Nov 3 18:09:49 2009 +0100 mx31moboard: SPI and MC13783 voltage regulator support Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 10949fff622e1488f0c534a10bca8edf5df95682 Author: Valentin Longchamp Date: Tue Nov 3 18:09:48 2009 +0100 mx31moboard: support for pin linked for battery presence check Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 421bf82e996826452ebe2011419f846a61950784 Author: Valentin Longchamp Date: Tue Nov 3 18:09:47 2009 +0100 mx31moboard: serial port fix We get rid of CTS/RTS lines on uart0 on our platform. This is the port we use as main kernel console. We do not want it to be blocking because of CTS/RTS signals, not allowing the system to boot or print messages. However we often use it with a bluetooth module needing CTS/RTS lines as backup login in case of trouble. To be able to use it, we assert CTS low so that the module can always send chars. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 8963c49fdba293fbc21aee1bbae9afa99a52755f Author: Valentin Longchamp Date: Tue Nov 3 18:09:46 2009 +0100 mx31: various pins used for mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 2097abcb8c5a1ccd8c126f6680df28ff6b6b96d0 Author: Alberto Panizzo Date: Thu Oct 15 19:33:24 2009 +0200 Armadillo500 Add support for Seiko Instruments S-35390A rtc over i2c. The RTC chip Seiko Instruments S-35390A is connected to the Application Processor over the second bus i2c with the hard coded address 0x30. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e9a6c5d0c8c3f7f4d4ed5c5b1514327d58b76df3 Author: Alberto Panizzo Date: Thu Oct 15 19:31:07 2009 +0200 Armadillo500 Add i2c second bus support. This add pin allocation an device registration for the second bus i2c. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 07299ca323022be10ccd56055704de3717b8fe69 Author: Alberto Panizzo Date: Thu Oct 15 19:29:05 2009 +0200 Armadillo500 Correct bus length for SMSC9118 on board chip. Armadillo500 Correct bus length for SMSC9118 on board chip. The SMSC9118 network chip is connected to the data bus with a 16 bit interface, not 32 as early suggested. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e33c049cb540602a2554264652e2c717ab7f5ec3 Author: Alberto Panizzo Date: Thu Oct 15 19:24:51 2009 +0200 Armadillo500 Add support for onboard GPIO Buttons. There are two low active Buttons on boards. This patch connect those to the Input Subsystem over gpio-keys driver. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 115b40c3d7d18d0cb48b4ba306807cc04f259316 Author: Daniel Mack Date: Mon Oct 26 11:55:59 2009 +0100 ARM: MX3: add MX3X_UART1_BASE_ADDR for uncompression on lilly1131 Reported-by: Jörg Knobloch Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 24fb84222e21f413d3541f4fad76495954b3c858 Author: Daniel Mack Date: Mon Oct 26 11:55:58 2009 +0100 ARM: MX3: Add pad config for MMC pins on lilly-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 50f349e9fcd069bfc76f238c0c6069aedbdbc385 Author: Daniel Mack Date: Mon Oct 26 11:55:57 2009 +0100 ARM: MX3: add support for mc13783 on lilly-db The chip is actually located on the module, not on the base board. But other base boards might add more SPI devices, so the spi_board_info struct must be separated from the module code. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 3ea2e1a4b74e39f3cc665cf84a25eedb3ae70647 Author: Daniel Mack Date: Mon Oct 26 11:55:56 2009 +0100 ARM: MX3: add SPI functions for lilly1131-db This adds support for the two SPI busses found on the lilly1131 module. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 95b7d4a8ca61da8f7280e10cc4e06823f988c4c8 Author: Daniel Mack Date: Mon Oct 26 11:55:55 2009 +0100 ARM: MX3: remove I2C defintions from mx31lilly.c The module does not use these pins for I2C but for SPI. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 4c49b12853fbb5eff4849b7b6a1e895776f027a1 Author: Arjan van de Ven Date: Fri Nov 13 21:47:33 2009 -0800 perf_event: Fix invalid type in ioctl definition u64 is invalid in userspace headers, including ioctl definitions; use __u64 instead Signed-off-by: Arjan van de Ven Cc: LKML-Reference: <20091113214733.7cd76be9@infradead.org> Signed-off-by: Ingo Molnar commit 01a1796bc52f625edc23bf995d200e1556eec544 Author: akpm@linux-foundation.org Date: Fri Nov 13 16:47:10 2009 -0800 sound/pci/hda/patch_via.c: work around gcc-4.0.2 ICE sound/pci/hda/patch_via.c: In function 'via_hp_bind_automute': sound/pci/hda/patch_via.c:2074: internal compiler error: in do_SUBST, at combine.c:462 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. [added a comment by tiwai] Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit afa17a500a3667f66df450100538d06769529bba Author: Wolfram Sang Date: Fri Nov 13 06:14:52 2009 +0000 net/can: add driver for mscan family & mpc52xx_mscan Taken from socketcan-svn, fixed remaining todos, cleaned up, tested with a phyCORE-MPC5200B-IO and a custom board. Signed-off-by: Wolfram Sang Cc: Wolfgang Grandegger Cc: Grant Likely Cc: David Miller Signed-off-by: David S. Miller commit 888801357f240daee5d310327867d834bc05183b Author: Rémi Denis-Courmont Date: Fri Nov 13 05:01:19 2009 +0000 Phonet: convert routing table to RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 7ed0132f232b11ae58b6d868e8d7ada9dfa066d7 Author: Rémi Denis-Courmont Date: Fri Nov 13 05:01:18 2009 +0000 Phonet: put protocols array under RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 998221c26b86a7edd621e66b437628c5ec0f8e9b Author: Ursula Braun Date: Thu Nov 12 21:46:30 2009 +0000 netiucv: displayed TX bytes value much too high tx_bytes value must be updated by skb length before skb is freed. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 0ca8cc6fe7e1acd42a8a3741473ad7540f13893a Author: Ursula Braun Date: Thu Nov 12 21:46:29 2009 +0000 s390: remove cu3088 layer for lcs and ctcm The cu3088-driver used as common base for lcs- and ctcm-devices makes it difficult to assign the appropriate driver to an lcs-device or a ctcm-device. This patch eliminates the cu3088-driver and thus the root device "cu3088". Path /sys/devices/cu3088 is replaced with the pathes /sys/devices/lcs and /sys/devices/ctcm. Patch is based on a proposal from Cornelia Huck. Cc: Cornelia Huck Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 1e1815be87e45ce512f998ab35e9554c25031f4d Author: Frank Blaschka Date: Thu Nov 12 21:46:28 2009 +0000 ctcm: suspend has to wait for outstanding I/O State transition to DEV_STATE_STOPPED indicates all outstanding I/O has finished. Add wait queue to wait for this state. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b7c2aecc0747f5c86a1959bce6a7ce8170a556b0 Author: Ursula Braun Date: Thu Nov 12 21:46:27 2009 +0000 iucv: add work_queue cleanup for suspend If iucv_work_queue is not empty during kernel freeze, a kernel panic occurs. This suspend-patch adds flushing of the work queue for pending connection requests and severing of remaining pending connections. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 2c1409a0a2b88585ec0c03f1de0aafa178c56313 Author: Eric Dumazet Date: Thu Nov 12 09:33:09 2009 +0000 inetpeer: Optimize inet_getid() While investigating for network latencies, I found inet_getid() was a contention point for some workloads, as inet_peer_idlock is shared by all inet_getid() users regardless of peers. One way to fix this is to make ip_id_count an atomic_t instead of __u16, and use atomic_add_return(). In order to keep sizeof(struct inet_peer) = 64 on 64bit arches tcp_ts_stamp is also converted to __u32 instead of "unsigned long". Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06 Author: Eric Dumazet Date: Thu Nov 12 04:11:50 2009 +0000 ipv6: speedup inet6_dump_addr() When handling large number of netdevices, inet6_dump_addr() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the NETDEV_HASHENTRIES sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5256f2ef3a40d784b8369035bff3f4dc637a9801 Author: Lucian Adrian Grijincu Date: Thu Nov 12 05:07:26 2009 +0000 inet: fix inet_bind_bucket_for_each The first "node" is supposed to be the cursor used in the for_each. The second "node" is ment literally and should not be macro expanded: it's the name of the hlist_node field from the inet_bind_bucket. This currently works because when inet_bind_bucket_for_each is called it's argument is still "node". Signed-off-by: Lucian Adrian Grijincu Signed-off-by: David S. Miller commit eec4df9885f7822cdeca82577a25cac4598fa7cf Author: Eric Dumazet Date: Thu Nov 12 07:44:25 2009 +0000 ipv4: speedup inet_dump_ifaddr() Stephen Hemminger a écrit : > On Thu, 12 Nov 2009 15:11:36 +0100 > Eric Dumazet wrote: > >> When handling large number of netdevices, inet_dump_ifaddr() >> is very slow because it has O(N^2) complexity. >> >> Instead of scanning one single list, we can use the NETDEV_HASHENTRIES >> sub lists of the dev_index hash table, and RCU lookups. >> >> Signed-off-by: Eric Dumazet > > You might be able to make RCU critical section smaller by moving > it into loop. > Indeed. But we dump at most one skb (<= 8192 bytes ?), so rcu_read_lock holding time is small, unless we meet many netdevices without addresses. I wonder if its really common... Thanks [PATCH net-next-2.6] ipv4: speedup inet_dump_ifaddr() When handling large number of netdevices, inet_dump_ifaddr() is very slow because it has O(N2) complexity. Instead of scanning one single list, we can use the NETDEV_HASHENTRIES sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 342bde1b70c79bfc8509b017b3987f3c7541ff8e Author: PJ Waskiewicz Date: Thu Nov 12 23:50:43 2009 +0000 ixgbe: Make queue pairs on single MSI-X interrupts This patch pairs similar-numbered Rx and Tx queues onto a single MSI-X vector. For example, Tx queue 0 and Rx queue 0's interrupt with be ethX-RxTx-0. This allows for more efficient cleanup, since fewer interrupts will be firing during device operation. It also helps with a cleaner CPU affinity for IRQ affinity. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8a0717f30ce93a686d325122d8b0c6b73b32cfb3 Author: Nelson, Shannon Date: Thu Nov 12 18:47:11 2009 +0000 ixgbe: Flush the LSC mask change to prevent repeated interrupts Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d1eff35061b9346cb9bef2b79d9d99c8c096df13 Author: Alexander Duyck Date: Thu Nov 12 18:38:35 2009 +0000 igb: only recycle page if it is on our numa node This patch makes it so that we only recycle pages when they are from the local NUMA node. Non-local pages are freed and replaced with locally allocated pages. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dbabb065802a46d64b8869ba97674bfa90b55d83 Author: Alexander Duyck Date: Thu Nov 12 18:38:16 2009 +0000 igb: check for packets on all tx rings when link is down We were previously only checking the first tx ring to see if it had any packets in it when the link when down. However we should be checking all of the rings so this patch makes it so that all of the rings are now being checked. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 971d1d3a7e9f03af870909fddfc3b2fc08e4f5b1 Author: Alexander Duyck Date: Thu Nov 12 18:37:56 2009 +0000 igb: removed unused tx/rx total bytes/packets from adapter struct This patch removes unused variables total_tx_bytes, total_tx_packets, total_rx_bytes, and total_rx_packets from the adapter struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 128e45eb61b90c0c3094139cab6d00f67ff31377 Author: Alexander Duyck Date: Thu Nov 12 18:37:38 2009 +0000 igb: Rework how netdev->stats is handled This patch does some refactoring work that I felt was needed after reviewing the changes recently submitted relating to the replacement of net_stats with netdev->stats. This patch essentially creates two different collections of stats. The first handles the adapter specific states and is stored in gstring_stats, and the second is for netdev specific stats and is stored in gstring_net_stats. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a99955fc067f57cf3b627d4c74bf7952a2d51029 Author: Alexander Duyck Date: Thu Nov 12 18:37:19 2009 +0000 igb: when number of CPUs > 4 combine tx/rx queues to allow more queues This patch makes it so that nics such as 82576 and newer can support more hardware queues when there are more than 4 cpus by combining a tx/rx queue pair onto one interrupt so that 8 queue pairs can be supported and thus allow for more queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 115f459a53b0c56a699a76b34b82507452eb3df5 Author: Alexander Duyck Date: Thu Nov 12 18:37:00 2009 +0000 igb: move timesync init into a seperate function Current code is quite large and making igb_probe difficult to read. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0e15439ae5fefe438056a26a00aa3c6a9de454e9 Author: Alexander Duyck Date: Thu Nov 12 18:36:41 2009 +0000 igb: change type for ring sizes to u16 in igb_set_ring_param Change the type for the ring size values to u16 and use min/max_t instead of min/max. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ddb1417529559810ec2024fd8ca21e4d497a3275 Author: Wan ZongShun Date: Wed Nov 11 04:35:22 2009 +0000 ARM: fix bug of checking on signed return value using unsigned statement in w90p910 platform To fix the bug of checking on signed return value using unsigned statement. Thanks Roel Kluin for digging out it. Signed-off-by: Roel Kluin Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 6baff15037693c057e3047da02c460c7e7b346c2 Author: Eric Dumazet Date: Wed Nov 11 17:48:52 2009 +0000 igmp: Use next_net_device_rcu() We need to use next_det_device_rcu() in RCU protected section. We also can avoid in_dev_get()/in_dev_put() overhead (code size mainly) in rcu_read_lock() sections. Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce81b76a39835a721cd168e0c0bcfe7132f1f66b Author: Eric Dumazet Date: Wed Nov 11 17:34:30 2009 +0000 ipv6: use RCU to walk list of network devices No longer need read_lock(&dev_base_lock), use RCU instead. We also can avoid taking references on inet6_dev structs. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bee7ca9ec03a26676ea2b1c28dc4039348eff3e1 Author: William Allen Simpson Date: Tue Nov 10 09:51:18 2009 +0000 net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED Define two symbols needed in both kernel and user space. Remove old (somewhat incorrect) kernel variant that wasn't used in most cases. Default should apply to both RMSS and SMSS (RFC2581). Replace numeric constants with defined symbols. Stand-alone patch, originally developed for TCPCT. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 811cb50baf63461ce0bdb234927046131fc7fa8b Author: Johannes Berg Date: Fri Nov 13 23:40:09 2009 +0100 tracing: Fix event format export For some reason the export of the event print format to userspace uses '#fmt' which breaks if the format string is anything but a plain string, for example if it is built with macros then the macro names are exported instead of their contents. Use "\"%s\"", fmt instead of "%s", #fmt to export the string and not the way it is built. For example, in net/mac80211/driver-trace.h for the trace event drv_start there is: TP_printk( LOCAL_PR_FMT, LOCAL_PR_ARG ) Which use to produce: print fmt: LOCAL_PR_FMT, REC->wiphy_name Now produces: print fmt: "%s", REC->wiphy_name Signed-off-by: Johannes Berg LKML-Reference: <20091113224009.GB23942@elte.hu> Signed-off-by: Steven Rostedt commit b01c845f0f2e3f9e54e6a78d5d56895f5b95e818 Author: Roland Dreier Date: Fri Nov 13 14:38:26 2009 -0800 x86: Remove CPU cache size output for non-Intel too As Dave Jones said about the output in intel_cacheinfo.c: "They aren't useful, and pollute the dmesg output a lot (especially on machines with many cores). Also the same information can be trivially found out from userspace." Give the generic display_cacheinfo() function the same treatment. Signed-off-by: Roland Dreier Acked-by: Dave Jones Cc: Mike Travis Cc: Andi Kleen Cc: Heiko Carstens Cc: Randy Dunlap Cc: Tejun Heo Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 688bcaff291cf2fe2734e43f2793d4d05b850518 Author: Ingo Molnar Date: Sat Nov 14 01:12:47 2009 +0100 hw-breakpoints: Fix build on !perf architectures the arch/alpha build fails with: In file included from tip/kernel/exit.c:52: tip/include/linux/hw_breakpoint.h: In function 'hw_breakpoint_addr': tip/include/linux/hw_breakpoint.h:21: error: 'struct perf_event' has no member named 'attr' [...] Move these helper inlines inside the CONFIG_HAVE_HW_BREAKPOINT ifdef. Cc: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0388423dba2217b4e5b6c61690b0506d13b25a49 Author: Dave Jones Date: Fri Nov 13 15:30:00 2009 -0500 x86: Minimise printk spew from per-vendor init code In the default case where the kernel supports all CPU vendors, we currently print out a bunch of not useful messages on every system. 32-bit: KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMC 64-bit: KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD Centaur CentaurHauls Given that "what CPUs does the kernel support" isn't useful for the "support everything" case, we can suppress these printk's. Signed-off-by: Dave Jones LKML-Reference: <20091113203000.GA19160@redhat.com> Signed-off-by: Ingo Molnar commit b434a680a29424856e0f40199daa9f65963c7cb4 Author: Matthew Garrett Date: Fri Nov 13 14:57:02 2009 -0500 vgacon: Add support for setting the default cursor state Pass the vga cursor state to the vt layer, ensuring that we don't hide the cursor when the bootloader has deliberately disabled it. Signed-off-by: Matthew Garrett LKML-Reference: <1258142222-16092-3-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit f6c06b6807ff9281295989ebad72523865325a4f Author: Matthew Garrett Date: Fri Nov 13 15:14:11 2009 -0500 vc: Add support for hiding the cursor when creating VTs Add support for setting a global default for whether or not a visible cursor should be enabled when creating VCs. The default will be to do so, unless overridden by the user at boot time or by a driver. Signed-off-by: Matthew Garrett LKML-Reference: <1258143251-5818-1-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit a362c638bdf052bf424bce7645d39b101090f6ba Author: Thomas Gleixner Date: Sat Nov 14 00:26:34 2009 +0100 clocksource/events: Fix fallout of generic code changes powerpc grew a new warning due to the type change of clockevent->mult. The architectures which use parts of the generic time keeping infrastructure tripped over my wrong assumption that clocksource_register is only used when GENERIC_TIME=y. I should have looked and also I should have known better. These renitent Gaul villages are racking my nerves. Some serious deprecating is due. Signed-off-by: Thomas Gleixner commit 687b16fb617bd446439425a368ad7c7bbd202c73 Author: Frederic Weisbecker Date: Fri Nov 13 13:16:15 2009 +0100 hw-breakpoints: Provide an off-case for counter_arch_bp() If an arch doesn't support the hw breakpoints, counter_arch_bp() has no off case to cover the missing breakpoint info structure from the perf event. The result is a build error in non-x86 configs. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Prasad commit 235faf9b41b7b090be15b483bf900c0b9a8da4ea Author: Thadeu Lima de Souza Cascardo Date: Thu Nov 12 20:04:52 2009 +0100 rt2800lib: fix some typos and punctuation in comments fix some typos and punctuation in comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina [bart: ported the change from the older patch for rt2800usb & rt61pci] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit c37919bfe0a5c1bee9a31701a31e05a2f8840936 Author: Vasanthakumar Thiagarajan Date: Fri Nov 13 14:32:40 2009 +0530 ath9k_hw: Fix AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB and its shift value in 0x4054 The bit value of AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB is wrong, it should be 0x400 and the number of bits to be right shifted is 10. Having this wrong value in 0x4054 sometimes affects bt quality on btcoex environment. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c90017dd43f0cdb42134b9229761e8be02bcd524 Author: Vasanthakumar Thiagarajan Date: Fri Nov 13 14:32:39 2009 +0530 ath9k_hw: Fix possible OOB array indexing in gen_timer_index[] on 64-bit Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c258d2de972d1e391a3dec731e0801ed1cc85494 Author: Felix Fietkau Date: Wed Nov 11 17:23:31 2009 +0100 nl80211: only allow adding stations to running vlan interfaces Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f501dba4c4c5bda1b64c941997ab7ece1d503945 Author: Felix Fietkau Date: Wed Nov 11 13:17:36 2009 +0100 mac80211: fix broadcast frame handling for 4-addr AP VLANs Without this patch, broadcast frames from the station behind a 4-addr AP VLAN would be reflected back to the source. Fix this by checking the 4-addr flag before bridging multicast frames in the cell. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 61fa713c751683da915fa0c1aa502be85822c357 Author: Holger Schurig Date: Wed Nov 11 12:25:40 2009 +0100 cfg80211: return channel noise via survey API This patch implements the NL80211_CMD_GET_SURVEY command and an get_survey() ops that a driver can implement. The goal of this command is to allow a drivers to report channel survey data (e.g. channel noise, channel occupation). For now, only the mechanism to report back channel noise has been implemented. In future, there will either be a survey-trigger command --- or the existing scan-trigger command will be enhanced. This will allow user-space to request survey for arbitrary channels. Note: any driver that cannot report channel noise should not report any value at all, e.g. made-up -92 dBm. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a043897a314e8bcfc821d54fe4e591efed5936a3 Author: Holger Schurig Date: Wed Nov 11 11:30:02 2009 +0100 cfg80211: introduce nl80211_get_ifidx() ... which get's rid of three indentical cut-n-paste sections. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit f273fe55e3f3f0b66b7624c0102d3ef44bbdfe6a Author: Gertjan van Wingerde Date: Tue Nov 10 22:41:51 2009 +0100 rt2x00: Properly detect Ralink RT3070 devices. Allow rt2800usb to properly detect RT307X based devices, and set the appropriate chipset values. Signed-off-by: Gertjan van Wingede Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 264d9b7d8a629620c8de84c614910c3164e935f8 Author: Rui Paulo Date: Mon Nov 9 23:46:58 2009 +0000 mac80211: update copyrights to 2009 Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 63c5723bc3af8d4e86984dd4ff0c78218de418d0 Author: Rui Paulo Date: Mon Nov 9 23:46:57 2009 +0000 mac80211: add nl80211/cfg80211 handling of the new mesh root mode option. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit e304bfd30f356f7b75d30cad0029ecca705fd590 Author: Rui Paulo Date: Mon Nov 9 23:46:56 2009 +0000 mac80211: implement a timer to send RANN action frames RANN (Root Annoucement) frame TX. Send an action frame every second trying to build a path to all nodes on the mesh. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d19b3bf6384e66ac6e11a61ee31ed2cfe149f4d8 Author: Rui Paulo Date: Mon Nov 9 23:46:55 2009 +0000 mac80211: replace "destination" with "target" to follow the spec Resulting object files have the same MD5 as before. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit be125c60e46e165fbfe33db36a4a9d943d560a5b Author: Rui Paulo Date: Mon Nov 9 23:46:54 2009 +0000 mac80211: add the DS params to the beacon Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 36f0d5f537885179c8fa92a70d4fcfb3a336b082 Author: Rui Paulo Date: Mon Nov 9 23:46:53 2009 +0000 mac80211: fix BSSID setup for beacon frames BSSID is now set to the TA. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 77fa76bb7f5589cd336e4da4a02e2d685b70ce0a Author: Rui Paulo Date: Mon Nov 9 23:46:52 2009 +0000 mac80211: set the AID field correctly for mesh peer frames This sets the AID field correctly for mesh peer confirm frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit a6a58b4f14106e61e5d78aac7995686ed0d5eab8 Author: Rui Paulo Date: Mon Nov 9 23:46:51 2009 +0000 mac80211: properly forward the RANN IE Increase hopcount and convert metric to LE before forwarding the RANN action frame. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d611f062f4351d8609910648854908fecf58970d Author: Rui Paulo Date: Mon Nov 9 23:46:50 2009 +0000 mac80211: update PERR frame format Update the PERR IE frame format according to latest draft (3.03). Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 90a5e16992fa6105f7ebf3f29f5cf5feb1bbf7dc Author: Rui Paulo Date: Wed Nov 11 00:01:31 2009 +0000 mac80211: implement RANN processing and forwarding Process the RANN (Root Annoucement) Frame and try to find the HWMP root station by sending a PREQ. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d9b263528e01bfbaf716b51f38606b3dfe5ac1e9 Author: Matthew Garrett Date: Fri Nov 13 14:57:00 2009 -0500 x86, setup: Store the boot cursor state Add a field to store the boot cursor state and implement this for VGA on x86. This can then be used to set the default policy for the boot console. Signed-off-by: Matthew Garrett LKML-Reference: <1258142222-16092-1-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit cbbef5e183079455763fc470ccf69008f92ab4b6 Author: Patrick McHardy Date: Tue Nov 10 06:14:24 2009 +0000 vlan/macvlan: propagate transmission state to upper layers Both vlan and macvlan devices usually don't use a qdisc and immediately queue packets to the underlying device. Propagate transmission state of the underlying device to the upper layers so they can react on congestion and/or inform the sending process. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 572a9d7b6fc7f20f573664063324c086be310c42 Author: Patrick McHardy Date: Tue Nov 10 06:14:14 2009 +0000 net: allow to propagate errors through ->ndo_hard_start_xmit() Currently the ->ndo_hard_start_xmit() callbacks are only permitted to return one of the NETDEV_TX codes. This prevents any kind of error propagation for virtual devices, like queue congestion of the underlying device in case of layered devices, or unreachability in case of tunnels. This patches changes the NET_XMIT codes to avoid clashes with the NETDEV_TX codes and changes the two callers of dev_hard_start_xmit() to expect either errno codes, NET_XMIT codes or NETDEV_TX codes as return value. In case of qdisc_restart(), all non NETDEV_TX codes are mapped to NETDEV_TX_OK since no error propagation is possible when using qdiscs. In case of dev_queue_xmit(), the error is propagated upwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ea2bdab11da97b2ac6f87d79976d25fa6d27295 Author: Joe Perches Date: Mon Nov 9 18:05:45 2009 +0000 niu.c: Use correct length in strncmp Untested, no hardware Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4edd5ad0f5a7a2238e5df311ce36789bae6751c0 Author: Kristoffer Glembo Date: Fri Nov 13 13:25:06 2009 -0800 apbuart: Use of_find_node_by_path to find root node. Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 8e13c7b772387f55dc05c6a0e5b30010c3c46ff9 Author: Thomas Gleixner Date: Mon Nov 9 15:21:41 2009 +0000 locking: Reduce ifdefs in kernel/spinlock.c With the Kconfig based inline decisions we can remove extra ifdefs in kernel/spinlock.c by creating the complex lockbreak functions as inlines which are inserted into the non inlined lock functions. No functional change. Signed-off-by: Thomas Gleixner LKML-Reference: <20091109151428.548614772@linutronix.de> Acked-by: Heiko Carstens Reviewed-by: Ingo Molnar Acked-by: Peter Zijlstra commit 6beb000923882f6204ea2cfcd932e568e900803f Author: Thomas Gleixner Date: Mon Nov 9 15:21:34 2009 +0000 locking: Make inlining decision Kconfig based commit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the selection of which lock functions are inlined based on defines in arch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION Despite of the name __always_inline__* the lock functions can be built out of line depending on config options. Also if the arch does not set some inline defines the generic code might set them; again depending on config options. This makes it unnecessary hard to figure out when and which lock functions are inlined. Aside of that it makes it way harder and messier for -rt to manipulate the lock functions. Convert the inlining decision to CONFIG switches. Each lock function is inlined depending on CONFIG_INLINE_*. The configs implement the existing dependencies. The architecture code can select ARCH_INLINE_* to signal that it wants the corresponding lock function inlined. ARCH_INLINE_* is necessary as Kconfig ignores "depends on" restrictions when a config element is selected. No functional change. Signed-off-by: Thomas Gleixner LKML-Reference: <20091109151428.504477141@linutronix.de> Acked-by: Heiko Carstens Reviewed-by: Ingo Molnar Acked-by: Peter Zijlstra commit 97813f2fe77804a4464564c75ba8d8826377feea Author: Jon Hunter Date: Tue Aug 18 12:45:11 2009 -0500 nohz: Allow 32-bit machines to sleep for more than 2.15 seconds In the dynamic tick code, "max_delta_ns" (member of the "clock_event_device" structure) represents the maximum sleep time that can occur between timer events in nanoseconds. The variable, "max_delta_ns", is defined as an unsigned long which is a 32-bit integer for 32-bit machines and a 64-bit integer for 64-bit machines (if -m64 option is used for gcc). The value of max_delta_ns is set by calling the function "clockevent_delta2ns()" which returns a maximum value of LONG_MAX. For a 32-bit machine LONG_MAX is equal to 0x7fffffff and in nanoseconds this equates to ~2.15 seconds. Hence, the maximum sleep time for a 32-bit machine is ~2.15 seconds, where as for a 64-bit machine it will be many years. This patch changes the type of max_delta_ns to be "u64" instead of "unsigned long" so that this variable is a 64-bit type for both 32-bit and 64-bit machines. It also changes the maximum value returned by clockevent_delta2ns() to KTIME_MAX. Hence this allows a 32-bit machine to sleep for longer than ~2.15 seconds. Please note that this patch also changes "min_delta_ns" to be "u64" too and although this is unnecessary, it makes the patch simpler as it avoids to fixup all callers of clockevent_delta2ns(). [ tglx: changed "unsigned long long" to u64 as we use this data type through out the time code ] Signed-off-by: Jon Hunter Cc: John Stultz LKML-Reference: <1250617512-23567-3-git-send-email-jon-hunter@ti.com> Signed-off-by: Thomas Gleixner commit 27185016b806d5a1181ff501cae120582b2b27dd Author: Thomas Gleixner Date: Thu Nov 12 22:12:06 2009 +0100 nohz: Track last do_timer() cpu The previous patch which limits the sleep time to the maximum deferment time of the time keeping clocksource has some limitations on SMP machines: if all CPUs are idle then for all CPUs the maximum sleep time is limited. Solve this by keeping track of which cpu had the do_timer() duty assigned last and limit the sleep time only for this cpu. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Jon Hunter Cc: John Stultz commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 Author: Jon Hunter Date: Tue Aug 18 12:45:10 2009 -0500 nohz: Prevent clocksource wrapping during idle The dynamic tick allows the kernel to sleep for periods longer than a single tick, but it does not limit the sleep time currently. In the worst case the kernel could sleep longer than the wrap around time of the time keeping clock source which would result in losing track of time. Prevent this by limiting it to the safe maximum sleep time of the current time keeping clock source. The value is calculated when the clock source is registered. [ tglx: simplified the code a bit and massaged the commit msg ] Signed-off-by: Jon Hunter Cc: John Stultz LKML-Reference: <1250617512-23567-2-git-send-email-jon-hunter@ti.com> Signed-off-by: Thomas Gleixner commit 529eaccd900a59724619b4a6ef6579fd518d5218 Author: Thomas Gleixner Date: Fri Nov 13 14:32:19 2009 +0100 nohz: Type cast printk argument On some archs local_softirq_pending() has a data type of unsigned long on others its unsigned int. Type cast it to (unsigned int) in the printk to avoid the compiler warning. Signed-off-by: Thomas Gleixner LKML-Reference: commit e3a4fab0c0c30e21e104712f4e9cb39f175d0f21 Author: Thomas Gleixner Date: Wed Nov 11 14:05:34 2009 +0000 mips: Use generic mult/shift factor calculation for clocks Replace the MIPS functions of mult/shift factor calculation for clock events and clock sources with inline functions which call the generic functions. The minimum guaranteed conversion range is set to 4 seconds which corresponds to the current MIPS implementation. Signed-off-by: Thomas Gleixner Cc: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.807255074@linutronix.de> commit 7d2f944a2b836c69a9d260a0a5f0d1720d57fdff Author: Thomas Gleixner Date: Wed Nov 11 14:05:29 2009 +0000 clocksource: Provide a generic mult/shift factor calculation MIPS has two functions to calculcate the mult/shift factors for clock sources and clock events at run time. ARM needs such functions as well. Implement a function which calculates the mult/shift factors based on the frequencies to which and from which is converted. The function also has a parameter to specify the minimum conversion range in seconds. This range is guaranteed not to produce a 64bit overflow when a value is multiplied with the calculated mult factor. The larger the conversion range the less becomes the conversion accuracy. Provide two inline wrappers which handle clock events and clock sources. For clock events the "from" frequency is nano seconds per second which corresponds to 1GHz and "to" is the device frequency. For clock sources "from" is the device frequency and "to" is nano seconds per second. Signed-off-by: Thomas Gleixner Tested-by: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.766673305@linutronix.de> commit 23af368e9a904f59256c27d371ce223d6cee0430 Author: Thomas Gleixner Date: Wed Nov 11 14:05:25 2009 +0000 clockevents: Use u32 for mult and shift factors The mult and shift factors of clock events differ in their data type from those of clock sources for no reason. u32 is sufficient for both. shift is always <= 32 and mult is limited to 2^32-1 to avoid 64bit multiplication overflows in the conversion. Preparatory patch for a generic mult/shift factor calculation function. Signed-off-by: Thomas Gleixner Tested-by: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.725664788@linutronix.de> commit eda43d16ef3d0bd59e3b762de3ffc73bab02efe9 Author: Albrecht Dreß Date: Fri Nov 13 11:09:31 2009 -0700 mpc52xx/wdt: merge WDT code into the GPT driver Merge the WDT code into the GPT interface. Signed-off-by: Albrecht Dreß Signed-off-by: Grant Likely commit 13b600b59df287a175b1476d2d588ab935092b58 Author: Albrecht Dreß Date: Fri Nov 13 11:09:30 2009 -0700 mpc52xx/wdt: OF property to enable the WDT on boot Add the "fsl,wdt-on-boot" OF property as to reserve a GPT as WDT which may be a requirement in safety-related (e.g. ISO/EN 61508) applications. Signed-off-by: Albrecht Dreß Signed-off-by: Grant Likely commit 8d27b2f7988b652dbabf79291a3e2550c06e1af5 Author: Martin Michlmayr Date: Thu Nov 5 20:27:46 2009 +0000 [ARM] Kirkwood: Remove code duplication in QNAP setup files Remove the code duplication found in the setup files of TS-219 and TS-41x. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 287989cac25ad71002153d55875584210adf78bd Author: Martin Michlmayr Date: Thu Nov 5 18:15:31 2009 +0000 [ARM] Kirkwood: Add QNAP TS-110/TS-210 to Kconfig help text Add two new models from QNAP to the help text. They are compatible with the TS-119/TS-219 and therefore supported by the current code. The only difference is that they have less RAM (256 MB instead of 512 MB), a slower CPU (800 MHz vs 1.2 GHz) and a plastic case. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit b421950cdc7d0ac900414aa582c5e35aeab921c0 Author: Martin Michlmayr Date: Thu Nov 5 18:09:01 2009 +0000 [ARM] Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x MPP36 is used on the QNAP TS-11x/TS-21x devices to indicate how much RAM there is: it's high for 512 MB RAM (TS-x19) and low for 256 MB (TS-x10). While this may not be very useful, let's add it for completeness. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit f3a131b90b8f9bbcf46edc3bdd5246a744ba0017 Author: Martin Michlmayr Date: Thu Nov 5 17:45:32 2009 +0000 [ARM] Kirkwood: Add support for QNAP TS-41x Turbo NAS Add support for the QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 67178767b936fb47a3a5e88097cff41ccbda7acb Author: Frederic Weisbecker Date: Fri Nov 13 10:06:34 2009 +0100 tracing: Rename 'lockdep' event subsystem into 'lock' Lockdep events subsystem gathers various locking related events such as a request, release, contention or acquisition of a lock. The name of this event subsystem is a bit of a misnomer since these events are not quite related to lockdep but more generally to locking, ie: these events are not reporting lock dependencies or possible deadlock scenario but pure locking events. Hence this rename. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Acked-by: Hitoshi Mitake Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <1258103194-843-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 24985cf68612a5617d396b0b188cec807641cde1 Author: Jiri Kosina Date: Fri Nov 13 10:45:53 2009 +0100 HID: support Logitech/3DConnexion SpaceTraveler and SpaceNavigator These devices wrongly report their axes as relative instead of absolute. Fix this in up report descriptor of the device before it enters the parser. Reported-by: simon.windows@gmail.com Signed-off-by: Jiri Kosina commit 8e9aa8f067d2dcd9457980ced618e1cffbcfba46 Author: Paul E. McKenney Date: Thu Nov 12 22:35:04 2009 -0800 rcu: Simplify association of forced quiescent states with grace periods The force_quiescent_state() function also took a snapshot of the ->completed field, which was as obnoxious as it was in rcu_sched_qs() and friends. So snapshot ->gpnum-1. Also, since the dyntick_record_completed() and dyntick_recall_completed() functions are now simple assignments that are independent of CONFIG_NO_HZ, and since their names are now misleading, get rid of them. 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: <12580941042308-git-send-email-> Signed-off-by: Ingo Molnar commit b32e9eb6ad29572b4451847d0e8227c9be2b6d69 Author: Paul E. McKenney Date: Thu Nov 12 22:35:03 2009 -0800 rcu: Accelerate callback processing on CPUs not detecting GP end An earlier fix for a race resulted in a situation where the CPUs other than the CPU that detected the end of the grace period would not process their callbacks until the next grace period started. This means that these other CPUs would unnecessarily demand that an extra grace period be started. This patch eliminates this extra grace period and speeds callback processing by propagating rsp->completed to the rcu_node structures in the case where the CPU detecting the end of the grace period sees no reason to start a new grace period. 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: <1258094104417-git-send-email-> Signed-off-by: Ingo Molnar commit fe3bcfe1f6c1fc4ea7706ac2d05e579fd9092682 Author: Peter Zijlstra Date: Thu Nov 12 15:55:29 2009 +0100 sched: More generic WAKE_AFFINE vs select_idle_sibling() Instead of only considering SD_WAKE_AFFINE | SD_PREFER_SIBLING domains also allow all SD_PREFER_SIBLING domains below a SD_WAKE_AFFINE domain to change the affinity target. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091112145610.909723612@chello.nl> Signed-off-by: Ingo Molnar commit a50bde5130f65733142b32975616427d0ea50856 Author: Peter Zijlstra Date: Thu Nov 12 15:55:28 2009 +0100 sched: Cleanup select_task_rq_fair() Clean up the new affine to idle sibling bits while trying to grok them. Should not have any function differences. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091112145610.832503781@chello.nl> Signed-off-by: Ingo Molnar commit 15cd8812ab2ce62a2f779e93a8398bdad752291a Author: Dave Jones Date: Thu Nov 12 18:15:43 2009 -0500 x86: Remove the CPU cache size printk's They aren't really useful, and they pollute the dmesg output a lot (especially on machines with many cores). Also the same information can be trivially found out from userspace. Reported-by: Mike Travis Signed-off-by: Dave Jones Acked-by: H. Peter Anvin Cc: Andi Kleen Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091112231542.GA7129@redhat.com> Signed-off-by: Ingo Molnar commit 8721c81f6480e2c9acbf92078383953f825d1057 Author: Stephen M. Cameron Date: Thu Nov 12 12:50:06 2009 -0600 cciss: Fix weird usage of ENXIO in cciss_scsi.c cciss: Fix weird usage of ENXIO in cciss_scsi.c Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 5c07a311a80adb0138fc08e8279c60255d88d0b8 Author: Don Brace Date: Thu Nov 12 12:50:01 2009 -0600 cciss: Add enhanced scatter-gather support. cciss: Add enhanced scatter-gather support. For controllers which supported, more than 512 scatter-gather elements per command may be used, and the max transfer size can be increased to 8192 blocks. Signed-off-by: Don Brace Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit da0021841c3ea6a82588efae3260015847ea5d33 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:55 2009 -0600 cciss: Do not automatically rescan on UNIT ATTENTION/LUN DATA CHANGED cciss: Do not automatically rescan on UNIT ATTENTION/LUN DATA CHANGED There are problems with doing this. If, say, several logical drives are deleted at once, several such UNIT ATTENTIONS will be encountered, often during the rescan triggered by the first such UNIT ATTENTION. The block layer may be in the midst of trying to add logical drives which were just deleted (resulting in the subsequent UNIT ATTENTION(s).) Making the rescan code robust enough to tolerate this kind of thing is too complicated for the moment. So, for now, we just don't do it. Note: This UNIT ATTENTION/LUN DATA CHANGED situation only occurs on the MSA2012. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit d06dfbd236795acbb67e22e51bb8af12e953ced3 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:50 2009 -0600 cciss: Remove unnecessary check in scan_thread cciss: Remove unnecessary check in scan_thread Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit b0e15f6db1110319cb2e747e59e1200450a5ba3e Author: Stephen M. Cameron Date: Thu Nov 12 12:49:45 2009 -0600 cciss: fix typo that causes scsi status to be lost. cciss: fix typo that causes scsi status to be lost. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit aa43f11147141fcd0e5f2fca45a4d71eab3fbe88 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:40 2009 -0600 cciss: remove sendcmd() as it is no longer used. cciss: remove sendcmd() as it is no longer used. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 29009a036f2feb07d8a9b3c715a6365dddd82a7a Author: Stephen M. Cameron Date: Thu Nov 12 12:49:35 2009 -0600 cciss: clean up code in cciss_shutdown cciss: clean up code in cciss_shutdown. Send the flush cache command down with interrupts still enabled, and do not do DMA from the stack. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 7b838bde922730b9cfeaa93ba80bd31173941495 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:30 2009 -0600 cciss: Remove the "withirq" parameter from various functions where possible cciss: Remove the "withirq" parameter from various functions where possible Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit c08fac6500b658c16834aceb13a08ebddd908333 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:25 2009 -0600 cciss: Retry driver initiated cmds with unit attention condition cciss: Retry driver initiated cmds with unit attention condition Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit fd8489cff419d216479655b8041b8574ed89f806 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:19 2009 -0600 cciss: Fix problem with remove_from_scan_list on driver unload cciss: Fix problem with remove_from_scan_list that on driver unload it doesn't remove the controller from the scan list correctly if the controller is currently being scanned for new devices. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 8ba95c69fe6eb65ff36b64136ae24844ddba16a1 Author: Alex Chiang Date: Thu Nov 12 12:49:14 2009 -0600 cciss: Make device attributes static cciss: Make device attributes static Cc: Stephen M. Cameron Signed-off-by: Alex Chiang Acked-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 401de8184a4d94688962b9258fe10ab309ffda9c Author: Akinobu Mita Date: Fri Nov 13 16:02:56 2009 +0900 ALSA: ice1712: Use bitrev8 Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai commit 1dca899e95d27475c9036ce1cf857a72852b9c53 Author: Paul Mundt Date: Fri Nov 13 12:29:19 2009 +0900 sh: dma: Kill off bogus dma_sysclass symbol export. This is a static symbol, so the export is wholly superfluous. Recent kbuild updates flagged this as an error, resulting in build failure, so this tidies that up. Signed-off-by: Paul Mundt commit 0a3f5e35aae43b20fef09fd800cf52cc9a2d61a8 Author: Mark Brown Date: Thu Nov 12 23:15:08 2009 +0000 ASoC: Remove redundant snd_soc_dapm_new_widgets() calls The DAPM widgets are now insntantiated by the core when creating the card so there is no need for the individual CODEC drivers to do so. Signed-off-by: Mark Brown commit 282a39546f6d213399b325ec830ee37e8d915924 Author: Dmitry Eremin-Solenikov Date: Thu Nov 12 23:58:23 2009 +0300 ieee802154: make wpan-phy class registration to subsys_initcall Move ieee802154 initialisation to subsys_initcall call, so that wpan-phy class is initialised before all devices (thus saving us from oops during bootup). Signed-off-by: Dmitry Eremin-Solenikov commit 690b846aa1b42b4f35bfac0022b75a288d97fd13 Author: Albrecht Dreß Date: Thu Nov 12 13:31:35 2009 -0700 mpc5200/gpt: tiny fix for gpt period limitation This patch changes the period parameter of mpc52xx_gpt_start_timer to a u64 to support larger timeout periods. Signed-off-by: Albrecht Dreß Signed-off-by: Grant Likely commit 0d26ce3403b3841fa2656df08a819fc7eaebaa17 Author: Roel Kluin Date: Thu Nov 12 17:43:11 2009 +0100 sound: OSS: fix error return in dma_ioctl() The returned error should stay negative Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit c871a05315d1a76034ea06feeda92081e1d608bf Author: Joonyoung Shim Date: Thu Nov 12 17:14:04 2009 +0900 ASoC: Add jack_status_check callback function for GPIO jacks The jack_status_check callback function is the interface to check the status of the jack. Some target provides the method to distinguish what is the jack inserted - headphone jack, microphone jack, tvout jack, etc, so we can implement it using the jack_status_check function. Signed-off-by: Joonyoung Shim Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit f773205300fa4a5a405f8ed6e3bb97e46c6eefb4 Author: Barry Song <21cnbao@gmail.com> Date: Thu Nov 12 12:01:47 2009 +0800 ASoC: move setting ac97 platformdata earlier than ac97 read/write While probing, AC97 codec drivers and soc-core generically execute the following sequence: snd_soc_new_ac97_codec -> snd_soc_new_pcms -> reset ac-link/read AC97 ID to detect ->... -> set platform_data to ac97 by soc-core commit 474828a40f6ddab6e2a3475a19c5c84aa3ec7d60 adds platform_data to snd_ac97 instance. But ac97 platform data hasn't given to snd_ac97 before actual ac97 operations. Then while ac97_read access platform_data of snd_ac97 for detecting, NULL pointer oops will fire. That means old platform_data patch doesn't work in real-life cases. This patch moves the operation of setting ac97 platform_data earlier than ac97 reading/writing operations. Then it makes platform_data of AC97 become practically useful. Signed-off-by: Barry Song <21cnbao@gmail.com> Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit ba2b87f5a93659a28cc4fb812ccd7b4146ac3aa9 Author: Jassi Brar Date: Wed Nov 11 14:02:18 2009 +0900 ASoC: Fixed arguments passed to SMDK64xx set_pll Corrected the order of 'source' and 'pll_id' arguments. Signed-off-by: Jassi Brar Signed-off-by: Mark Brown commit 7aae816dae150caad8880357e42303935c0179a8 Author: Mark Brown Date: Tue Nov 10 16:08:04 2009 +0000 ASoC: Add bit clock rate calculator utility functions Many devices need to calculate the bit clock rate desired to work out the clock configuration required for the device. Provide utility functions to do this using both hw_params structures and raw numbers. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 761b1d26df542fd5eb348837351e4d2f3bc7bffe Author: Hidetoshi Seto Date: Thu Nov 12 13:33:45 2009 +0900 sched: Fix granularity of task_u/stime() Originally task_s/utime() were designed to return clock_t but later changed to return cputime_t by following commit: commit efe567fc8281661524ffa75477a7c4ca9b466c63 Author: Christian Borntraeger Date: Thu Aug 23 15:18:02 2007 +0200 It only changed the type of return value, but not the implementation. As the result the granularity of task_s/utime() is still that of clock_t, not that of cputime_t. So using task_s/utime() in __exit_signal() makes values accumulated to the signal struct to be rounded and coarse grained. This patch removes casts to clock_t in task_u/stime(), to keep granularity of cputime_t over the calculation. v2: Use div_u64() to avoid error "undefined reference to `__udivdi3`" on some 32bit systems. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: xiyou.wangcong@gmail.com Cc: Spencer Candland Cc: Oleg Nesterov Cc: Stanislaw Gruszka LKML-Reference: <4AFB9029.9000208@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 055a00865dcfc8e61f3cbefbb879c9577bd36ae5 Author: Mike Galbraith Date: Thu Nov 12 11:07:44 2009 +0100 sched: Fix/add missing update_rq_clock() calls kthread_bind(), migrate_task() and sched_fork were missing updates, and try_to_wake_up() was updating after having already used the stale clock. Aside from preventing potential latency hits, there' a side benefit in that early boot printk time stamps become monotonic. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1258020464.6491.2.camel@marge.simson.net> Signed-off-by: Ingo Molnar LKML-Reference: commit 4739a9748e1bd7459f22f7e94e7d85710ca83954 Author: Eric W. Biederman Date: Fri Apr 3 05:36:01 2009 -0700 sysctl: Remove the last of the generic binary sysctl support Now that all of the users stopped using ctl_name and strategy it is safe to remove the fields from struct ctl_table, and it is safe to remove the stub strategy routines as well. Signed-off-by: Eric W. Biederman commit f8572d8f2a2ba75408b97dc24ef47c83671795d7 Author: Eric W. Biederman Date: Thu Nov 5 13:32:03 2009 -0800 sysctl net: Remove unused binary sysctl code Now that sys_sysctl is a compatiblity wrapper around /proc/sys all sysctl strategy routines, and all ctl_name and strategy entries in the sysctl tables are unused, and can be revmoed. In addition neigh_sysctl_register has been modified to no longer take a strategy argument and it's callers have been modified not to pass one. Cc: "David Miller" Cc: Hideaki YOSHIFUJI Cc: netdev@vger.kernel.org Signed-off-by: Eric W. Biederman commit 86b1bc68e2f4244e4ea5db5458df9d19259fbb30 Author: Tetsuo Handa Date: Mon Nov 9 09:12:15 2009 +0900 sysctl security/tomoyo: Don't look at ctl_name ctl_name field was removed. Always use procname field. Signed-off-by: Tetsuo Handa Signed-off-by: Eric W. Biederman commit 50469619999a0bc2ba8fa1365dc443b7aed190af Author: Eric W. Biederman Date: Fri Apr 3 05:11:21 2009 -0700 sysctl arm: Remove binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Remove a smattering of ctl_names used in sysctl paths, and kill the ctl_names in the recently added mach-bcmring. mach-bcmring never should have had sysctl entries with .ctl_name set. The binary sysctl interface has been frozen for a long time before that code was merged, to prevent probmes with conflicts and lack of testing. The sysctl_check code would have caught this if anyone had ever tested it that way. So I have simply dropped the binary sysctl support instead of adding another compat entry into sysctl_binary.c. Going through /proc/sys/reboot/warm will still work. Cc: Leo Chen Cc: Russell King Signed-off-by: Eric W. Biederman commit 24a065624dcdd91e8bfd0f14113feb91c7ed11ca Author: Eric W. Biederman Date: Fri Apr 3 05:33:18 2009 -0700 sysctl x86: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: Eric W. Biederman commit a09b6e811800cba79e8104deff12c544b835a3ff Author: Eric W. Biederman Date: Fri Apr 3 05:32:13 2009 -0700 sysctl sh: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Also add an C99 named initializer to the child member of unaligned_root to prevent chaos as the ctl_table definition changes over time. Cc: Paul Mundt Signed-off-by: Eric W. Biederman commit 26ea51355847b5cd70b46fe9ec9c68ad067118a4 Author: Eric W. Biederman Date: Fri Apr 3 05:29:59 2009 -0700 sysctl powerpc: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Paul Mackerras Acked-by: Benjamin Herrenschmidt Signed-off-by: Eric W. Biederman commit d00faf81afa288a8f8447f00a38405873c550092 Author: Eric W. Biederman Date: Fri Apr 3 05:15:37 2009 -0700 sysctl ia64: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Tony Luck Cc: Fenghua Yu Signed-off-by: Eric W. Biederman commit b05fd35d9146c184e1903a26b6516f1660ca230f Author: Eric W. Biederman Date: Fri Apr 3 04:36:34 2009 -0700 sysctl s390: Remove dead sysctl binary support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Eric W. Biederman commit 67a7e4f8bdfdff4b47c4a64bbc1fdbb3dfbd16c6 Author: Eric W. Biederman Date: Fri Apr 3 03:53:38 2009 -0700 sysctl frv: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: David Howells Signed-off-by: Eric W. Biederman commit 163931922220e4cb5effd5af1e105038c2f0ab7a Author: Eric W. Biederman Date: Fri Apr 3 04:33:48 2009 -0700 sysctl mips/lasat: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. The deleted strategy routines here surprise me. ctl_name was CTL_UNNUMBERED so they would not have been called at all. Acked-by: Ralf Baechle Signed-off-by: Eric W. Biederman commit 894d2491153a9f8270dbed21175d06fde4eba6c7 Author: Eric W. Biederman Date: Thu Nov 5 14:34:02 2009 -0800 sysctl drivers: Remove dead binary sysctl support Now that sys_sysctl is a wrapper around /proc/sys all of the binary sysctl support elsewhere in the tree is dead code. Cc: Jens Axboe Cc: Corey Minyard Cc: Greg Kroah-Hartman Cc: Matt Mackall Cc: Herbert Xu Cc: Neil Brown Cc: "James E.J. Bottomley" Acked-by: Clemens Ladisch for drivers/char/hpet.c Signed-off-by: Eric W. Biederman commit c2a86a67fadd9dddc58f55ce6323c04dde59ebed Author: Eric W. Biederman Date: Fri Apr 3 05:29:19 2009 -0700 sysctl crypto: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Acked-by: Herbert Xu Signed-off-by: Eric W. Biederman commit 5cdb35557d022f8dc51b532b5cd1a8e9ed7bcdb7 Author: Eric W. Biederman Date: Fri Apr 3 05:08:03 2009 -0700 sysctl security/keys: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: David Howells Signed-off-by: Eric W. Biederman commit 56992309ccbe71f4321ddd50ee2f76f91b412c1a Author: Eric W. Biederman Date: Thu Nov 5 15:38:40 2009 -0800 sysctl kernel: Remove binary sysctl logic Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Ingo Molnar Cc: Peter Zijlstra Cc: David Howells Signed-off-by: Eric W. Biederman commit ab09203e302b6e526f6930f3e460064b0f253ae9 Author: Eric W. Biederman Date: Thu Nov 5 14:25:10 2009 -0800 sysctl fs: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Jan Harkes Signed-off-by: Eric W. Biederman commit 2bc4657c15e4a33d9a192579c7627a397dbcbebc Author: Eric W. Biederman Date: Fri Apr 3 02:51:10 2009 -0700 sysctl ipc: Remove dead binary sysctl support code. Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Signed-off-by: Eric W. Biederman commit a153cf9dd038244b7fd9adad3152b85deec5c4af Author: Eric W. Biederman Date: Wed Apr 1 05:13:18 2009 -0700 sysctl: Stop using binary sysctl numbers in arlan. Looking at the arlan code it appears all of the sysctl entries are disabled debug code, and have not been enabled since the driver was merged in feb of 2003. Since except for a select few that userspace can't get along without the binary sysctl table entries are going away. Kill the unused arlan binary sysctls. Cc: John W. Linville Cc: linux-wireless@vger.kernel.org Signed-off-by: Eric W. Biederman commit 961303c44d8384a872d7eee069701b044ef1abc5 Author: Eric W. Biederman Date: Wed Apr 1 04:46:38 2009 -0700 sysctl: Remove the unused frv sysctl unumbers The frv sysctl tables can only be used from proc so kill the sysctl numbers. Cc: David Howells Signed-off-by: Eric W. Biederman commit 757010f026ab3044c594003e216d00a33ed95c56 Author: Eric W. Biederman Date: Thu Nov 12 01:39:06 2009 -0800 sysctl binary: Reorder the tests to process wild card entries first. A malicious user could have passed in a ctl_name of 0 and triggered the well know ctl_name to procname mapping code, instead of the wild card matching code. This is a slight problem as wild card entries don't have procnames, and because in some alternate universe a network device might have ifindex 0. So test for and handle wild card entries first. Signed-off-by: Eric W. Biederman commit 63395b65972c07edce595c9cc8a983016738cdac Author: Eric W. Biederman Date: Thu Nov 12 00:35:55 2009 -0800 sysctl: sysctl_binary.c Fix compilation when !CONFIG_NET dev_get_by_index does not exist when the network stack is not compiled in, so only include the code to follow wild card paths when the network stack is present. I have shuffled the code around a little to make it clear that dev_put is called after dev_get_by_index showing that there is no leak. Signed-off-by: Eric W. Biederman commit 7288561af9a931c59e431336b553d897ee37b67d Author: Takashi Iwai Date: Thu Nov 12 10:01:18 2009 +0100 ALSA: hda - Fix build error without CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_POWER_SAVE is independent from CONFIG_SND_HDA_HWDEP. Thus snd_hda_hwdep_add_power_sysfs() needs the check of both kconfigs. Signed-off-by: Takashi Iwai commit f8b7163529831ee3ad6a1aeaa0f1256cb527008d Author: Takashi Iwai Date: Thu Nov 12 09:50:28 2009 +0100 ALSA: hda - Don't access invalid substream in proc file The commit e3303235209c0496b490e10ab131e72a9568c153 "ALSA: hda - proc - show which I/O NID is associated to PCM device" introduces the access to substream pointer. But, PCMs may have no substreams in one or both directions, and this results in NULL dereference. Also, print the first substream number doesn't make sense. This patch removes the access to the substream pointer, and reformat to fit to the standard coding style. Signed-off-by: Takashi Iwai commit db48cccc7c709ccfa7cb4ac702bc27c216bffee7 Author: Hiroshi Shimamoto Date: Thu Nov 12 11:25:34 2009 +0900 perf_event, x86: Annotate init functions and data Annotate init functions and data with __init and __initconst. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <4AFB721E.8070203@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit cffd377e5879ea58522224a785a083f201afd80e Author: Hidetoshi Seto Date: Thu Nov 12 15:52:40 2009 +0900 x86, mce: Fix __init annotations The intel_init_thermal() is called from resume path, so it cannot be marked as __init. OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init() which is marked as __cpuinit, so it can be also marked as __cpuinit. Signed-off-by: Hidetoshi Seto Acked-by: Yong Wang LKML-Reference: <4AFBB0B8.2070501@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 3af539e59cf3213cbe31ce7008f1db51c52665ca Author: Paul Mundt Date: Thu Nov 12 17:03:28 2009 +0900 sh64: Fix up reworked cache op build. This gets the build fixed up for the sh64 cache enabled case. Disabling still needs further abstraction for independent I/D-cache disabling. Signed-off-by: Paul Mundt commit 626ac8e1388ac128495a3b7188e9d86464de6c5b Author: Paul Mundt Date: Thu Nov 12 16:39:47 2009 +0900 sh64: Fix up the CONFIG_GENERIC_BUG=n build. sh64 doesn't use GENERIC_BUG, which presently causes the handle_BUG() code to blow up. Fix up the dependencies and get it all building again. Signed-off-by: Paul Mundt commit e9c58fc57b17bfa75c256fb4f45ce22de6626858 Author: Paul Mundt Date: Thu Nov 12 16:36:26 2009 +0900 sh: Use the generic I/O port base for slowdown. This fixes up the build and behaviour for various configurations. Namely the CONFIG_32BIT cases where legacy mappings do not exist, as well as the sh64 build. Signed-off-by: Paul Mundt commit c4e708dc52b0e68d81a322ad11b280374685956e Author: Paul Mundt Date: Thu Nov 12 16:20:36 2009 +0900 sh: Fix up the CONFIG_PERF_EVENTS=n build for SH-4. Signed-off-by: Paul Mundt commit 8b2a5dac7859dd1954095fce8b6445c3ceb36ef6 Author: Steven Rostedt Date: Wed Nov 11 19:36:03 2009 -0500 tracing: do not disable interrupts for trace_clock_local Disabling interrupts in trace_clock_local takes quite a performance hit to the recording of traces. Using perf top we see: ------------------------------------------------------------------------------ PerfTop: 244 irqs/sec kernel:100.0% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 2842.00 - 40.4% : trace_clock_local 1043.00 - 14.8% : rb_reserve_next_event 784.00 - 11.1% : ring_buffer_lock_reserve 600.00 - 8.5% : __rb_reserve_next 579.00 - 8.2% : rb_end_commit 440.00 - 6.3% : ring_buffer_unlock_commit 290.00 - 4.1% : ring_buffer_producer_thread [ring_buffer_benchmark] 155.00 - 2.2% : debug_smp_processor_id 117.00 - 1.7% : trace_recursive_unlock 103.00 - 1.5% : ring_buffer_event_data 28.00 - 0.4% : do_gettimeofday 22.00 - 0.3% : _spin_unlock_irq 14.00 - 0.2% : native_read_tsc 11.00 - 0.2% : getnstimeofday Where trace_clock_local is 40% of the tracing, and the time for recording a trace according to ring_buffer_benchmark is 210ns. After converting the interrupts to preemption disabling we have from perf top: ------------------------------------------------------------------------------ PerfTop: 1084 irqs/sec kernel:99.9% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 1277.00 - 16.8% : native_read_tsc 1148.00 - 15.1% : rb_reserve_next_event 896.00 - 11.8% : ring_buffer_lock_reserve 688.00 - 9.1% : __rb_reserve_next 664.00 - 8.8% : rb_end_commit 563.00 - 7.4% : ring_buffer_unlock_commit 508.00 - 6.7% : _spin_unlock_irq 365.00 - 4.8% : debug_smp_processor_id 321.00 - 4.2% : trace_clock_local 303.00 - 4.0% : ring_buffer_producer_thread [ring_buffer_benchmark] 273.00 - 3.6% : native_sched_clock 122.00 - 1.6% : trace_recursive_unlock 113.00 - 1.5% : sched_clock 101.00 - 1.3% : ring_buffer_event_data 53.00 - 0.7% : tick_nohz_stop_sched_tick Where trace_clock_local drops from 40% to only taking 4% of the total time. The trace time also goes from 210ns down to 179ns (31ns). I talked with Peter Zijlstra about the impact that sched_clock may have without having interrupts disabled, and he told me that if a timer interrupt comes in, sched_clock may report a wrong time. Balancing a seldom incorrect timestamp with a 15% performance boost, I'll take the performance boost. Acked-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 2e9d546eda5888962a441da1e96bbf92cb5b1cbb Author: Anton Vorontsov Date: Wed Sep 23 22:52:38 2009 +0400 powerpc/fsl: Make fsl_deep_sleep() usable w/ modules and non-83xx builds Export is needed for modular builds, and a static inline stub is needed for non-MPC83xx builds. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 1f8a25d4a461865c7f38e93dcecbee63b3968d21 Author: Anton Vorontsov Date: Wed Sep 16 01:44:02 2009 +0400 powerpc/83xx: Add power management support for MPC83xx QE boards Simply add power management controller nodes and sleep properties. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 8c68e2f7885b22f0a63bf087752a46b690d6b6ea Author: Anton Vorontsov Date: Wed Sep 16 01:44:00 2009 +0400 powerpc/86xx: Add power management support for MPC8610HPCD boards This patch adds needed nodes and properties to support suspend/resume on the MPC8610HPCD boards. There is a dedicated switch (SW9) that is used to wake up the boards. By default the SW9 button is routed to IRQ8, but could be re-routed (via PIXIS) to sreset. With 'no_console_suspend' kernel command line argument specified, the board is also able to wakeup upon serial port input. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood [dts] Signed-off-by: Kumar Gala commit 3cfee0aaa1c7767e1b85272a0621e3a78ece7879 Author: Anton Vorontsov Date: Wed Sep 16 01:43:59 2009 +0400 powerpc/85xx: Add power management support for MPC85xxMDS boards - Add power management controller nodes; - Add interrupts for RTC nodes, the RTC interrupt may be used as a wakeup source; - Add sleep properties (DEVDISR bit mask) and sleep-nexus nodes. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 4ffd6952a078015fd0bb5905a6ba7cd592f1b817 Author: Anton Vorontsov Date: Wed Sep 16 01:43:57 2009 +0400 powerpc/85xx/86xx: Add suspend/resume support This patch adds suspend/resume support for MPC8540 and MPC8641D- compatible CPUs. To reach sleep state, we just write the SLP bit into the PM control and status register. So far we don't support Deep Sleep mode as found in newer MPC85xx CPUs (i.e. MPC8536). It can be relatively easy implemented though, and for it we reserve 'mem' suspend type. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: Kumar Gala commit fdfde24e108b49373f8702d5b9981217f35315d8 Author: Anton Vorontsov Date: Wed Sep 16 01:43:55 2009 +0400 powerpc/qe: Implement QE driver for handling resume on MPC85xx So far the driver is used to reset QE upon resume, which is needed on 85xx. Later we can move some QE initialization steps into probe(). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 4c1fba442960cfa2fd6333b9fec7d5b85c5fa29f Author: Anton Vorontsov Date: Mon Oct 12 20:49:27 2009 +0400 spi_mpc8xxx: Add support for QE DMA mode and CPM1/CPM2 chips This patch adds QE buffer descriptors mode support for the spi_mpc8xxx driver, and as a side effect we now support CPM1 and CPM2 SPI controllers. That means that today we support almost all MPC SPI controllers: - MPC834x-style controllers (support PIO mode only); - CPM1 and CPM2 controllers (support DMA mode only); - QE SPI controllers in CPU mode (PIO mode with shift quirks); - QE SPI controllers in buffer descriptors (DMA) mode; The only controller we don't currently support is a newer eSPI (with a dedicated chip selects and a bit different registers map). Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Kumar Gala commit 87ec0e98cfdd8b68da6a7f9e70142ffc0e404fbb Author: Anton Vorontsov Date: Mon Oct 12 20:49:25 2009 +0400 spi_mpc8xxx: Turn qe_mode into flags Soon there will be more flags introduced in subsequent patches, so let's turn qe_mode into flags. Also introduce mpc8xxx_spi_strmode() and print current SPI mode. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Kumar Gala commit a35c1710956f7aef06f58d22d343d7b948fbc272 Author: Anton Vorontsov Date: Mon Oct 12 20:49:24 2009 +0400 spi_mpc8xxx: Factor out SPI mode change steps into a call We'll add more steps soon, so get rid of the duplication. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Kumar Gala commit 783058fd582a1d8afbbf1d4e9b7918614a4550ff Author: Anton Vorontsov Date: Mon Oct 12 20:49:22 2009 +0400 spi_mpc8xxx: Fix uninitialized variable This patch fixes the following warning: CC drivers/spi/spi_mpc8xxx.o spi_mpc8xxx.c: In function 'of_mpc8xxx_spi_probe': spi_mpc8xxx.c:681: warning: 'ret' may be used uninitialized in this function Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Kumar Gala commit 58c12bdc5d924e4bca60c2660df2a71be4953ac9 Author: Anton Vorontsov Date: Mon Oct 12 20:49:20 2009 +0400 powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds This is needed to avoid ugly #ifdefs in drivers. Also update fsl_qe_udc driver so that now it doesn't define its own versions that cause build breakage when the generic stubs are used. Signed-off-by: Anton Vorontsov Acked-by: Greg Kroah-Hartman Signed-off-by: Kumar Gala commit 71d94fe842c34fb93eb32ae20207bea757292b79 Author: Anton Vorontsov Date: Mon Oct 12 20:49:18 2009 +0400 powerpc/cpm: Move CPMFCR_* defines into cpm.h The bits are generic to CPM devices, so let's move them to the common header file, so drivers won't need to privately reintroduce another bunch of the same bits (as we can't include cpm2.h header together with cpm1.h). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 80952988a2c6f0aa73e9ec6554084446da8d8791 Author: Anton Vorontsov Date: Mon Oct 12 20:49:16 2009 +0400 powerpc/qe&cpm2: Avoid redefinitions in CPM2 and QE headers struct mcc defined in both immap_qe.h and immap_cpm2.h, so they will conflic when included in a single file. The mcc struct is easy to deal with, since it isn't used in any driver (yet), so let's just rename QE version to qe_mcc. The ucb_ctlr is a bit trickier, since it is used by fsl_qe_udc driver, and the driver supports both CPM and QE UDCs, plus the QE version is used to form a bigger immap struct. I don't want to touch too much of USB code in this series, so for now let's just copy most generic version into the common cpm.h header, later we'll create cpm_usb.h where we'll place common USB structs that are used by QE/CPM UDC and QE Host drivers (FHCI). And as for the structs in qe.h and cpm2.h, just prefix them with qe_ and cpm_. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 644b2a680ccc51a9ec4d6beb12e9d47d2dee98e2 Author: Anton Vorontsov Date: Mon Oct 12 20:49:13 2009 +0400 powerpc/cpm: Remove SPI defines and spi structs When cpm2.h included into spi_mpc8xxx driver, the SPI defines in the header conflict with defines in the driver. We don't need them in the header file, so remove them. Plus remove "struct spi", we'll use a better version in the driver. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 52dffd7fbf3d7e29fccfd4896a812d358177dc58 Author: Poonam Aggrwal Date: Fri Sep 25 09:50:28 2009 +0530 powerpc/85xx: Added P1020RDB Platform support. P1020 is another member of Freescale QorIQ series of processors. It is an e500 based dual core SOC. Being a scaled down version of P2020 it has following differences from P2020: - 533MHz - 800MHz core frequency. - 256Kbyte L2 cache - Ethernet controllers with classification capabilities(new controller). From board perspective P1020RDB is same as P2020RDB. Signed-off-by: Poonam Aggrwal Signed-off-by: Kumar Gala commit 46d2293470c18c1bb632083bf0b589deff30ccae Author: Anton Vorontsov Date: Wed Sep 16 01:43:54 2009 +0400 powerpc/qe: QE also shuts down on MPC8568 It appears that QE shuts down on all MPC85xx CPUs (i.e. MPC8568 and MPC8569) and thus needs reset upon resume. So modify qe_alive_during_sleep() to account that. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 0c7b87b0857f0e17be982fd840046444a83c3996 Author: Anton Vorontsov Date: Wed Sep 16 01:43:52 2009 +0400 powerpc/qe: Make qe_reset() code path safe for repeated invocation For MPC8569 CPUs we'll need to reset QE after each suspend, so make qe_reset() code path suitable for repeated invocation, that is: - Don't initialize rheap structures if already initialized; - Don't allocate muram for SDMA if already allocated, just reinitialize registers with previously allocated muram offset; - Remove __init attributes from qe_reset() and cpm_muram_init(); Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit dc2e673dbcbaebdf84c09956b85c3be3a8b7bd02 Author: Poonam Aggrwal Date: Sat Sep 19 22:43:56 2009 +0530 powerpc/85xx: Create dts for each core in CAMP mode for P2020RDB This patch creates the dts files for each core and splits the devices between the two cores for P2020RDB. core0 has memory, L2, i2c, spi, dma1, usb, eth0, eth1, crypto, global-util, pci0, core1 has L2, dma2, eth0, pci1, msi. MPIC is shared between two cores but each core will protect its interrupts from other core by using "protected-sources" of mpic. Signed-off-by: Poonam Aggrwal Signed-off-by: Kumar Gala commit b79ddf2c2dba44114d150c7758002ef29e693086 Author: Anton Vorontsov Date: Thu Aug 27 21:30:19 2009 +0400 powerpc/qe: Add qe_upload_firmware() stub for non-QE builds This is needed to avoid #ifdefs in MPC85xx suspend/resume code. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 98eaa0987afdcab0929dc205edb5c492cf66a370 Author: Anton Vorontsov Date: Thu Aug 27 21:30:11 2009 +0400 powerpc/qe: Increase MAX_QE_RISC to 4 MPC8569 CPUs have four QE RISCs, so we need to increase MAX_QE_RISC constant, otherwise qe_upload_firmware() fails at sanity checking. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 2fb10732c3b3c9671b1a391996ce7e551876c25e Author: Eric W. Biederman Date: Wed Nov 11 19:32:48 2009 -0800 sysctl: Warn about all uses of sys_sysctl. Now that the glibc pthread implemenation no longers uses sysctl() users of sysctl are as rare as hen's teeth. So remove the glibc exception from the warning, and use the standard printk_ratelimit instead of rolling our own. Signed-off-by: Eric W. Biederman commit 805003a41c035ccbe37d3d5ef5e6df8874346b5a Author: Arnd Bergmann Date: Wed Nov 11 03:45:22 2009 +0000 net/atm: move all compat_ioctl handling to atm/ioctl.c We have two implementations of the compat_ioctl handling for ATM, the one that we have had for ages in fs/compat_ioctl.c and the one added to net/atm/ioctl.c by David Woodhouse. Unfortunately, both versions are incomplete, and in practice we use a very confusing combination of the two. For ioctl numbers that have the same identifier on 32 and 64 bit systems, we go directly through the compat_ioctl socket operation, for those that differ, we do a conversion in fs/compat_ioctl.c. This patch moves both variants into the vcc_compat_ioctl() function, while preserving the current behaviour. It also kills off the COMPATIBLE_IOCTL definitions that we never use here. Doing it this way is clearly not a good solution, but I hope it is a step into the right direction, so that someone is able to clean up this mess for real. Signed-off-by: Arnd Bergmann Cc: Eric Dumazet Cc: David Woodhouse Signed-off-by: David S. Miller commit a2116ed223c88b6c424f42398e54d1607dc785ba Author: Arnd Bergmann Date: Wed Nov 11 03:39:40 2009 +0000 net/compat: fix dev_ifsioc emulation corner cases Handling for SIOCSHWTSTAMP is broken on architectures with a split user/kernel address space like s390, because it passes a real user pointer while using set_fs(KERNEL_DS). A similar problem might arise the next time somebody adds code to dev_ifsioc. Split up dev_ifsioc into three separate functions for SIOCSHWTSTAMP, SIOC*IFMAP and all other numbers so we can get rid of set_fs in all potentially affected cases. Signed-off-by: Arnd Bergmann Cc: Patrick Ohly Cc: David S. Miller Signed-off-by: David S. Miller commit c029f4440fd3f0dcc6923f917536fd62d6ef5d1d Author: Ben Dooks Date: Tue Nov 10 07:22:24 2009 +0000 DM9000: Wake on LAN support Add support for Wake on LAN (WOL) reception and waking the device up from this signal via the ethtool interface. Currently we are only supporting the magic-packet variant of wakeup. WOL is enabled by specifying a second interrupt resource to the driver which indicates where the interrupt for the WOL is being signalled. This then enables the necessary ethtool calls to leave the device in a state to receive WOL frames when going into suspend. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: David S. Miller commit f9254edaabfc48f5a28bb5a88c6db48704cc058d Author: Ali Gholami Rudi Date: Tue Nov 10 06:40:06 2009 +0000 ixgbe: r_idx not used in ixgbe_msix_clean_rx() The values of r_idx and rx_ring are not used after the last time they are set in ixgbe_msix_clean_rx(), so they can be removed. Signed-off-by: Ali Gholami Rudi Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit e5c140a340c4796054b0f6e9035e1faa7edfa6d6 Author: stephen hemminger Date: Wed Nov 11 07:40:36 2009 +0000 decnet: convert dndev_lock to spinlock There is no reason for this lock to be reader/writer since the reader only has lock held for a very brief period. The overhead of read_lock is more expensive than spinlock. Compile tested only, I am not a decnet user. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a6f0eb6adc42e5eed3f35af99c61c0e411b16f8e Author: Steven Rostedt Date: Wed Nov 11 17:14:07 2009 -0500 ring-buffer: Add multiple iterations between benchmark timestamps The ring_buffer_benchmark does a gettimeofday after every write to the ring buffer in its measurements. This adds the overhead of the call to gettimeofday to the measurements and does not give an accurate picture of the length of time it takes to record a trace. This was first noticed with perf top: ------------------------------------------------------------------------------ PerfTop: 679 irqs/sec kernel:99.9% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 1673.00 - 27.8% : trace_clock_local 806.00 - 13.4% : do_gettimeofday 590.00 - 9.8% : rb_reserve_next_event 554.00 - 9.2% : native_read_tsc 431.00 - 7.2% : ring_buffer_lock_reserve 365.00 - 6.1% : __rb_reserve_next 355.00 - 5.9% : rb_end_commit 322.00 - 5.4% : getnstimeofday 268.00 - 4.5% : ring_buffer_unlock_commit 262.00 - 4.4% : ring_buffer_producer_thread [ring_buffer_benchmark] 113.00 - 1.9% : read_tsc 91.00 - 1.5% : debug_smp_processor_id 69.00 - 1.1% : trace_recursive_unlock 66.00 - 1.1% : ring_buffer_event_data 25.00 - 0.4% : _spin_unlock_irq And the length of each write to the ring buffer measured at 310ns. This patch adds a new module parameter called "write_interval" which is defaulted to 50. This is the number of writes performed between timestamps. After this patch perf top shows: ------------------------------------------------------------------------------ PerfTop: 244 irqs/sec kernel:100.0% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 2842.00 - 40.4% : trace_clock_local 1043.00 - 14.8% : rb_reserve_next_event 784.00 - 11.1% : ring_buffer_lock_reserve 600.00 - 8.5% : __rb_reserve_next 579.00 - 8.2% : rb_end_commit 440.00 - 6.3% : ring_buffer_unlock_commit 290.00 - 4.1% : ring_buffer_producer_thread [ring_buffer_benchmark] 155.00 - 2.2% : debug_smp_processor_id 117.00 - 1.7% : trace_recursive_unlock 103.00 - 1.5% : ring_buffer_event_data 28.00 - 0.4% : do_gettimeofday 22.00 - 0.3% : _spin_unlock_irq 14.00 - 0.2% : native_read_tsc 11.00 - 0.2% : getnstimeofday do_gettimeofday dropped from 13% usage to a mere 0.4%! (using the default 50 interval) The measurement for each timestamp went from 310ns to 210ns. That's 100ns (1/3rd) overhead that the gettimeofday call was introducing. Signed-off-by: Steven Rostedt commit 41bdecf17e6dba92256c65972ec79a482d978be5 Author: stephen hemminger Date: Wed Nov 11 07:39:27 2009 +0000 decnet: add RTNL lock when reading address list Add missing locking in the case of auto binding to the default device. The address list might change while this code is looking at the list. Compile tested only, I am not a decnet user. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 08e9897d512fe7a67e46209543b3815b57a36dc7 Author: stephen hemminger Date: Tue Nov 10 07:20:34 2009 +0000 netdev: fold name hash properly (v3) The full_name_hash function does not produce well distributed values in the lower bits, so most code uses hash_32() to fold it. This is really a bug introduced when name hashing was added, back in 2.5 when I added name hashing. hash_32 is all that is needed since full_name_hash returns unsigned int which is only 32 bits on 64 bit platforms. Also, there is no point in using hash_32 on ifindex, because the is naturally sequential and usually well distributed. Signed-off-by: Stephen Hemminger Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7e5ca6a22de8fa79897daae51d76b473e44f8066 Author: Ron Mercer Date: Wed Nov 11 12:54:06 2009 +0000 qlge: Change version to v1.00.00.23.00.00-01. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a5a62a1c7fbb1a1257a968ceaee48480007c2bea Author: Ron Mercer Date: Wed Nov 11 12:54:05 2009 +0000 qlge: Clean up module parameter name. Change it to match qlge_xxx convention. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 74e1243549d1ce7f7a94d88bd0c104dec3dfc66b Author: Ron Mercer Date: Wed Nov 11 12:54:04 2009 +0000 qlge: Add asic reset to open call. Force asic to known state at open(). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 4fc9b8697cdb42f7df322fb97e635491e182ae65 Author: Ron Mercer Date: Wed Nov 11 12:54:03 2009 +0000 qlge: Do not change frame routing during suspend. We do not need to change the frame routing to direct all frames to the management fifo during suspend. This is now done by the firmware. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 3586e0a9a4a5f19110627d6ba81ada32a358467d Author: David S. Miller Date: Wed Nov 11 19:06:30 2009 -0800 clocksource/timecompare: Fix symbol exports to be GPL'd. Noticed by Thomas GLeixner. Signed-off-by: David S. Miller commit a3bc1f11e9b867a4f49505ecac486a33af248b2e Author: Anton Vorontsov Date: Tue Nov 10 14:11:10 2009 +0000 gianfar: Revive SKB recycling Before calling gfar_clean_tx_ring() the driver grabs an irqsave spinlock, and then tries to recycle skbs. But since skb_recycle_check() returns 0 with IRQs disabled, we'll never recycle any skbs. It appears that gfar_clean_tx_ring() and gfar_start_xmit() are mostly idependent and can work in parallel, except when they modify num_txbdfree. So we can drop the lock from most sections and thus fix the skb recycling. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 836cf7faf8c75743477ed6ed341cce491f3183fb Author: Anton Vorontsov Date: Tue Nov 10 14:11:08 2009 +0000 gianfar: Fix race between gfar_error() and gfar_start_xmit() gfar_error() can arrive at the middle of gfar_start_xmit() processing, and so it can trigger transfers of BDs that we don't yet expect to be transmitted. Fix this by locking the tx queues in gfar_error(). Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 499428ed28d800eb5cf25889bb1e026637d99dfc Author: Anton Vorontsov Date: Tue Nov 10 14:11:07 2009 +0000 gianfar: Fix thinko in gfar_set_rx_stash_index() We obviously want to write a modified 'temp' value back to the register, not the saved IRQ flags. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 5ea681d4e6c01b191f01644024f35901721fa438 Author: Anton Vorontsov Date: Tue Nov 10 14:11:05 2009 +0000 gianfar: Fix build with CONFIG_PM=y commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9 ("gianfar: Add Multiple Queue Support") introduced the following build failure: CC gianfar.o gianfar.c: In function 'gfar_restore': gianfar.c:1249: error: request for member 'napi' in something not a structure or union This patch fixes the issue. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 4dea29d06641da5dd6f83000536c48335333e042 Author: Anton Vorontsov Date: Tue Nov 10 14:11:03 2009 +0000 gianfar: Remove 'Interrupt problem!' warning It is OK to poll with disabled IRQs, so remove the warning. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit e84af6ddef0e447c56b256a2bb5a90af11bdac2e Author: Anton Vorontsov Date: Tue Nov 10 14:11:01 2009 +0000 skbuff: Do not allow skb recycling with disabled IRQs NAPI drivers try to recycle SKBs in their polling routine, but we generally don't know the context in which the polling will be called, and the skb recycling itself may require IRQs to be enabled. This patch adds irqs_disabled() test to the skb_recycle_check() routine, so that we'll not let the drivers hit the skb recycling path with IRQs disabled. As a side effect, this patch actually disables skb recycling for some [broken] drivers. E.g. gianfar driver grabs an irqsave spinlock during TX ring processing, and then tries to recycle an skb, and that caused the following badness: nf_conntrack version 0.5.0 (1008 buckets, 4032 max) ------------[ cut here ]------------ Badness at kernel/softirq.c:143 NIP: c003e3c4 LR: c423a528 CTR: c003e344 ... NIP [c003e3c4] local_bh_enable+0x80/0xc4 LR [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] Call Trace: [c15d1b60] [c003e32c] local_bh_disable+0x1c/0x34 (unreliable) [c15d1b70] [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] [c15d1b80] [c02c6370] nf_conntrack_destroy+0x3c/0x70 Signed-off-by: David S. Miller commit 434a8a58d75faa7170807a7ac2fcf7f3d85a0dc3 Author: David S. Miller Date: Wed Nov 11 18:53:00 2009 -0800 ipv6: Remove unused var in inet6_dump_ifinfo() Reported by Stephen Rothwell: -------------------- Today's linux-next build (x86_64 allmodconfig) produced this warning: net/ipv6/addrconf.c: In function 'inet6_dump_ifinfo': net/ipv6/addrconf.c:3833: warning: unused variable 'err' Introduced by commit 84d2697d9649339215675551eae28ba04068dea1 ("ipv6: speedup inet6_dump_ifinfo()"). -------------------- Signed-off-by: David S. Miller commit a646365cc330b5aaf4452c91f61b1e0d1acf68d0 Author: Roel Kluin Date: Wed Nov 11 22:26:35 2009 +0100 tracing: Fix return value of tracing_stats_read() The function tracing_stats_read() mistakenly returns ENOMEM instead of the negative value -ENOMEM. Signed-off-by: Roel Kluin LKML-Reference: <4AFB2C0B.50605@gmail.com> Signed-off-by: Steven Rostedt commit 0526484aa345adbf790d1201a6f5d09be0a648a3 Merge: e0ea8b2 aa021ba Author: Benjamin Herrenschmidt Date: Thu Nov 12 10:59:04 2009 +1100 Merge commit 'origin/master' into next commit 8171d88089ad63fc442b2bf32af7c18653adc5cb Merge: 4d02260 cf22854 Author: Tony Lindgren Date: Wed Nov 11 15:21:24 2009 -0800 Merge branch 'pm-upstream/pm-cpuidle' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into 7xx-iosplit-plat-merge commit 4d0226042c05588be47b06bc1dbe7a09c9c540a4 Merge: 774facd f265dc4 Author: Tony Lindgren Date: Wed Nov 11 15:20:53 2009 -0800 Merge branch 'pm-upstream/pm-off' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into 7xx-iosplit-plat-merge commit cf22854cee10e16e28b1dde136c37e82b7d503ee Author: Tero Kristo Date: Fri Mar 20 15:21:02 2009 +0200 OMAP3: PM: Added resched check into idle calls Fixes a bug where scheduling is delayed until next wakeup due to race condition (e.g. interrupt requests scheduling just before omap_sram_idle is entered.) Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit da869621c3cd93d5a8361f243b50e5d48d12bd14 Author: Peter 'p2' De Schrijver Date: Tue Mar 10 18:05:19 2009 +0200 OMAP3: PM: idle: Remove fclk check for idle loop This patch removes the check to see if some functional clocks are still enabled before entering sleep. This is no longer needed when using safe state (C1) that keeps CORE active. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 7139178e9baf44dab454b757ed91a9ee149ad0f2 Author: Jouni Hogander Date: Tue Oct 28 10:59:05 2008 +0200 OMAP3: PM: Use pwrdm_set_next_pwrst instead of set_pwrdm_state in idle loop It is more efficient to use pwrdm_set_next_pwrst for mpu, core and neon instead of set_pwrdm_state in idle loop. It is anyway known that those are active in idle loop. So no need to use set_pwrdm_state. Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 8e431edb60ef175e6aa986e8260b23cc267a13fb Author: Sanjeev Premi Date: Fri Mar 13 21:34:25 2009 +0530 OMAP3: PM: CPUidle: Start C-state definitions from base 0 The current definition of C-states starts from base 1. Whereas, the cpuidle driver uses base 0. This patch eliminates need for explicit mapping (add/ sbutract) due to different base values. Signed-off-by: Sanjeev Premi Signed-off-by: Kevin Hilman commit 06d8f065b3bac1673825be744d22742ad72f9c2a Author: Peter 'p2' De Schrijver Date: Fri Mar 13 18:19:16 2009 +0200 OMAP3: PM: CPUidle: Add new lower-latency C1 state This patch introduces a new C state which allows MPU to go to WFI but keeps the core domain active. This offers a much better wakeup latency (3us vs 10s of us for the current C1) at the cost of a higher power consumption. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 0343371e22dcfec9291193ad3e771dbce3a93670 Author: Kalle Jokiniemi Date: Fri Sep 26 11:04:20 2008 +0300 OMAP3: PM: CPUidle: fix init sequencing Previously omap3_idle_init() was called in device_init, while omap_pm_init() is called at late_initcall. This causes the cpu idle driver to call omap_sram_idle before it is properly initialized. This patch fixes the issue by moving omap3_idle_init into omap3_pm_init. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 0f724ed92b0ad152a03b7a194815787eeeec17a4 Author: Kevin Hilman Date: Tue Oct 28 17:32:11 2008 -0700 OMAP3: PM: CPUidle: check activity for C2, C3, correct accounting Use the activity check for states C2 and C3 as well. This is primarily to prevent deeper states during UART activity. Also, if a different state is chosen than the target state, update the 'last_state' accordingly so that CPUidle state accounting is coorect. Signed-off-by: Kevin Hilman commit c98e223006ffd4c5e4cd0f75c5a10bd2b45508d5 Author: Kevin Hilman Date: Tue Oct 28 17:30:07 2008 -0700 OMAP3: PM: CPUidle: obey enable_off_mode flag If 'enable_off_mode' is not set, force powerdomain states to RET instead of OFF. Signed-off-by: Kevin Hilman commit 20b01669885483ba2102d5a71c662bb6ae1bed0b Author: Rajendra Nayak Date: Wed Oct 8 17:31:22 2008 +0530 OMAP3: PM: CPUidle: support retention and off-mode C-states This patch adds support and enables state C4(MPU RET + CORE RET) and MPU OFF states (C3 and C5.) Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 99e6a4d22f7c7bda0cd8978333c2e85fba02f181 Author: Rajendra Nayak Date: Wed Oct 8 17:30:58 2008 +0530 OMAP3: PM: CPUidle: base driver and support for C1-C2 Basic CPUidle driver for OMAP3 with deepest sleep state supported being MPU CSWR. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit f265dc4c5d39f2bd369d97c87a7bd89061b159d4 Author: Rajendra Nayak Date: Tue Jun 9 22:30:41 2009 +0530 OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT Due to an OMAP3 errata (1.142), on HS/EMU devices SDRC should be programed to issue automatic self refresh on timeout of AUTO_CNT = 1 prior to any transition to OFF mode. This is needed only on sil rev's ES3.0 and above. This patch enables the above needed WA in the SDRC power register value stored in scratchpad, so that ROM code restores this value in SDRC POWER on the wakeup path. The original SDRC POWER register value is stored and restored back in omap_sram_idle() function. This fixes some random crashes observed while stressing suspend on HS/EMU devices. Signed-off-by: Rajendra Nayak Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 3a7ec26bb44988051d97479f6dfcfd4942a99049 Author: Kalle Jokiniemi Date: Thu Mar 26 15:59:01 2009 +0200 OMAP3: PM: Enable IO-CHAIN wakeup OMAP 3430 ES3.1 chips have a separate bit for IO daisy-chain wake up enabling. It needs to be enabled when entering retention or off state, otherwise waking up might not work in all situations. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit c16c3f672defb7aca1276065375fe1ee5ca003dc Author: Tero Kristo Date: Thu Dec 11 16:46:57 2008 +0200 OMAP3: PM: MPU and CORE should stay awake if there is CAM domain ACTIVE MPU and CORE should stay awake if there is CAM domain ACTIVE. This is because that module doesn't have wake-up capability. This should replace the patch that is currently in the PM branch. Signed-off-by: Jouni Hogander Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit ecf157d0b38953cdefa2c8fb7ccb5a62db242aef Author: Tero Kristo Date: Mon Dec 1 13:17:29 2008 +0200 OMAP3: PM: Prevent PER from going OFF when CORE is going INA OMAP3 can't generate wakeups in this state, thus it is not permitted. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 658ce97ef57f4c0737bfcb76050400b53389ed6b Author: Kevin Hilman Date: Tue Nov 4 20:50:52 2008 -0800 OMAP3: PM: decouple PER and CORE context save and restore Signed-off-by: Kevin Hilman commit d7814e4df6e9c54680a30de3f439c66a2a55ce94 Author: Kevin Hilman Date: Tue Oct 6 14:30:23 2009 -0700 PM debug: allow configurable wakeup from suspend on OMAP GPtimer Using debugfs, export a configurable wakeup timer to be used to wakeup system from suspend. If a non-zero value is written to /debug/pm_debug/wakeup_timer_seconds, A timer wakeup event will wake the system and resume after the configured number of seconds. Signed-off-by: Kevin Hilman commit c40552bc82166adb21a1a7fcb1dc4e76352b1b79 Author: Kevin Hilman Date: Tue Oct 6 14:25:09 2009 -0700 OMAP3: PM debug: allow runtime toggle of PM features Allow enable/disable of low-power states during idle. To enable low-power idle: echo 1 > /debug/pm_debug/sleep_while_idle to disable: echo 0 > /debug/pm_debug/sleep_while_idle Also allow enable/disable of OFF-mode. To enable: echo 1 > /debug/pm_debug/enable_off_mode to disable: echo 0 > /debug/pm_debug/enable_off_mode Signed-off-by: Kevin Hilman commit 89139dce8a0060d97a46cebde570a8f55c314712 Author: Peter 'p2' De Schrijver Date: Fri Jan 16 18:53:48 2009 +0200 OMAP3: PM: Wait for SDRC ready iso a blind delay This patch improves the wakeup SRAM code polling the SDRC to become ready instead of just waiting for a fixed amount of time. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 867d320b6c30d2478358eafeca0e1a6c60cf06c3 Author: Kalle Jokiniemi Date: Thu Apr 23 13:58:51 2009 +0300 PM: Disable usb host HW save and restore The hardware SAVEANDRESTORE mechanism seems to leave USB HOST power domain permanently into active state after one transition from off to active state. Disabling for now. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 2329e7cc0de3de499d0a0f4e2f73c8f02acbc117 Author: Aaro Koskinen Date: Thu Mar 12 18:12:29 2009 +0200 OMAP3: PM: Fix INTC context save/restore Wrong index was used for ILR. Signed-off-by: Aaro Koskinen Signed-off-by: Kevin Hilman commit 0795a75a369b931150074a14473f024359b7f25c Author: Tero Kristo Date: Mon Oct 13 17:58:50 2008 +0300 OMAP3: PM: SDRC auto-refresh workaround for off-mode Errata: ES3.0, ES3.1 SDRC not sending auto-refresh when OMAP wakes-up from OFF mode Signed-off-by: Tero Kristo Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 692ec4abb96174c0e4b3aef6d2b71f36a4a14c8b Author: Juha Yrjola Date: Mon Mar 9 21:21:01 2009 +0000 OMAP: Store reboot mode in scratchpad on OMAP34xx The reboot mode can be communicated to a bootloader (or the kernel itself) with a scratchpad register. This functionality is especially useful, if userspace is allowed to change the reboot mode. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Kevin Hilman commit bf07c9f2d869077cc918b4cda861eadac6df6283 Author: Aaro Koskinen Date: Wed May 20 16:58:30 2009 +0300 OMAP: PM: Clear DMA channel state after a wakeup Clear DMA channel states so that users can assume a known initial state. Signed-off-by: Aaro Koskinen Signed-off-by: Kevin Hilman commit cb0cb2b815bf073dc0211ab224682a6caf6c89ce Author: Kalle Jokiniemi Date: Tue May 12 14:02:16 2009 +0300 OMAP3: PM: Fix PLL_MOD CLKEN offset in scratchpad The CM_CLKEN_PLL register saved in scratchpad memory was wrongly using offset of 0x0004 instead of 0x0000. The effect of this was that boot ROM code would restore the wrong value when waking up from off mode. This wrong value, however, will be overwritten by prcm context restore. Still, a short period of wrong clock settings in CM_CLKEN_PLL remained between ROM code and prcm context restore. This is fixed by the patch. Problem reported by: Jouni Hogander Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 8a917d2fc80b7c45ce0146ff134168646274a9bd Author: Kalle Jokiniemi Date: Wed May 13 13:32:11 2009 +0300 ARM: OMAP: SMS: save/restore of SMS_SYSCONFIG for off-mode The SMS_SYSCONFIG register gets reset in off mode, added a save/restore mechanism for that. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit ba50ea7eb9ce663511013b35608cf0753c9ab674 Author: Kalle Jokiniemi Date: Thu Mar 26 15:59:00 2009 +0200 OMAP3: PM: Fix secure SRAM context save/restore The secure sram context save uses dma channels 0 and 1. In order to avoid collision between kernel DMA transfers and ROM code dma transfers, we need to reserve DMA channels 0 1 on high security devices. A bug in ROM code leaves dma irq status bits uncleared. Hence those irq status bits need to be cleared when restoring DMA context after off mode. There was also a faulty parameter given to PPA in the secure ram context save assembly code, which caused interrupts to be enabled during secure ram context save. This caused the save to fail sometimes, which resulted the saved context to be corrupted, but also left DMA channels in secure mode. The secure mode DMA channels caused "DMA secure error with device 0" errors to be displayed. Signed-off-by: Kalle Jokiniemi Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 133464dc30846282b5f852433d7b6a31f292f886 Author: Jouni Hogander Date: Thu Feb 5 13:34:01 2009 +0200 OMAP3: PM: Save and restore also CM_CLKSEL1_PLL_IVA2 CM_CLKSEL1_PLL_IVA2 is not saved/restored currently. This patch is adding save and restore for it. Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 13a6fe0f6adf62bf73be055322197507761d160a Author: Tero Kristo Date: Mon Oct 13 13:17:06 2008 +0300 OMAP3: PM: Enable SDRAM auto-refresh during sleep Fix for ES3.0 bug: SDRC not sending auto-refresh when OMAP wakes-up from OFF mode (warning for HS devices.) Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 9d97140bd0c5da55f174a81dafd2bbef135f5748 Author: Tero Kristo Date: Fri Dec 12 11:20:05 2008 +0200 OMAP3: PM: save secure RAM only during init The function omap3_save_secure_ram() is now called only once during the initialization of the device and consequent sleep cycles will re-use the same saved contents for secure RAM. Users who need secure services should do secure RAM saving before entering off-mode, if a secure service has been accessed after last save. There are both latency and reliability issues with saving secure RAM context in the idle path. The context save uses a hardware resource which takes an order of hundreds of milliseconds to initialize after a wake up from off-mode, and also there is no way of checking whether it is ready from kernel side or not. It just crashes if you use it too quickly Additional fix to ensure scratchpad save is done after secure RAM by Roger Quadros. Signed-off-by: Tero Kristo Signed-off-by: Roger Quadros Signed-off-by: Kevin Hilman commit 27d59a4a2def42307349079f2e3538d96934c379 Author: Tero Kristo Date: Mon Oct 13 13:15:00 2008 +0300 OMAP3 PM: off-mode support for HS/EMU devices For HS/EMU devices, some additional resources need to be saved/restored for off-mode support. Namely, saving the secure RAM and a pointer to it in the scratchpad. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit f2d1185824fd3ed631f3164daeff59d0b4e55d79 Author: Tero Kristo Date: Thu Aug 28 13:13:31 2008 +0000 OMAP: PM: DMA context save/restore for off-mode support For HS/EMU devices, these additional features are also used: - DMA interrupt disable routine added - Added DMA controller reset to DMA context restore Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 2f5939c3ec9440a9c3a0baf4d0e1b2cc043aad46 Author: Rajendra Nayak Date: Fri Sep 26 17:50:07 2008 +0530 OMAP3: PM: CORE domain off-mode support Add context save and restore for CORE powerdomain resources in order to support off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 61255ab9e853ddbbe092328c30921d2ba9434134 Author: Rajendra Nayak Date: Fri Sep 26 17:49:56 2008 +0530 OMAP3: PM: MPU off-mode support Adds a 'save_state' option when calling into SRAM idle function and adds some minor cleanups of SRAM asm code. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 57f277b0122722ffa1de1b53aceb70646ce9a8e1 Author: Rajendra Nayak Date: Fri Sep 26 17:49:34 2008 +0530 OMAP3: PM: Restore MMU table entry During the MMU restoration on the restore path from MPU OFF, the page table entry for the page consisting of the code being executed is modified to make MMU return VA=PA. The MMU is then enabled and the original entry is being stored in scratchpad. This patch reads the original values stored in scratchpad, and restores them back. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit fa3c2a4fc99fd7f8c245020303d7e11feadbbac9 Author: Rajendra Nayak Date: Fri Sep 26 17:49:22 2008 +0530 OMAP3: PM: handle PER/NEON/CORE in idle Expand the powerdomains handled in the idle path to include PER, NEON and CORE. This includes properly clearing the previous powerstates, linking NEON state to MPU state and calling the UART prepare functions for only the appropraite powerdomain transitions (CORE for UART1,2, PER for UART3.) Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 3231fc889c114870ca830041fcdeb5d4745304cf Author: Rajendra Nayak Date: Fri Sep 26 17:49:14 2008 +0530 OMAP3: PM: restore SRAM functions after off-mode. Generalize the copy of SRAM functions into omap_push_sram_idle() so it can be used on init but also after off-mode transitions. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit c96631e13888e9be3a80aae291ed671d4d573ec9 Author: Rajendra Nayak Date: Fri Sep 26 17:49:02 2008 +0530 OMAP3: PM: SCM context save/restore Add context save and restore for the System Control Module to suport off-mode. ETK and debobs definitions added by Peter De Schrijver. Signed-off-by: Rajendra Nayak Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 8014078684377257e3a83ac45db95711929850c5 Author: Rajendra Nayak Date: Fri Sep 26 17:48:46 2008 +0530 OMAP3: PM: Populate scratchpad contents This patch populates the scratchpad contents as expected by the bootROM code. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit c171a2586161c623253186c394ca456947ec6a66 Author: Rajendra Nayak Date: Fri Sep 26 17:48:31 2008 +0530 OMAP3: PM: PRCM context save/restore Add context save and restore for PRCM module to support off-mode. Additional registers (CM_CLKSEL4, CM_CLKEN, CM_CLKEN2) added by Tero Kristo. Missing CM_CLKEN_PLL_IVA2 register added by Kalle Jokiniemi. Signed-off-by: Rajendra Nayak Signed-off-by: Tero Kristo Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 0addd61bc2028842bdcbd92c622d1110fc29c5a3 Author: Rajendra Nayak Date: Fri Sep 26 17:48:20 2008 +0530 OMAP3: PM: INTC context save/restore Add context save and restore for the INTC module to support off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 40c670f0314c3c9463ce9c2f2b9b1085884837f6 Author: Rajendra Nayak Date: Fri Sep 26 17:47:48 2008 +0530 OMAP3: PM: GPIO context save/restore Add context save and restore to enable off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit a2d3e7bad82dcfb67924849e2063238a1ae51b6e Author: Rajendra Nayak Date: Fri Sep 26 17:47:33 2008 +0530 OMAP3: PM: GPMC context save/restore This patch adds the context save and restore functions for GPMC to enable off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 41a2617064a8458178ccdf31ed2be2b4eade4a2a Author: Gertjan van Wingerde Date: Mon Nov 9 22:59:04 2009 +0100 rt2x00: Fix typo in rf programming of rt2800lib. Fix a type in rt2800_config_channel_rt3x. The second write to RF register 2 should be to RF register 3. This is confirmed by the legacy Ralink code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e5d6eb8305a4c116fc94ce28b8136c538c92442f Author: Luis R. Rodriguez Date: Mon Nov 9 16:03:22 2009 -0500 mac80211: fix max HT rate processing on mac80211 The max MCS index is 76, fix the higher check to allow through frames received at MCS 76. This is a non-issue for current drivers as MCS 76 is only possible with a device supporting 4 spatial streams. While at it change the WARN_ON() on invalid HT rates to a WARN() to provide more useful information. This will help debug issues when the driver is passing up a bogus HT rate value. The rate must map to a valid MCS index which can be any of the values in the set [0 - 76] (inclusive). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b34e620faa843d746400e324580e9a9efd457e4d Author: Thadeu Lima de Souza Cascardo Date: Mon Nov 9 09:45:50 2009 +0100 rt2x00: fix some typos and punctuation in comments fix some typos and punctuation in comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina Signed-off-by: John W. Linville commit 13b409cc8c1614090f256729ee0038438a6946f7 Author: Jason Andryuk Date: Sun Nov 8 19:02:19 2009 -0500 at76c50x-usb: Supply additional parameters to at76_start_monitor scan request For my Linksys WUSB11 at76c503-i3861 device, scanning fails without probe_delay, min_channel_time, and max_channel_time specified for the scan request. These values were found by checking scan requests from the at76_usb driver. Signed-off-by: Jason Andryuk Acked-by: Kalle Valo Signed-off-by: John W. Linville commit a6ef92ad3588d4e011295bf724f88e7d5b8c0e1b Author: Jason Andryuk Date: Sun Nov 8 18:58:01 2009 -0500 at76c50x-usb: Remove mac2str and replace with %pM format specifier. Signed-off-by: Jason Andryuk Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 9c9a0d145fee73b5e821bb460732ac2a66c680b3 Author: Gertjan van Wingerde Date: Sun Nov 8 16:39:55 2009 +0100 rt2x00: Update copyright statements. As mentioned on the linux-wireless mailing list, the current copyright statements in the rt2x00 are meaningless, as the rt2x00 project is not even a formal legal entity. Therefore it is better to replace the existing copyright statements with copyright statements for the people that actually wrote the code. Note: Updated to the best of my knowledge with respect to who contributed considerable amounts of code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn CC: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit 6aefbfa0204b1dab4b9f23ca30f8840ba0d9134a Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:43:35 2009 +0100 rt2500usb: remove dead link tuning code Link tuning code from the legacy rt2570 driver turned out to be harmful and got disabled by the commit d06193f ("rt2x00: Disable link tuning in rt2500usb") in August 2008. There is no reason to keep this dead code any longer so remove it (it can still be retrieved from the git history if necessary). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 40beee5c15a816bf77747e15940ac3b97229faf4 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:55 2009 +0100 rt2800usb: add eFuse EEPROM support It is needed for at least RT3070 chip. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 30e840346c516ad4e36f710fa485933ccc7afa66 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:48 2009 +0100 rt2800: add eFuse EEPROM support code to rt2800lib eFuse EEPROM is used also by USB chips (i.e. RT3070) so move the needed code from rt2800pci to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4116cb483ec148e30f70408ad0600304a5de2a3c Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:40 2009 +0100 rt2800usb: fix RX descriptor naming Rename RXD_W0_* defines to RXINFO_W0_* ones to match naming used for TX descriptor and by the vendor driver. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4da2933fe1f2d3d9ed548660f5c02a9b0608a8c7 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:32 2009 +0100 rt2800: unify rt2800*_probe_hw_mode() Add rf_vals tables and rt2800_probe_hw_mode() to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2b38cbfd98eb36799f45178c73b2ed81402abd8 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:25 2009 +0100 rt2800: prepare for rt2800*_probe_hw_mode() unification Enclose interface specific code in rt2800[pci,usb]_probe_hw_mode() with rt2x00_intf_is_[pci,usb]() checks. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 726984b61e744c1fef72d20e56eadd0864ecb240 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:16 2009 +0100 rt2800usb: reorganize code in rt2800usb_probe_hw_mode() Move hw_mode information initialization code block before HT information initialization one to match the ordering used by rt2800pci's rt2800pci_probe_hw_mode(). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4d685e550b5ace42fdf6d72506bab6e7ae93e669 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:09 2009 +0100 rt2800pci: add missing RF values to rf_vals table rt2800pci's rf_vals[] copy was missing values for some channels. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 38bd7b8a0f485ba5ad514fcd621a1842ebadf9e6 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:01 2009 +0100 rt2800: unify EEPROM support code Add rt2800_validate_eeprom() and rt2800_init_eeprom() to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7ab71325cf0940099c376799aca6de7bc86ad2d0 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:38:54 2009 +0100 rt2800: prepare for unification of EEPROM support code * Factor out common code from rt2800[pci,usb]_validate_eeprom() to rt2800_validate_eeprom(). * Fix interface specific comment in rt2800[pci,usb]_validate_eeprom(). * Enclose interface specific code in rt2800[pci,usb]_init_eeprom() with rt2x00_intf_is_[pci,usb]() checks. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 863cc978a73bc07f1de0e9a9bd9889bed6e618da Author: Ivo van Doorn Date: Sun Nov 8 14:37:48 2009 +0100 rt2x00: Remove deprecated ieee80211_rx_status->qual usage ieee80211_rx_status->qual has been marked deprecated. This allows us to remove several functions and fields which were used to calculate a reasonable value for it. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a65986824d2552dd76786d5a0012989a64c45ab7 Author: Gertjan van Wingerde Date: Sun Nov 8 12:30:35 2009 +0100 rt2x00: Add dynamic detection of eFuse EEPROM in rt2800pci. Instead of assuming that all rt3090 devices will have an eFuse EEPROM, do as the legacy Ralink driver, and detect at run-time whether an eFuse EEPROM is present. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit 748d451028ef037576b57517bc81e62f1fd92250 Author: Luis R. Rodriguez Date: Thu Nov 5 14:10:07 2009 -0800 ath9k_common: clarify and correct jumbogram processing Jumbograms are frames put together linked together through more than one descriptor. For example ath9k_htc will use this to send from the target a large frame split up into 2 or more segments. The driver then would be in charge of putting the frame back together. When jumbograms are constructed the rx_stats->rs_more will bet set and rx_stats->rs_status will not have any valid content as the actual status will only be avialable at the end of the chained descriptors. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 165864d08774823e3b88d5fcf4dad302700612e3 Author: Luis R. Rodriguez Date: Thu Nov 5 08:53:10 2009 -0800 ath9k_common: remove ath9k_compute_qual() This is now deprecated and unused within mac80211, so time to remove it as otherwise we'd be doing some unecessary computations for nothing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db86f07ec6cdea9670a0928bd1289109d2a989dc Author: Luis R. Rodriguez Date: Thu Nov 5 08:44:39 2009 -0800 ath9k_common: add new module to share 802.11n driver helpers ath9k and ath9k_htc share a lot of common hardware characteristics. They only differ in that ath9k_htc works with a target CPU and ath9k works directly with the hardware. ath9k_htc will do *some* things in the firmware, but a lot of others on the host. The common 802.11n hardware code is already shared through the ath9k_hw module. Common helpers amongst all Atheros drivers can use the ath module, this includes ath5k and ar9170 as users. But there is some common driver specific helpers which are not exactly hardware code which ath9k and ath9k_htc can share. We'll be using ath9k_common for this to avoid bloating the ath module and the common 802.11n hardware module ath9k_hw. We start by sharing skb pre and post processing in preparation for a hand off to mac80211. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c9b1417055cd2518e8a3b4b27e1f8e4b72821dff Author: Luis R. Rodriguez Date: Wed Nov 4 16:47:22 2009 -0800 ath9k: move RX skb post processing to a helper Use a helper for the RX skb post processing, ath9k_rx_skb_postprocess(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dc1e001bf498a19dcb46676d933cd0e92dc53ef3 Author: Luis R. Rodriguez Date: Wed Nov 4 17:47:31 2009 -0800 ath5k: use the common->keymap Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7e86c1048a9f5f1e157daf28411f3526f0b9f7b6 Author: Luis R. Rodriguez Date: Wed Nov 4 17:21:01 2009 -0800 ath9k: move driver keymap, keymax and splitmic to common This will make sharing code easier between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1e875e9f16e3138d0e23cbf806a6d9520b622db2 Author: Luis R. Rodriguez Date: Wed Nov 4 16:34:33 2009 -0800 ath9k: rename ath_rx_prepare() to ath9k_rx_skb_preprocess() And change the return value to something more obvious. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2c74aa4d73dbed2e879e7eb5ee9de95d40e5298d Author: Luis R. Rodriguez Date: Wed Nov 4 15:11:05 2009 -0800 ath9k: move the max rx buffer size check to ath9k_rx_accept() While at it flip the order, seems easier to read and also add some better description as to why we do this check. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd849782a7388e091e356373a744f8b7ae97188a Author: Luis R. Rodriguez Date: Wed Nov 4 09:44:50 2009 -0800 ath5k: remove double cache alignment, ath_rxbuf_alloc() already does it ath5k is using the (csz - 1) twice as ath_rxbuf_alloc() already allocates and moves skb->data accordingly. Remove the extra (csz -1). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cc861f7468724e66567baf087b4e413e91b18150 Author: Luis R. Rodriguez Date: Wed Nov 4 09:11:34 2009 -0800 ath: move the rx bufsize to common to share with ath5k/ath9k This will also be used by ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0a45da765e4bf5e8a7705266fa36e0f44787b0a1 Author: Luis R. Rodriguez Date: Wed Nov 4 08:58:45 2009 -0800 ath9k: move the rx_stats->rs_datalen check to ath9k_rx_accept() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ca42627f3ddc0e4fc3e62d879cc35ab5beaaa8b Author: Luis R. Rodriguez Date: Wed Nov 4 08:20:42 2009 -0800 ath9k: avoid the copy skb->cb on every RX'd skb The skb->cb (control buffer, 48 bytes) is available to the skb upon skb allocation. You can fill it up imediately after skb allocation. ath9k was copying onto the skb->cb the data from the processed skb for mac80211 from a stack struct ieee80211_rx_status structure. This is unnecessary, instead use the skb->cb for the rx status immediately after the skb becomes available and DMA synched. Additionally, avoid the copy of the skb->cb also for virtual wiphys as skb_copy() will copy over the skb->cb for us as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dbfc22df1afbeb91d528e2f84d6603ac9ce98bc2 Author: Luis R. Rodriguez Date: Tue Nov 3 18:35:05 2009 -0800 ath9k: move rssi processing into a helper This moves all the RX processing of RSSI into a helper, ath_rx_prepare(). ath_rx_prepare() should now be really easy to read and follow. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 21b22738068366d7740b4b7cf55ce270f479543a Author: Luis R. Rodriguez Date: Tue Nov 3 18:20:26 2009 -0800 ath9k: move qual processing into a helper This moves the qual computing into a small helper, ath9k_compute_qual() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9878841e1360266fa4522fbdc2448fcdce95e0dd Author: Luis R. Rodriguez Date: Tue Nov 3 18:10:30 2009 -0800 ath9k: move rate descriptor reading into a helper ath9k_process_rate() now does all the rx status processing to read the rate the hardware passed and translate it to whatever mac80211 wants. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 14077f5b7a28bdcd166faed2c0b36fad9f3eadda Author: Luis R. Rodriguez Date: Tue Nov 3 17:52:33 2009 -0800 ath9k: remove temp variable ratecode from ath_rx_prepare() Its just a distraction when reading the code, instead use the rx_stats->rs_rate directly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 207e96854e39380fce8b589bbbdaf6e9a83b9151 Author: Luis R. Rodriguez Date: Tue Nov 3 17:39:00 2009 -0800 ath9k: move RX check code into helper ath9k_rx_accept() This does sanity checking on the skb and RX status descriptor prior to processing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 712c13a86affe69dd8462631808edd5825b5e1cb Author: Luis R. Rodriguez Date: Tue Nov 3 15:57:16 2009 -0800 ath9k: use the ieee80211_hw to get to an sband on ath_rx_prepare() No need to use the private driver structure to get to an sband. This will make it easier to share this code with ath9k_htc. With the sc gone we can now just pass the common structure to ath_rx_prepare(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3d536acf45ba65acb15fc65bf46f8d6c7ad6c463 Author: Luis R. Rodriguez Date: Tue Nov 3 17:07:04 2009 -0800 ath9k: move struct ath_ani to common area This can be shared between ath9k and ath9k_htc. It will also help with sharing routine helpers on the RX path. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 30cbd42265546a3efa146d4eb3456165325c83a7 Author: Luis R. Rodriguez Date: Tue Nov 3 16:10:46 2009 -0800 ath9k_hw: move ath_extend_tsf() to hw code to share as ath9k_hw_extend_tsf() This will be shared between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 26ab2645b478fd98aa1d10a07eb07f2235bc1f1c Author: Luis R. Rodriguez Date: Mon Nov 2 18:49:56 2009 -0800 ath9k: do not pass the entire descriptor to ath_rx_prepare() Its not needed, so just pass the hardware RX status. We'll be simplfying ath_rx_prepare() with code we can share between ath9k and ath9k_htc. This will help make that code easier to read and manage. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f52de03bf9843673cadff8016a609e1628c139e2 Author: Luis R. Rodriguez Date: Mon Nov 2 17:09:12 2009 -0800 ath9k: handle low buffer space for virtual wiphys ath9k virtual wiphys all share the same internal buffer space for TX but they do not share the mac80211 skb queues. When ath9k detects it is running low on buffer space to TX it tells mac80211 to stop sending it skbs its way but it always does this only for the primary wiphy. This means mac80211 won't know its best to avoid sending ath9k more skbs on a separate virtual wiphy. The same issue is present for reliving the skb queue. Since ath9k does not keep track of which virtual wiphy is hammering on TX silence all wiphy's TX when we're low on buffer space. When we're free on buffer space only bother informing the virtual wiphy which is active that we have free buffers. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5008f3727b05b5eb970ce703721aa5897a088e30 Author: Luis R. Rodriguez Date: Mon Nov 2 16:27:33 2009 -0800 ath9k: use the right hw on ath_tx_setup_buffer() for HT When using virtual wiphys the base sc->hw was being used, the correct hw is passed along the caller already so just use that. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 76d5a9e83b6e72ebe651c08e6dc247a58469ddda Author: Luis R. Rodriguez Date: Mon Nov 2 16:08:34 2009 -0800 ath9k: use correct hw for tx aggregation TX completion When ath9k virtual wiphys are used the sc->hw will not always represent the active hw, instead we need to get it from the skb->cb private driver area. This ensures the right hw is used to find a sta for the TX'd skb. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 68a89116157d9d479a854db6d79a9116be79cd99 Author: Luis R. Rodriguez Date: Mon Nov 2 14:35:42 2009 -0800 ath9k: pass the ieee80211_hw on radio enable/disable We use the ieee80211_hw for radio enable/disable but the wrong structure hw was being used in consideration for virtual wiphys as each virtual wiphy has its own ieee80211_hw struct. Just pass the hw struct to ensure we use the right one. This should fix the hw used and passed for radio enable/disable. This includes the stoping / starting of the software TX queues so mac80211 doesn't send us data for a specific virtual wiphy. ath9k already takes care of pausing virtual wiphys and stopping the respective queues on its own, but this should handle the idle mac80211 conf calls as well. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cee71d6c1471953239ea4c13306888cf2b36426e Author: Luis R. Rodriguez Date: Mon Nov 2 14:17:51 2009 -0800 ath9k: use the passed ieee80211_hw on ath_rx_prepare() this now uses the proper hw which should mean finding the right sta when using ath9k virtual wiphy stuff. Only advantage I see here is getting the rssi properly updated so the 'fix' itself isn't that great, but at least this is correct. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b4afffc0cfa3f35ee011d5ed4153e49f5cc3bc96 Author: Luis R. Rodriguez Date: Mon Nov 2 11:36:08 2009 -0800 ath9k: simpify RX by calling ath_get_virt_hw() once ath_get_virt_hw() is required on RX to determine for which virtual wiphy an skb came in for. Instead of searching for the hw twice do it only once. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1bdf6c3bece59c96aec3b8b457a9a554f6b2c433 Author: Luis R. Rodriguez Date: Wed Oct 28 13:39:40 2009 -0700 ath9k: update hw configuration for virtual wiphys ath9k supports its own virtual wiphys. The hardware code relies on the ieee80211_hw for the present interface but with recent changes introduced the common->hw was never updated and is required for virtual wiphys. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 194b7c13b4c516db94db8ee004342f8935922739 Author: Luis R. Rodriguez Date: Thu Oct 29 10:41:15 2009 -0700 ath9k: fix listening to idle requests The way idle configuration detection was implemented as busted due to the fact that it assumed the ath9k virtual wiphy, the aphy, would be marked as inactive if it was not used but it turns out an aphy is always active if its the only wiphy present. We need to distinguish between aphy activity and idleness so we now add an idle bool for the aphy and mark it as such based on the passed IEEE80211_CONF_CHANGE_IDLE from mac80211. Previous to all_wiphys_idle would never be true when using only one device so we never really were using IEEE80211_CONF_CHANGE_IDLE -- we never turned the radio off or on upon IEEE80211_CONF_CHANGE_IDLE changes as radio changes depended on all_wiphys_idle being true either to turn the radio on or off. Since it was always false for one device this code was doing nothing. Cc: Jouni.Malinen Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f14543ee4d0681df1377b976cba704557ba220d3 Author: Felix Fietkau Date: Tue Nov 10 20:10:05 2009 +0100 mac80211: implement support for 4-address frames for AP and client mode In some situations it might be useful to run a network with an Access Point and multiple clients, but with each client bridged to a network behind it. For this to work, both the client and the AP need to transmit 4-address frames, containing both source and destination MAC addresses. With this patch, you can configure a client to communicate using only 4-address frames for data traffic. On the AP side you can enable 4-address frames for individual clients by isolating them in separate AP VLANs which are configured in 4-address mode. Such an AP VLAN will be limited to one client only, and this client will be used as the destination for all traffic on its interface, regardless of the destination MAC address in the packet headers. The advantage of this mode compared to regular WDS mode is that it's easier to configure and does not require a static list of peer MAC addresses on any side. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8b787643ca0a5130c647109d77fe512f89cfa611 Author: Felix Fietkau Date: Tue Nov 10 18:53:10 2009 +0100 nl80211: add a parameter for using 4-address frames on virtual interfaces Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ddd21046e7b5e112b5a4722b7e071ae9d4c96a2b Author: John W. Linville Date: Wed Nov 11 13:04:42 2009 -0800 iwlwifi: fix iwl1000 "RTS/CTS for HT" merge damage I may have botched my merge conflict resolution instructions for Dave... Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0e0fc1c23e04c15e814763f2b366e92d87d8b95d Author: Paul E. McKenney Date: Wed Nov 11 11:28:06 2009 -0800 rcu: Mark init-time-only rcu_bootup_announce() as __init Because rcu_bootup_announce() is used only at boot time, mark it as __init, presumably so that its memory can be reclaimed. Suggested-by: Joe Perches 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: <20091111192806.GA10073@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1460dd158a520447b87661aea4afda1997d69cde Author: Rui Paulo Date: Mon Nov 9 23:46:48 2009 +0000 mac80211: improve peer link management debugging Print the FSM state strings instead of just the numbers. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit f3c0d88a7fc1c3fff84ac57d3f3195d0dd1854ac Author: Rui Paulo Date: Mon Nov 9 23:46:47 2009 +0000 mac80211: improve HWMP debugging Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit dbb81c428bf534fcfe94102acca50f6d56504999 Author: Rui Paulo Date: Mon Nov 9 23:46:46 2009 +0000 mac80211: allow processing of more than one HWMP IE Since the HWMP IEs are now all optional and the action code is fixed, allow the HWMP code to find and process each IE on the path selection action frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 27db2e423fdeae8815087677261ab72cca7b3c28 Author: Rui Paulo Date: Mon Nov 9 23:46:45 2009 +0000 mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG Add MAC80211_VERBOSE_MHWMP_DEBUG, a debugging option for HWMP frame processing. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 095de01325962e7574d5793193c6f3ae9a175aab Author: Rui Paulo Date: Mon Nov 9 23:46:44 2009 +0000 mac80211: update the format of path selection frames Update the format of path selection frames according to latest draft (3.03). Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 0938393f02c5a4db75a6e38ee31645c974169bb5 Author: Rui Paulo Date: Mon Nov 9 23:46:43 2009 +0000 mac80211: update peer link management IE and action frames Update the length and format of the peer link management action frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 23c7a29cd020250646249592941261777cbeaf16 Author: Rui Paulo Date: Mon Nov 9 23:46:42 2009 +0000 mac80211: fix typo in a comment Signed-off-by: Javier Cardona Signed-off-by: Rui Paulo Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 8f2fda9594f083981ad54c1994863875fe680925 Author: Rui Paulo Date: Mon Nov 9 23:46:41 2009 +0000 mac80211: implement the meshconf formation info field The Mesh Configuration Formation Info field contains the number of neighbors. This means that the beacon must be updated every time a peer joins or leaves. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit a1935218da8964a033bdf68c591629741c94eeec Author: Rui Paulo Date: Mon Nov 9 23:46:40 2009 +0000 mac80211: set MESH_TTL to 31 Update the mesh time to live field to 31 according to draft 3.03. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 3491707a070c1183c709516b2f876f798c7a9a84 Author: Rui Paulo Date: Mon Nov 9 23:46:39 2009 +0000 mac80211: update meshconf IE This updates the Mesh Configuration IE according to the latest draft (3.03). Notable changes include the simplified protocol IDs. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit ac9d1a7bef71afa4837769ef38edb0f7e2ef8028 Author: Gertjan van Wingerde Date: Mon Nov 9 23:38:35 2009 +0100 rt2x00: Fix building of rt2800lib when rt2x00 driver is built-in. When enabling rt2800usb as a built-in driver (as opposed to a as a module) the build fails. See http://marc.info/?l=linux-wireless&m=125768687711034&w=2 for details. Fix it by properly including from rt2x00usb.h Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2015d1920c6ec637b16db1e8734d9070983db21f Author: Gertjan van Wingerde Date: Sun Nov 8 12:30:14 2009 +0100 rt2x00: Move interface type assignments to generic code. Make sure all drivers can benefit of the assignment of the interface type of an adapter, instead of keeping it for rt2800 only. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit f9ef6028b2c1272a2f12299053efef90e8721f21 Author: Julia Lawall Date: Sun Nov 8 09:23:07 2009 +0100 drivers/net/wireless: correct check on CCS_START_NETWORK CCS_START_NETWORK is declared in drivers/net/wireless/rayctl.h with the comment Values for cmd. status is previously compared to CCS_COMMAND_COMPLETE, which is declared in the same file with the comment Values for buffer_status. Finally, it is possible at this point that cmd is CCS_START_NETWORK, because it is compared to that value in an enclosing switch that has CCS_START_NETWORK as one of two case labels around this code. Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 3e8b4d006ed04b1ddb7450faee7fa429e2a00e48 Author: Ben Hutchings Date: Sat Nov 7 22:03:22 2009 +0000 zd1211rw: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit e01b0e0f90681072d29fe1ba6a29298683f42c15 Author: Ben Hutchings Date: Sat Nov 7 22:02:39 2009 +0000 zd1201: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 49f146de405cfb37c51976b8a682330b8cb2972e Author: Ben Hutchings Date: Sat Nov 7 22:02:15 2009 +0000 wl12xx: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit a830e6599263aa535e298f5f834f3a119050757f Author: Ben Hutchings Date: Sat Nov 7 22:01:55 2009 +0000 prism54: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 6f48d0e981c026572eac643ed43ebfb883048c14 Author: Ben Hutchings Date: Sat Nov 7 22:01:29 2009 +0000 orinoco: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 7e75b942f67a13a9980c5e2b4fa1993b20426284 Author: Ben Hutchings Date: Sat Nov 7 22:00:57 2009 +0000 mwl8k: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 790e7560c09a0184afcc00ac0f8df95de7468acc Author: Ben Hutchings Date: Sat Nov 7 22:00:38 2009 +0000 libertas_tf_usb: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit a974a4bbcb1ceddc9c89defd7dab4da4b2b53d77 Author: Ben Hutchings Date: Sat Nov 7 22:00:03 2009 +0000 libertas: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 328aca32783cc98088151ce905977c8e899e5fc9 Author: Ben Hutchings Date: Sat Nov 7 21:59:38 2009 +0000 iwmc3200wifi: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 873395a9fe15e5c42004e341b7d3632e6a273f73 Author: Ben Hutchings Date: Sat Nov 7 21:59:10 2009 +0000 ipw2200: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Zhu Yi Signed-off-by: John W. Linville commit a278ea3e423f7231934ba06a29592cddad8a6663 Author: Ben Hutchings Date: Sat Nov 7 21:58:47 2009 +0000 ipw2100: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Zhu Yi Signed-off-by: John W. Linville commit b98a032f6d9d4a5bc17490f67b13e5ca77c8410f Author: Ben Hutchings Date: Sat Nov 7 21:58:05 2009 +0000 atmel: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 202982dbf51ece7c2b49dc8b6066ff60cb02bcce Author: Ben Hutchings Date: Sat Nov 7 21:56:08 2009 +0000 at76c50x-usb: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit c286181d5bfd8703219b954284143cfadff60b9b Author: Michael Buesch Date: Sat Nov 7 18:54:22 2009 +0100 b43-pio: Fix RX error path for rev>=8 devices This fixes the RX error path for rev>=8 devices. The wrong register size and definitions were used. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6a6a5c7af130e703c23d23ebe3cde23e079e554e Author: Randy Dunlap Date: Fri Nov 6 15:35:15 2009 -0800 staging/wireless: don't build when NET etc. are not enabled These wireless drivers in staging could be built when CONFIG_NET=n, CONFIG_NETDEVICES=n, causing this build error: net/wireless/wext-priv.c: In function 'ioctl_private_call': net/wireless/wext-priv.c:206: error: implicit declaration of function 'call_commit_handler' due to faulty selects. Signed-off-by: Randy Dunlap Cc: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 309e731a619bee28ace609b0c4c3a0029b7e5394 Author: Ben Cahill Date: Fri Nov 6 14:53:03 2009 -0800 iwlwifi: MAC_ACCESS_REQ cleanup Add txq_id info to "Tx queue requesting wakeup" debug message Add "Rx queue requesting wakeup" debug message Move clear of CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ to be after nearby iwl_write_prph(), since iwl_write_prph() sets it and clears it. Almost removed it entirely, but just making sure in case someone removes the iwl_write_prph()! Also remove unneeded priv->lock usage; this is now handled by priv->reg_lock within iwl_clear_bit(). Join a couple of lines that had unneeded line returns. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f060face819401fb1f6456d362c5bc6672bba655 Author: Wey-Yi Guy Date: Fri Nov 6 14:53:02 2009 -0800 iwlwifi: Fix issue on file transfer stalled in HT mode Turn on RTS/CTS for HT to prevent uCode TX fifo underrun This is fix for http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2103 Signed-off-by: Wey-Yi Guy Tested-by: Jiajia Zheng Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8756990f99ecdfe64ed32cce878e36bddc16bdcc Author: Ben Cahill Date: Fri Nov 6 14:53:01 2009 -0800 iwlagn: update write pointers in iwl_irq_tasklet() Follow-up to "update write pointers for all tx queues after wakeup"; that patch changed iwl_irq_tasklet_legacy(), but not iwl_irq_tasklet(), so newer devices were not covered. Comments from original patch: Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a7e6611034530fce62f5499f77dd4fb6cde4d130 Author: Ben Cahill Date: Fri Nov 6 14:53:00 2009 -0800 iwlwifi: Add comments about MAC_ACCESS_REQ Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2a3b793d6a0ff30ad4a541230a6dba2ecb6fff1b Author: Ben Cahill Date: Fri Nov 6 14:52:59 2009 -0800 iwlwifi: Update comments for struct iwl_ssid_ie Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e585447189123de627ecbfaccab9d7a3328a5dd8 Author: Ben Cahill Date: Fri Nov 6 14:52:58 2009 -0800 iwlwifi: speed up event log dumps Take advantage of device's auto-increment for SRAM reads to eliminate extra write address accesses. Grab/release NIC access before/after entire read sequence, rather than for each read individually. After a quick check of dmesg logs, this seems to double Event Log dump speed, reducing from about 20 milliseconds to about 10 milliseconds for 512 entries using 3945. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 84c4069232a671b3739387949d5cb588dacbd24a Author: Ben Cahill Date: Fri Nov 6 14:52:57 2009 -0800 iwlwifi: Limit size of Event Log dump If device provides bad values for Event Log parameters (due to being asleep or SRAM corruption, etc.), the size can be very, very large (e.g. 0xa5a5a5a5), which can flood system log. Sanity-check capacity and next_entry values and limit to reasonable size dump. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6762f07fd55ff5e588aa5f0a1b70efe8e268a2e8 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:56 2009 -0800 iwlwifi: do not base station's sm_ps setting on AP Do not use AP's SM_PS setting for our own SM_PS setting. Reported-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 740e7f51c226076d8f8ccb203d9ba6258a5bcec7 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:55 2009 -0800 iwlwifi: drop non-production PCI-IDs Remove the support for all the PCI_IDs never make into production Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0924e519a3a18ffbfaa043f4a2c369140c5a235c Author: Wey-Yi Guy Date: Fri Nov 6 14:52:54 2009 -0800 iwlwifi: fix for channel switch Different channel has different configuration, need to pass correct configuration to uCode when send "channel switch" command to uCode. Invalid configuration will cause sysassert in uCode and produce un-expected result. Even it is a very small windows, but we also need to consider and handle the case if commit_rxon occurred before the "channel switch announcement" notification received from uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 681988653ed46a14032ac5fe2ee84eaae314b72e Author: Johannes Berg Date: Fri Nov 6 14:52:53 2009 -0800 iwlwifi: add FIFO usage for 5000 This is part of the code, but the comment doesn't have it, add pointers to the code and the FIFO usage for 5000 and up. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bed0a68f98d93c0abdc96b4c290a92c80234c182 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:52 2009 -0800 iwlwifi: remove un-used parameter Remove un-used parameter "recovery_rxon" from "priv" data structure Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a716557a5ed3b814cb32b8be79848d53e470871 Author: Johannes Berg Date: Fri Nov 6 14:52:51 2009 -0800 iwlwifi: fix FIFO vs. queue confusion When I added that code setting the swq_id, I evidently did not understand the distinction between FIFO and TX queue yet and added code to compare a queue ID and a FIFO number, which is bogus. However, the code there need not be this specific, it can just set all queues to the identity mapping which will be overwritten by the aggregation queue code. As a bit of defensive coding, don't assign an swq_id to the command queue so that if we ever use it for frames we notice quickly. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a221e6f7b48ee2d9352827af8aec8b49272b5b43 Author: Johannes Berg Date: Fri Nov 6 14:52:50 2009 -0800 iwlwifi: don't double-activate queue 4 The fourth queue (command queue) is already activated in the loop above that also maps it to the command FIFO and therefore doesn't need to be marked as activated again. Also change the TODO comment to be accurate -- we need to initialise the _queues_, not FIFOs, and map them to device FIFOs. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0748dc1fcd8589c0e215e26112320b76e7c9a262 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:49 2009 -0800 iwlwifi: no periodic Tx/IQ calibration for 6x00/6x50 series For both 6x00 and 6x50 series devices, periodic Tx IQ calibration is disabled in uCode, driver do not need to set the periodic Tx/IQ calibration bit in calibration command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b23aa883678aec0f5d9e96c9b3e416ec4fdf735e Author: Shanyu Zhao Date: Fri Nov 6 14:52:48 2009 -0800 iwlwifi: use configured valid rx chain for scan Use configured valid rx chains in scan command instead of ANT_ABC, correcting valid rx chain configuration of 4965, should be ANT_ABC instead of ANT_AB. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f1e3d7d428616c04ef71bee3c2b6f274b8947755 Author: Shanyu Zhao Date: Fri Nov 6 14:52:47 2009 -0800 iwlwifi: use only one chain for scan in PS When doing scan in power saving mode, choose only 1 valid RX chain instead of turning all chains on. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a643565efcdafdc37638aa5131ced91b2d3ddcb2 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:46 2009 -0800 iwlwifi: print rx_on config to help debug To help debug rx related issues, if IWL_DEBUG_RADIO flag is set, print the rxon configuration when rxon host command send to uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a3b6bd5bf23c5cd95389e24121da02d2330eaf21 Author: Zhu Yi Date: Fri Nov 6 14:52:45 2009 -0800 iwlwifi: allocate 128 bytes linear buffer for rx skb Allocate 128 bytes linear buffer for rx skb. The first 64 bytes is reserved for mac80211 usage (for radiotap header expansion, etc). The frame header starts from the second 64 bytes. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cf7ff8dfe64c8ca8a71b4fcbac357a3476ed1888 Author: Reinette Chatre Date: Fri Nov 6 14:52:44 2009 -0800 iwlwifi: change debug message to error in failure case Since these messages indicate failure we would be interested in seeing them always. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f54a52021d7ad039c16fe5a1e094d8f0394d90ec Author: Michael Buesch Date: Fri Nov 6 18:32:44 2009 +0100 b43: Rewrite TX bounce buffer handling Do not mess with the original skb, but allocate an independent bouncebuffer. This protects against bad interference with mac80211's assumptions about the skb (which already caused bugs). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2071a0084a0323697b7d6fd5a98982194bd6929f Merge: ff879eb d01032e Author: David S. Miller Date: Wed Nov 11 11:38:16 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h commit 196cf0d67acad70ebb2572da489d5cc7066cdd05 Author: Yinghai Lu Date: Tue Nov 10 18:27:23 2009 -0800 x86: Make sure wakeup trampoline code is below 1MB Instead of using bootmem, try find_e820_area()/reserve_early(), and call acpi_reserve_memory() early, to allocate the wakeup trampoline code area below 1M. This is more reliable, and it also removes a dependency on bootmem. -v2: change function name to acpi_reserve_wakeup_memory(), as suggested by Rafael. Signed-off-by: Yinghai Lu Acked-by: H. Peter Anvin Acked-by: Rafael J. Wysocki Cc: pm list Cc: Len Brown Cc: Linus Torvalds LKML-Reference: <4AFA210B.3020207@kernel.org> Signed-off-by: Ingo Molnar commit 9f15226e75583547aaf542c6be4bdac1060dd425 Author: Andreas Herrmann Date: Wed Nov 11 20:03:29 2009 +0100 x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle When switching a CPU offline/online and then doing suspend/resume, ucode is not updated on this CPU. This is due to the microcode_fini_cpu() call which frees uci->mc when setting the CPU offline: static void microcode_fini_cpu_amd(int cpu) { struct ucode_cpu_info *uci = ucode_cpu_info + cpu; vfree(uci->mc); uci->mc = NULL; } When the CPU is set online uci->mc is still NULL because no ucode update is required. Finally this prevents ucode update when resuming after suspend: static enum ucode_state microcode_resume_cpu(int cpu) { struct ucode_cpu_info *uci = ucode_cpu_info + cpu; if (!uci->mc) return UCODE_NFOUND; ... } Fix is to check whether uci->mc is valid before microcode_resume_cpu() is called. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091111190329.GF18592@alberich.amd.com> Signed-off-by: Ingo Molnar commit b285fab4185a9b3db953726f0dd9d343a6e389db Author: Avi Cohen Stuart Date: Tue Nov 10 22:43:46 2009 +0100 pcmcia: correct handling for Zoomed Video registers in topic.h Fix handling of Zoomed Video Registers in the Topic pcmcia controller ( http://bugzilla.kernel.org/show_bug.cgi?id=14581 ). The information has been retrieved from the Topic manual which can be obtained from Toshiba. The Zoomed Video is used with PCMCIA Cards like the Margi DVD-to-Go. [linux@dominikbrodowski.net: whitespace & commit message fix] Signed-off-by: Avi Cohen Stuart Signed-off-by: Dominik Brodowski commit e657ea17ef2d7f364e5c2625157f6cc0584ac7ad Author: Randy Dunlap Date: Wed Nov 11 09:31:07 2009 -0800 pcmcia: fix printk formats Fix printk format warnings on sizeof() [size_t] arguments. drivers/char/pcmcia/cm4040_cs.c:267: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'size_t' drivers/char/pcmcia/cm4040_cs.c:272: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'size_t' CC: Harald Welte Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski commit b18485e7acfe1a634615d1c628ef644c0d58d472 Author: FUJITA Tomonori Date: Thu Nov 12 00:03:28 2009 +0900 swiotlb: Remove the swiotlb variable usage POWERPC doesn't expect it to be used. This fixes the linux-next build failure reported by Stephen Rothwell: lib/swiotlb.c: In function 'setup_io_tlb_npages': lib/swiotlb.c:114: error: 'swiotlb' undeclared (first use in this function) Reported-by: Stephen Rothwell Signed-off-by: FUJITA Tomonori Cc: peterz@infradead.org LKML-Reference: <20091112000258F.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ad5ebd2fa2557b04a653bb3c3377a47da8f9b8e9 Author: Randy Dunlap Date: Wed Nov 11 13:47:45 2009 +0100 block: jiffies fixes Use HZ-independent calculation of milliseconds. Add jiffies.h where it was missing since functions or macros from it are used. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit ce6b5d768c79b9d5dd6345c033bae781d5ca9b8e Author: Yong Wang Date: Wed Nov 11 15:51:25 2009 +0800 x86: Mark the thermal init functions __init Mark the thermal init functions __init so that the init memory can be freed. Signed-off-by: Yong Wang LKML-Reference: <20091111075125.GA17900@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 2315ffa0a9f789c588c7139effa7404a387d8685 Author: Eric W. Biederman Date: Fri Apr 3 03:18:02 2009 -0700 sysctl: Don't look at ctl_name and strategy in the generic code The ctl_name and strategy fields are unused, now that sys_sysctl is a compatibility wrapper around /proc/sys. No longer looking at them in the generic code is effectively what we are doing now and provides the guarantee that during further cleanups we can just remove references to those fields and everything will work ok. Signed-off-by: Eric W. Biederman commit 6fce56ec91b502ba6fcbbc2a6d25a8c2c7f77934 Author: Eric W. Biederman Date: Fri Apr 3 02:30:53 2009 -0700 sysctl: Remove references to ctl_name and strategy from the generic sysctl table Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Signed-off-by: Eric W. Biederman commit 83ac201b4f06eb8aeb7ac93cf162651ba30e0b28 Author: Eric W. Biederman Date: Fri Apr 3 02:22:26 2009 -0700 sysctl: Remove dead code from sysctl_check Now that the sys_sysctl is now a compatibility wrapper around /proc/sys we can remove much of sysctl_check and reduce it to a few remaining sanity checks. This completely decouples it from the binary sysctl system call. Little things like ensuring that the sysctl has not already been registered are all that remain. Signed-off-by: Eric W. Biederman commit a965cf946d38b0ff164a054477a91df70b0dd997 Author: Eric W. Biederman Date: Fri Apr 3 02:02:58 2009 -0700 sysctl: Neuter the generic sysctl strategy routines. Now that sys_sysctl is a compatibility layer on top of /proc/sys these routines are never called but are still put in sysctl tables so I have reduced them to stubs until they can be removed entirely. Signed-off-by: Eric W. Biederman commit 26a7034b40ba80f82f64fa251a2cbf49f9971c6a Author: Eric W. Biederman Date: Thu Nov 5 05:26:41 2009 -0800 sysctl: Reduce sys_sysctl to a compatibility wrapper around /proc/sys To simply maintenance and to be able to remove all of the binary sysctl support from various subsystems I have rewritten the binary sysctl code as a compatibility wrapper around proc/sys. The code is built around a hard coded table based on the table in sysctl_check.c that lists all of our current binary sysctls and provides enough information to convert from the sysctl binary input into into ascii and back again. New in this patch is the realization that the only dynamic entries that need to be handled have ifname as the asscii string and ifindex as their ctl_name. When a sys_sysctl is called the code now looks in the translation table converting the binary name to the path under /proc where the value is to be found. Opens that file, and calls into a format conversion wrapper that calls fop->read and then fop->write as appropriate. Since in practice the practically no one uses or tests sys_sysctl rewritting the code to be beautiful is a little silly. The redeeming merit of this work is it allows us to rip out all of the binary sysctl syscall support from everywhere else in the tree. Allowing us to remove a lot of dead (after this patch) and barely maintained code. In addition it becomes much easier to optimize the sysctl implementation for being the backing store of /proc/sys, without having to worry about sys_sysctl. Signed-off-by: Eric W. Biederman commit a2f6309e8392e2c14c04594fca8b4876c8c9bc36 Author: Takashi Iwai Date: Wed Nov 11 09:34:25 2009 +0100 ALSA: hda - Add power on/off counter Added the power on/off counter and expose via sysfs files. The sysfs files, power_on_acct and power_off_acct, are created under each codec hwdep sysfs directory (e.g. /sys/class/sound/hwC0D0). The files show the msec length of the codec power-on and power-off, respectively. Signed-off-by: Takashi Iwai commit 8c8def26bfaa704db67d515da3eb92cf26067548 Author: Linus Torvalds Date: Mon Nov 9 12:04:32 2009 -0800 PCI: allow matching of prefetchable resources to non-prefetchable windows I'm not entirely sure it needs to go into 32, but it's probably the right thing to do. Another way of explaining the patch is: - we currently pick the _first_ exactly matching bus resource entry, but the _last_ inexactly matching one. Normally first/last shouldn't matter, but bus resource entries aren't actually all created equal: in a transparent bus, the last resources will be the parent resources, which we should generally try to avoid unless we have no choice. So "first matching" is the thing we should always aim for. - the patch is a bit bigger than it needs to be, because I simplified the logic at the same time. It used to be a fairly incomprehensible if ((res->flags & IORESOURCE_PREFETCH) && !(r->flags & IORESOURCE_PREFETCH)) best = r; /* Approximating prefetchable by non-prefetchable */ and technically, all the patch did was to make that complex choice be even more complex (it basically added a "&& !best" to say that if we already gound a non-prefetchable window for the prefetchable resource, then we won't override an earlier one with that later one: remember "first matching"). - So instead of that complex one with three separate conditionals in one, I split it up a bit, and am taking advantage of the fact that we already handled the exact case, so if 'res->flags' has the PREFETCH bit, then we already know that 'r->flags' will _not_ have it. So the simplified code drops the redundant test, and does the new '!best' test separately. It also uses 'continue' as a way to ignore the bus resource we know doesn't work (ie a prefetchable bus resource is _not_ acceptable for anything but an exact match), so it turns into: /* We can't insert a non-prefetch resource inside a prefetchable parent .. */ if (r->flags & IORESOURCE_PREFETCH) continue; /* .. but we can put a prefetchable resource inside a non-prefetchable one */ if (!best) best = r; instead. With the comments, it's now six lines instead of two, but it's conceptually simpler, and I _could_ have written it as two lines: if ((res->flags & IORESOURCE_PREFETCH) && !best) best = r; /* Approximating prefetchable by non-prefetchable */ but I thought that was too damn subtle. Signed-off-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 5d7bdab75cd56d2bdc0986ae5546be3b09fea70a Author: Michael Cree Date: Wed Nov 11 20:43:03 2009 +1300 perf tools: Test -fstack-protector-all compiler option for inclusion in CFLAGS Some architectures (e.g. Alpha) do not support the -fstack-protector-all compiler option and the use of the option with -Werror causes the compiler to abort and the build fails. Test that the compiler supports -fstack-protector-all before inclusion in CFLAGS. Signed-off-by: Michael Cree Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091111074302.GA3728@omega> Signed-off-by: Ingo Molnar commit 9e827dd00a94136b944a538bede67c944d0b740a Author: Frederic Weisbecker Date: Wed Nov 11 04:51:07 2009 +0100 perf tools: Bring linear set of section headers for features Build a set of section headers for features right after the datas. Each implemented feature will have one of such section header that provides the offset and the size of the data manipulated by the feature. The trace informations have moved after the data and are recorded on exit time. The new layout is as follows: ----------------------- ___ [ magic ] | [ header size ] | [ attr size ] | [ attr content offset ] | [ attr content size ] | [ data offset ] File Headers [ data size ] | [ event_types offset ] | [ event_types size ] | [ feature bitmap ] v [ attr section ] [ events section ] ___ [ X ] | [ X ] | [ X ] Datas [ X ] | [ X ] v ___ [ Feature 1 offset ] | [ Feature 1 size ] Features headers [ Feature 2 offset ] | [ Feature 2 size ] v [ Feature 1 content ] [ Feature 2 content ] ----------------------- We have as many feature's section headers as we have features in use for the current file. Say Feat 1 and Feat 3 are used by the file, but not Feat 2. Then the feature headers will be like follows: [ Feature 1 offset ] | [ Feature 1 size ] Features headers [ Feature 3 offset ] | [ Feature 3 size ] v There is no hole to cover Feature 2 that is not in use here. We only need to cover the needed headers in order, from the lowest feature bit to the highest. Currently we have two features: HEADER_TRACE_INFO and HEADER_BUILD_ID. Both have their contents that follow the feature headers. Putting the contents right after the feature headers is not mandatory though. While we keep the feature headers right after the data and in order, their offsets can point everywhere. We have just put the two above feature contents in the end of the file for convenience. The purpose of this layout change is to have a file format that scales while keeping it simple: having such linear feature headers is less error prone wrt forward/backward compatibility as the content of a feature can be put anywhere, its location can even change by the time, it's fine because its headers will tell where it is. And we know how to find these headers, following the above rules. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3e13ab2d83b6867a20663c73c184f29c2fde1558 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:06 2009 +0100 perf tools: Use perf_header__set/has_feat whenever possible And drop the alternate checks/sets using set_bit or other kind of helpers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4778d2e4f410c6eea32f594cb2be9590bcb28b84 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:05 2009 +0100 perf tools: Read the build-ids from the header layer Keep the build-ids reading implementation in the data mapping but move its call to the headers so that we have a better control on it (offset seeking, size passing, etc..). Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 57f395a7eabb913d3605d7392be5bdb0837c9f3d Author: Frederic Weisbecker Date: Wed Nov 11 04:51:04 2009 +0100 perf tools: Split up build id saving into fetch and write We are saving the build id once we stop the profiling. And only after doing that we know if we need to set that feature in the header through the feature bitmap. But if we want a proper feature support in the headers, using a rule of offset/size pairs in sections, we need to know in advance how many features we need to set in the headers, so that we can reserve rooms for their section headers. The current state doesn't allow that, as it forces us to first save the build-ids to the file right after the datas instead of planning any structured layout. That's why this splits up the build-ids processing in two parts: one that fetches the build-ids from the Dso objects, and one that saves them into the file. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8671dab9d5b2f0b444b8d09792384dccbfd43d14 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:03 2009 +0100 perf tools: Move the build-id storage operations to headers So that it makes easier to control it. Especially because we plan to give it a feature section. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit de8967214d8ce536161a1ad6538ad1cb82e7428d Author: Frederic Weisbecker Date: Wed Nov 11 04:51:02 2009 +0100 perf tools: Synthetize the targeted process Don't forget to also synthetize the targeted process from perf record or we'll miss its dso in the events and then we won't be able to deal with its build-id. We are missing it because it is created after the existing synthetized tasks but before the counters are enabled and can send its mapping event. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ff879eb611dba859c4349048a32789e8c82afa91 Author: stephen hemminger Date: Tue Nov 10 07:54:56 2009 +0000 CAN: use dev_get_by_index_rcu Use new function to avoid doing read_lock(). Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 61fbab77a843d2e772322ac130715cc9a98bf718 Author: stephen hemminger Date: Tue Nov 10 07:54:55 2009 +0000 IPV4: use rcu to walk list of devices in IGMP This also needs to be optimized for large number of devices. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e84446de5cccd90de7d7ec46527d3b343b022a09 Author: Randy Dunlap Date: Tue Nov 10 15:46:52 2009 -0800 x86 VSDO: Fix Kconfig help COMPAT_VDSO has 2 help text blocks, but kconfig only uses the last one found, so merge the 2 blocks. It would be real nice if kconfig would warn about this. Signed-off-by: Randy Dunlap LKML-Reference: <4AF9FB6C.70003@oracle.com> Signed-off-by: Ingo Molnar commit fa918602b61a71b4a9f47861b7e65c70258516c1 Author: stephen hemminger Date: Tue Nov 10 07:54:53 2009 +0000 decnet: use RCU to find network devices When showing device statistics use RCU rather than read_lock(&dev_base_lock) Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e576b9ef41c2c1b13e0c123b6e9d0589723c68bf Author: stephen hemminger Date: Tue Nov 10 07:54:52 2009 +0000 s390: use RCU to walk list of network devices This is similar to other cases where for_each_netdev_rcu can be used when gathering information. By inspection, don't have platform or cross-build environment to validate. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f1e9016da6d0f16551d90085758ae45d26826118 Author: stephen hemminger Date: Tue Nov 10 07:54:49 2009 +0000 net: use rcu for network scheduler API Use RCU to walk list of network devices in qdisc dump. This could be optimized for large number of devices. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 9e067597ee0e51a07bc158e9e2703ca676920e8b Author: stephen hemminger Date: Tue Nov 10 07:54:48 2009 +0000 vlan: eliminate use of dev_base_lock Do not need to use read_lock(&dev_base_lock), use RCU instead. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 254245d23396aca1f9100d500163d7bd6019ab6f Author: stephen hemminger Date: Tue Nov 10 07:54:47 2009 +0000 netdev: add netdev_continue_rcu This adds an RCU macro for continuing search, useful for some network devices like vlan. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 856540ee3116ac04a49bc06c2f30f54dd3faf7db Author: Brian Haley Date: Mon Nov 9 12:05:53 2009 +0000 IPv6: use ipv6_addr_v4mapped() Change udp6_portaddr_hash() to use ipv6_addr_v4mapped() inline instead of ipv6_addr_type(). Signed-off-by: Brian Haley Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 246c65add098a5ec14310ea17f39fdd57ff8407d Author: Eric Dumazet Date: Mon Nov 9 18:07:28 2009 +0000 parisc: led: Use for_each_netdev_rcu() Use for_each_netdev_rcu() and dont lock dev_base_lock anymore Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 292f4f3ce4b57f17a667cb34c72bca081dcc0281 Author: Herbert Xu Date: Mon Nov 9 08:42:01 2009 +0000 sit: Clean up DF code by copying from IPIP This patch rearranges the SIT DF bit handling using the new IPIP DF code. The only externally visible effect should be the case where PMTU is enabled and the MTU is exactly 1280 bytes. In this case the previous code would send packets out with DF off while the new code would set the DF bit. This is inline with RFC 4213. Signed-off-by: Herbert Xu Thanks, Signed-off-by: David S. Miller commit bcd323262a94b14b84341982b90443a76a477861 Author: Eric Dumazet Date: Mon Nov 9 07:40:17 2009 +0000 ipv6: Allow inet6_dump_addr() to handle more than 64 addresses Apparently, inet6_dump_addr() is not able to handle more than 64 ipv6 addresses per device. We must break from inner loops in case skb is full, or else cursor is put at the end of list. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 84d2697d9649339215675551eae28ba04068dea1 Author: Eric Dumazet Date: Mon Nov 9 12:11:28 2009 +0000 ipv6: speedup inet6_dump_ifinfo() When handling large number of netdevice, inet6_dump_ifinfo() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the 256 sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 13cfa97bef0f1172879f98307ac716acf3e9cea9 Author: Cyrill Gorcunov Date: Sun Nov 8 05:51:19 2009 +0000 net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guard Use guard DECLARE_SOCKADDR in a few more places which allow us to catch if the structure copied back is too big. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71 Author: Ben Hutchings Date: Wed Nov 4 15:29:52 2009 +0000 usbnet: Set link down initially for drivers that update link state Some usbnet drivers update link state while others do not due to hardware limitations. Add a flag to distinguish those that do, and set the link down initially for their devices. This is intended to fix this bug: http://bugs.debian.org/444043 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8cbd9623da7e7a99c6bd0f0b7d21d17c233c6abb Author: Marin Mitov Date: Sun Nov 8 05:59:27 2009 +0000 niu: Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASK Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASK Signed-off-by: Marin Mitov Signed-off-by: David S. Miller commit 30fff9231fad757c061285e347b33c5149c2c2e4 Author: Eric Dumazet Date: Mon Nov 9 05:26:33 2009 +0000 udp: bind() optimisation UDP bind() can be O(N^2) in some pathological cases. Thanks to secondary hash tables, we can make it O(N) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ab365f463b9c5c8b76476a1808dfde1c38f6f19 Author: Eilon Greenstein Date: Mon Nov 9 06:09:37 2009 +0000 bnx2x: version 1.52.1-4 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7d323bfdc056a9142b8bdbab88e4d3ac6e4989e4 Author: Eilon Greenstein Date: Mon Nov 9 06:09:35 2009 +0000 bnx2x: Change coalescing granularity to 4us Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 91545f6e588c601d1dff01d396155d973db83a31 Author: Eilon Greenstein Date: Mon Nov 9 06:09:28 2009 +0000 bnx2x: Remove misleading error print Failing to allocate MSI-X vectors is not an error and should not be printed as such Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d6a2f98b0128ad1225f959610ba21b6679b7cd96 Author: Eilon Greenstein Date: Mon Nov 9 06:09:22 2009 +0000 bnx2x: GSO implies CSUM offload Making sure that whenever the FW/HW is configured for GSO, it is also configured to CSUM offload Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b1704374fd525e50c44e1a03098728f64231a6f5 Author: Rémi Denis-Courmont Date: Mon Nov 9 04:06:40 2009 +0000 Phonet: allocate and copy for pipe TX without sock lock Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 6b0d07ba152893b40f1014a9db8da5aa564aa00e Author: Rémi Denis-Courmont Date: Mon Nov 9 02:17:01 2009 +0000 Phonet: put sockets in a hash table Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 4a9b5e5053a184ada2e9b19aee12b6200bb8980f Author: Ben Hutchings Date: Tue Nov 10 20:30:37 2009 -0800 speedfax: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8489992e723b5def1a807e615854f51b75d10600 Author: Ben Hutchings Date: Sat Nov 7 12:04:09 2009 +0000 pcnet-cs: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b3ccbb24e8914973be0d2ee7b66e44cecaed9bf5 Author: Ben Hutchings Date: Sat Nov 7 11:55:20 2009 +0000 tms380tr: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 866691a21e8c9dfc58c5ab1ed77d5c41e779755b Author: Ben Hutchings Date: Sat Nov 7 11:55:07 2009 +0000 spider-net: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b9721d5a2fa00ad979c19a9511d43d2664d5381c Author: Ben Hutchings Date: Sat Nov 7 11:54:44 2009 +0000 myri10ge: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 34336ec032878d1a32e7df881f16ce2145e53f83 Author: Ben Hutchings Date: Sat Nov 7 11:53:52 2009 +0000 cxgb3: declare MODULE_FIRMWARE Replace run-time string formatting with preprocessor string manipulation. Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 45229b420f90bb6736dfeb7e491eb46cb02a3e9c Author: Ben Hutchings Date: Sat Nov 7 11:53:39 2009 +0000 bnx2x: declare MODULE_FIRMWARE Replace run-time string formatting with preprocessor string manipulation. Signed-off-by: Ben Hutchings Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e8c0ae2c04372248f2f6940a5984f5748aae9664 Author: Ben Hutchings Date: Sat Nov 7 11:46:07 2009 +0000 ambassador: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9fca79d67031203ab1c3b59807aec261d7bb5539 Author: Ben Hutchings Date: Sat Nov 7 11:40:32 2009 +0000 solos-pci: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 36c04a61f516742dad6f9bad8c6c1a7137a260f5 Author: Ben Hutchings Date: Sat Nov 7 11:37:36 2009 +0000 netx: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Sascha Hauer Signed-off-by: David S. Miller commit 4efc50d697ed8d9a91f0005d922907a7b6c9290d Author: Jesse Barnes Date: Tue Nov 10 08:21:25 2009 +0000 drm: when queuing an event with NEXTONMISS, return queued sequence to userspace If we queue a vblank event but miss it, we should return the actual sequence number we queued to userspace, so its event handling function will know which event to look for. Acked-by: Kristian Høgsberg Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 774facda20d2f8f0f61fa312d8028dad18ac5ee4 Merge: b419148 ce491cf Author: Tony Lindgren Date: Tue Nov 10 18:10:34 2009 -0800 Merge branch '7xx-iosplit-plat' with omap-fixes commit a4d9d0b8a8d2a81b3189bd99482aab967ce86120 Author: Paul Mundt Date: Wed Nov 11 10:56:13 2009 +0900 sh: Enable PMB support for all SH-4A CPUs. Presently the PMB options were limited to a number of CPUs they were tested with, but it is generally available on all SH-4A CPUs, so just drop the subtype conditionals. Signed-off-by: Paul Mundt commit 6635529987cd01f9af0c3996cf2e7b9e2bbb4aa7 Author: Linus Walleij Date: Wed Nov 4 00:00:44 2009 +0100 ARM: 5783/1: Make it possible for U300 LDO D to shut down This changes the regulator platform config for U300 so that the LDO D regulator can change status and shut down the system and the pm_shutdown() hook in regulator.c starts working. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 01c62c9b32ec122bf5e3edeecec4d826cb8e81e5 Author: Uwe Kleine-König Date: Tue Nov 3 20:39:02 2009 +0100 ARM: 5782/1: at91: support for eco920 CONFIG_MACH_ECO920 is enabled in at91rm9200dk_defconfig. The name is wrong, but this is better than adding another defconfig or don't get compile coverage at all. Signed-off-by: Uwe Kleine-König Acked-by: Andrew Victor Signed-off-by: Russell King commit 1ea60cf7062271f0d53d09268726aa1544bf4836 Author: Albin Tonnerre Date: Sun Nov 1 18:40:50 2009 +0100 ARM: 5778/1: AT91: Add cpuidle support This patch adds the support for cpuidle on AT91 SoCs, taken from the cpuidle support in mach-kirkwood. cpuidle needs sdram_selfrefresh_enable and _disable, so move their definition to a separate header file instead of duplicating the code already used in pm.c. Tested-by: Nicolas Ferre Signed-off-by: Albin Tonnerre Acked-by: Andrew Victor Signed-off-by: Russell King commit c64ac3ce06558e534aec62b1fadeb0a3f111dac1 Author: Paul E. McKenney Date: Tue Nov 10 13:37:22 2009 -0800 rcu: Simplify association of quiescent states with grace periods The rdp->passed_quiesc_completed fields are used to properly associate the recorded quiescent state with a grace period. It is OK to wrongly associate a given quiescent state with a preceding grace period, but it is fatal to associate a given quiescent state with a grace period that begins after the quiescent state occurred. Grace periods are numbered, and the following fields track them: o ->gpnum is the number of the grace period currently in progress, or the number of the last grace period to complete if no grace period is currently in progress. o ->completed is the number of the last grace period to have completed. These two fields are equal if there is no grace period in progress, otherwise ->gpnum is one greater than ->completed. But the rdp->passed_quiesc_completed field compared against ->completed, and if equal, the quiescent state is presumed to count against the current grace period. The earlier code copied rdp->completed to rdp->passed_quiesc_completed, which has been made to work, but is error-prone. In contrast, copying one less than rdp->gpnum is guaranteed safe, because rdp->gpnum is not incremented until after the start of the corresponding grace period. At the end of the grace period, when ->completed has incremented, then any quiescent periods recorded previously will be discarded. 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: <12578890421011-git-send-email-> Signed-off-by: Ingo Molnar commit 4bcfe055030d9e953945def3864f7e6997b27782 Author: Paul E. McKenney Date: Tue Nov 10 13:37:21 2009 -0800 rcu: Rename dynticks_completed to completed_fqs This field is used whether or not CONFIG_NO_HZ is set, so the old name of ->dynticks_completed is quite misleading. Change to ->completed_fqs, given that it the value that force_quiescent_state() is trying to drive the ->completed field away from. 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: <12578890423298-git-send-email-> Signed-off-by: Ingo Molnar commit 956539b75921f561c0956c22d37320780e8b4ba1 Author: Paul E. McKenney Date: Tue Nov 10 13:37:20 2009 -0800 rcu: Enable synchronize_sched_expedited() fastpath This patch adds a counter increment to enable tasks to actually take the synchronize_sched_expedited() function's fastpath. 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: <1257889042435-git-send-email-> Signed-off-by: Ingo Molnar commit dbe01350fa8ce0c11948ab7d6be71a4d901be151 Author: Paul E. McKenney Date: Tue Nov 10 13:37:19 2009 -0800 rcu: Remove inline from forward-referenced functions Some variants of gcc are reputed to dislike forward references to functions declared "inline". Remove the "inline" keyword from such functions. 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: <12578890422402-git-send-email-> Signed-off-by: Ingo Molnar commit 200a9ae2801bc725f2c41ab13f6e0fb1610d2fb6 Author: Dimitri Sivanich Date: Tue Nov 10 13:58:35 2009 -0600 x86: Remove asm/apicnum.h arch/x86/include/asm/apicnum.h is not referenced anywhere anymore. Its definitions appear in apicdef.h. Remove it. Signed-off-by: Dimitri Sivanich Acked-by: Cyrill Gorcunov Acked-by: Mike Travis LKML-Reference: <20091110195835.GA4393@sgi.com> Signed-off-by: Ingo Molnar commit e02e0e1a130b9ca37c5186d38ad4b3aaf58bb149 Author: Dave Jones Date: Tue Nov 10 15:01:20 2009 -0500 x86: Fix typo in Intel CPU cache size descriptor I double-checked the datasheet. One of the existing descriptors has a typo: it should be 2MB not 2038 KB. Signed-off-by: Dave Jones Cc: # .3x.x: 85160b9: x86: Add new Intel CPU cache size descriptors Cc: # .3x.x LKML-Reference: <20091110200120.GA27090@redhat.com> Signed-off-by: Ingo Molnar commit ffd44db5f02af32bcc25a8eb5981bf02a141cdab Author: Peter Zijlstra Date: Tue Nov 10 20:12:01 2009 +0100 sched: Make sure task has correct sched_class after policy change From the code in rt_mutex_setprio(), it is evident that the intention is that task's with a RT 'prio' value as a consequence of receiving a PI boost also have their 'sched_class' field set to '&rt_sched_class'. However, Peter noticed that the code in __setscheduler() could result in this intention being frustrated. Fix it. Reported-by: Peter Williams Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <1257880321.4108.457.camel@laptop> Signed-off-by: Ingo Molnar commit 85160b92fbd35321104819283c91bfed2b553e3c Author: Dave Jones Date: Tue Nov 10 13:49:24 2009 -0500 x86: Add new Intel CPU cache size descriptors The latest rev of Intel doc AP-485 details new cache descriptors that we don't yet support. 12MB, 18MB and 24MB 24-way assoc L3 caches. Signed-off-by: Dave Jones LKML-Reference: <20091110184924.GA20337@redhat.com> Signed-off-by: Ingo Molnar commit c5659b74f052150791750234f92dcfb29d27efa5 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:02 2009 +0900 perf bench: Improve sched-message.c with more comfortable output This patch improves sched-message.c with more comfortable output. Change points are comment style description and formatting numerical values and its units. Example: | % perf bench sched messaging | # Running sched/messaging benchmark... | # 20 sender and receiver processes per group | # 10 groups == 400 processes run | | Total time: 1.490 [sec] Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras commit ff676b193a401b23c84a79a7ec06559f3eaae917 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:01 2009 +0900 perf bench: Improve sched-pipe.c with more comfortable output This patch improves sched-pipe.c with more comfortable output. Change points are comment style description and formatting numerical values and its units. Example: | % ./perf bench sched pipe | # Running sched/pipe benchmark... | # Extecuted 1000000 pipe operations between two tasks | | Total time:5.822 [sec] | | 5.822553 usecs/op | 171745 ops/sec Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 79e295d4bd0f524257299e7c4e42f643f21abcc2 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:00 2009 +0900 perf bench: Improve builtin-bench.c for more friendly output This patch makes output of perf bench more friendly. Current style of putput, keeping user wait and printing everything suddenly when we finish, may confuse users. So I improved it: | % perf bench sched messaging | # Running sched/messaging benchmark... <- printed right after invocation | # 20 sender and receiver processes per group | # 10 groups == 400 processes run | | Total time: 1.476 [sec] Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 8f217a226cfa7b960b8a6c00cef6b4de2c5dd030 Author: Takashi Iwai Date: Tue Nov 10 18:26:12 2009 +0100 ALSA: hda - Add missing export for snd_hda_bus_reboot_notify ... forgot to add for modules. Signed-off-by: Takashi Iwai commit 7584af10cf46e0f4aa1696f1be79fa0f19a945ba Author: Clemens Ladisch Date: Tue Nov 10 10:14:04 2009 +0100 sound: rawmidi: record a substream's owner process Record the pid of the task that opened a RawMIDI substream. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e7373b702f6eab35f315e016a4159860a7a4d686 Author: Clemens Ladisch Date: Tue Nov 10 10:13:30 2009 +0100 sound: pcm: record a substream's owner process Record the pid of the task that opened a PCM substream. For sound cards with hardware mixing, this allows determining which process is associated with a specific substream's volume control. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 91d12c485b8949cce6c13ab641147c5bc86ce8b9 Author: Clemens Ladisch Date: Wed Oct 21 09:12:26 2009 +0200 sound: rawmidi: fix opened substreams count The substream_opened field is to count the number of opened substreams, not the number of times that any substreams have been opened. Furthermore, all substreams being opened does not imply that the next open would fail, due to the possibility of O_APPEND. With this wrong check, opening a substream multiple times would succeed only if the device had more unopened substreams. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3f225c07c7d0559f65b41250edd01a577fdba426 Merge: b7fe750 25d27ed Author: Takashi Iwai Date: Tue Nov 10 16:30:03 2009 +0100 Merge branch 'topic/ctl-pid-lock' into topic/core-change commit e3303235209c0496b490e10ab131e72a9568c153 Author: Jaroslav Kysela Date: Tue Nov 10 14:53:02 2009 +0100 ALSA: hda - proc - show which I/O NID is associated to PCM device Output something like: Node 0x02 [Audio Output] wcaps 0x11: Stereo Device: name="ALC888 Analog", type="Audio", device=0, substream=0 Converter: stream=0, channel=0 ... Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit fb8d1a344dbe963f16249d07eee8415e93f9f3c2 Author: Takashi Iwai Date: Tue Nov 10 16:02:29 2009 +0100 ALSA: hda - Add reboot notifier to each codec Add reboot notifier to each codec so that it can do some workarounds needed for reboot. So far, patch_sigmatel.c calls its shutup routine for avoiding noises at reboot on some HP machines. References: Novell bnc#544779 http://bugzilla.novell.com/show_bug.cgi?id=544779 Signed-off-by: Takashi Iwai commit b4941a9a606f0131559cc040b64e8437ac7b32c5 Author: Ingo Molnar Date: Tue Nov 10 14:37:58 2009 +0100 x86: Add iommu_init to x86_init_ops, fix build Most of the time x86_init.h is included in pci-dma.c - but not always, leading to this rare build failure: arch/x86/kernel/pci-dma.c:296: error: 'x86_init' undeclared (first use in this function) So include asm/x86_init.h explicitly. Cc: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8d8d61aadb9d8cce07f7dcdb77a4c20a25d36d07 Author: Hitoshi Mitake Date: Tue Nov 10 20:50:55 2009 +0900 perf bench: Modify command-list.txt for the entry of perf-bench This patch modifies command-list.txt for the entry of perf-bench. So perf will show 'bench' in command list. Example: % perf usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code bench General framework for benchmark suites ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ list List all symbolic event types probe Define new dynamic tracepoints record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile sched Tool to trace/measure scheduler properties (latencies) stat Run a command and gather performance counter statistics timechart Tool to visualize total system behavior during a workload top System profiling tool. trace Read perf.data (created by perf record) and display trace output See 'perf help COMMAND' for more information on a specific command. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 9fbc04f2493929a69fd9e53b5fb53c127d7950d5 Author: Hitoshi Mitake Date: Tue Nov 10 20:50:54 2009 +0900 perf bench: Add new document about perf-bench This patch adds new document about perf-bench. Man page and html will be provided for user. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 606bc1e18d346fc7d7fb333909cc95b06b1ca5b1 Author: Ingo Molnar Date: Tue Nov 10 20:50:53 2009 +0900 perf bench: Clean up bench/bench.h Clean up initializers in bench.h: - No need to break the line for function prototypes, they are more readable in a single line. (even if checkpatch complains about it - We try to align definitions / structure fields vertically, to make it all a bit more readable. Signed-off-by: Ingo Molnar Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-2-git-send-email-mitake@dcl.info.waseda.ac.jp> commit 72d03802b8b5c841ab1da82bff0652628cbadf60 Author: FUJITA Tomonori Date: Tue Nov 10 21:35:17 2009 +0900 x86, 32-bit: Fix swiotlb boot crash Ingo Molnar reported this boot crash: [ 8.655620] pata_amd 0000:00:06.0: version 0.4.1 [ 8.660286] BUG: unable to handle kernel NULL pointer dereference at 00000034 [ 8.663572] IP: [] dma_supported+0x3b/0xa4 [ 8.663572] *pde = 00000000 Initialize dma_ops properly in the 32-bit case. Signed-off-by: Ingo Molnar commit a68cc8daebdd8ba7fe457ab4b2a0ccdf3cedc9f8 Author: Grant Likely Date: Mon Nov 9 09:40:09 2009 -0700 ASoC: mpc5200: remove duplicate identical IRQ handler The TX and RX irq handlers are identical. Merge them Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 68d019553b8cc4ddac7f861e23efbe48a1367490 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:20 2009 +0200 ASoC: TWL4030: Do not modify the APLL_CTL register APLL_CTL register is configured by the twl4030-codec MFD driver. Remove code, which makes changes in the APLL_CTL register, and replace those with checks against the configured audio_mclk configuration done in the MFD driver. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0969afcc449d5d655784c04e938cf4cfc6e89c0e Merge: 5f63ef9 f9b4639 Author: Mark Brown Date: Tue Nov 10 12:08:12 2009 +0000 Merge branch 'twl4030-mfd' into for-2.6.33 commit f9b4639e045c750e2bad37462476403995508350 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:19 2009 +0200 MFD: twl4030-codec: APLL_INFREQ handling in the MFD driver Configure the APLL_INFREQ field in the APLL_CTL register based on the platform data. Provide also a function for childs to query the audio_mclk frequency. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 953e2f3d272db9db6671ad4f4244820557a71cf7 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:18 2009 +0200 OMAP: Configure audio_mclk for twl4030-codec MFD audio_mclk value is going to be handled by the twl4030-codec MFD driver, configure the correct value for boards, which is using the twl4030 audio. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit cfd5324e699a2e74a44642d43dcf03d581f2a7db Author: Peter Ujfalusi Date: Wed Nov 4 09:58:17 2009 +0200 MFD: TWL4030: Add audio_mclk to the codec platform data Add audio_mclk to the platform data struct for the twl4030-codec MFD driver. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 5f63ef9909c187581c7f2c28fbc93866a0d59f7f Author: Graeme Gregory Date: Mon Nov 9 19:02:15 2009 +0000 ASoC: omap-mcbsp - add support for upto 16 channels. This patch increases the number of supported audio channels from 4 to 16 and has been sponsored by Shotspotter Inc. It also fixes a FSYNC rate calculation bug when McBSP is FSYNC master. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Acked-by: Peter Ujfalusi Tested-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 75f1cdf1dda92cae037ec848ae63690d91913eac Author: FUJITA Tomonori Date: Tue Nov 10 19:46:20 2009 +0900 x86: Handle HW IOMMU initialization failure gracefully If HW IOMMU initialization fails (Intel VT-d often does this, typically due to BIOS bugs), we fall back to nommu. It doesn't work for the majority since nowadays we have more than 4GB memory so we must use swiotlb instead of nommu. The problem is that it's too late to initialize swiotlb when HW IOMMU initialization fails. We need to allocate swiotlb memory earlier from bootmem allocator. Chris explained the issue in detail: http://marc.info/?l=linux-kernel&m=125657444317079&w=2 The current x86 IOMMU initialization sequence is too complicated and handling the above issue makes it more hacky. This patch changes x86 IOMMU initialization sequence to handle the above issue cleanly. The new x86 IOMMU initialization sequence are: 1. we initialize the swiotlb (and setting swiotlb to 1) in the case of (max_pfn > MAX_DMA32_PFN && !no_iommu). dma_ops is set to swiotlb_dma_ops or nommu_dma_ops. if swiotlb usage is forced by the boot option, we finish here. 2. we call the detection functions of all the IOMMUs 3. the detection function sets x86_init.iommu.iommu_init to the IOMMU initialization function (so we can avoid calling the initialization functions of all the IOMMUs needlessly). 4. if the IOMMU initialization function doesn't need to swiotlb then sets swiotlb to zero (e.g. the initialization is sucessful). 5. if we find that swiotlb is set to zero, we free swiotlb resource. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-10-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ad32e8cb86e7894aac51c8963eaa9f36bb8a4e14 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:19 2009 +0900 swiotlb: Defer swiotlb init printing, export swiotlb_print_info() This enables us to avoid printing swiotlb memory info when we initialize swiotlb. After swiotlb initialization, we could find that we don't need swiotlb. This patch removes the code to print swiotlb memory info in swiotlb_init() and exports the function to do that. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com Cc: tony.luck@intel.com Cc: benh@kernel.crashing.org LKML-Reference: <1257849980-22640-9-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: merge up conflict ] Signed-off-by: Ingo Molnar commit 5740afdb68abadc473fd5392df733558a58c1254 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:18 2009 +0900 swiotlb: Add swiotlb_free() function swiotlb_free() function frees all allocated memory for swiotlb. We need to initialize swiotlb before IOMMU initialization (x86 and powerpc needs to allocate memory from bootmem allocator). If IOMMU initialization is successful, we need to free swiotlb resource (don't want to waste 64MB). Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: build fix for the !CONFIG_SWIOTLB case ] Signed-off-by: Ingo Molnar commit 9f993ac3f708b661207ed7de521f245586217a68 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:17 2009 +0900 bootmem: Add free_bootmem_late() Add a new function for freeing bootmem after the bootmem allocator has been released and the unreserved pages given to the page allocator. This allows us to reserve bootmem and then release it if we later discover it was not needed. ( This new API will be used by the swiotlb code to recover a significant amount of RAM (64MB). ) Signed-off-by: FUJITA Tomonori Acked-by: Pekka Enberg Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com Cc: hannes@cmpxchg.org Cc: tj@kernel.org Cc: akpm@linux-foundation.org Cc: Linus Torvalds LKML-Reference: <1257849980-22640-7-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 9d5ce73a64be2be8112147a3e0b551ad9cd1247b Author: FUJITA Tomonori Date: Tue Nov 10 19:46:16 2009 +0900 x86: intel-iommu: Convert detect_intel_iommu to use iommu_init hook This changes detect_intel_iommu() to set intel_iommu_init() to iommu_init hook if detect_intel_iommu() finds the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-6-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: build fix for the !CONFIG_DMAR case ] Signed-off-by: Ingo Molnar commit ea1b0d3945c7374849235b6ecaea1191ee1d9d50 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:15 2009 +0900 x86: amd_iommu: Convert amd_iommu_detect() to use iommu_init hook This changes amd_iommu_detect() to set amd_iommu_init to iommu_init hook if amd_iommu_detect() finds the AMD IOMMU. We can kill the code to check if we found the IOMMU in amd_iommu_init() since amd_iommu_detect() sets amd_iommu_init() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-5-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit de957628ce7c84764ff41331111036b3ae5bad0f Author: FUJITA Tomonori Date: Tue Nov 10 19:46:14 2009 +0900 x86: GART: Convert gart_iommu_hole_init() to use iommu_init hook This changes gart_iommu_hole_init() to set gart_iommu_init() to iommu_init hook if gart_iommu_hole_init() finds the GART IOMMU. We can kill the code to check if we found the IOMMU in gart_iommu_init() since gart_iommu_hole_init() sets gart_iommu_init() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit d7b9f7be216b04ff9d108f856bc03d96e7b3439c Author: FUJITA Tomonori Date: Tue Nov 10 19:46:13 2009 +0900 x86: Calgary: Convert detect_calgary() to use iommu_init hook This changes detect_calgary() to set init_calgary() to iommu_init hook if detect_calgary() finds the Calgary IOMMU. We can kill the code to check if we found the IOMMU in init_calgary() since detect_calgary() sets init_calgary() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com LKML-Reference: <1257849980-22640-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit d07c1be0693e0902d743160b8b638585b808f8ac Author: FUJITA Tomonori Date: Tue Nov 10 19:46:12 2009 +0900 x86: Add iommu_init to x86_init_ops We call the detections functions of all the IOMMUs then all their initialization functions. The latter is pointless since we don't detect multiple different IOMMUs. What we need to do is calling the initialization function of the detected IOMMU. This adds iommu_init hook to x86_init_ops so if an IOMMU detection function can set its initialization function to the hook. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 1a74357066369be91e6f4f431621a00b052df964 Author: Andreas Herrmann Date: Tue Nov 10 12:09:20 2009 +0100 x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...) Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110920.GJ30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 14c569425a0ae12cbeed72fdb8ebe78c48455dfd Author: Andreas Herrmann Date: Tue Nov 10 12:08:25 2009 +0100 x86: ucode-amd: Don't warn when no ucode is available for a CPU revision There is no point in warning when there is no ucode available for a specific CPU revision. Currently the container-file, which provides the AMD ucode patches for OS load, contains only a few ucode patches. It's already clearly indicated by the printed patch_level whenever new ucode was available and an update happened. So the warning message is of no help but rather annoying on systems with many CPUs. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110825.GI30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit d1c84f79a6ba992dc01e312c44a21496303874d6 Author: Andreas Herrmann Date: Tue Nov 10 12:07:23 2009 +0100 x86: ucode-amd: Load ucode-patches once and not separately of each CPU This also implies that corresponding log messages, e.g. platform microcode: firmware: requesting amd-ucode/microcode_amd.bin show up only once on module load and not when ucode is updated for each CPU. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110723.GH30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 86b37281411cf1e9bc0a6b5406c45edb7bd9ea5d Author: Martin K. Petersen Date: Tue Nov 10 11:50:21 2009 +0100 block: Expose discard granularity While SSDs track block usage on a per-sector basis, RAID arrays often have allocation blocks that are bigger. Allow the discard granularity and alignment to be set and teach the topology stacking logic how to handle them. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 59d8eb53ea9947db7cad8ebc31b0fb54f23a9851 Author: Frederic Weisbecker Date: Tue Nov 10 11:03:12 2009 +0100 hw-breakpoints: Wrap in the KVM breakpoint active state check Wrap in the cpu dr7 check that tells if we have active breakpoints that need to be restored in the cpu. This wrapper makes the check more self-explainable and also reusable for any further other uses. Reported-by: Jan Kiszka Signed-off-by: Frederic Weisbecker Cc: Avi Kivity Cc: "K. Prasad" commit f60d24d2ad04977b0bd9e3eb35dba2d2fa569af9 Author: Frederic Weisbecker Date: Tue Nov 10 10:17:07 2009 +0100 hw-breakpoints: Fix broken hw-breakpoint sample module The hw-breakpoint sample module has been broken during the hw-breakpoint internals refactoring. Propagate the changes to it. Reported-by: "K. Prasad" Signed-off-by: Frederic Weisbecker commit 9f6b3c2c30cfbb1166ce7e74a8f9fd93ae19d2de Author: Frederic Weisbecker Date: Mon Nov 9 21:03:43 2009 +0100 hw-breakpoints: Fix broken a.out format dump Fix the broken a.out format dump. For now we only dump the ptrace breakpoints. TODO: Dump every perf breakpoints for the current thread, not only ptrace based ones. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: "K. Prasad" commit 676c0dbe6e514fdd8e434a9e623c781aa9b40b15 Author: Paul Mundt Date: Mon Nov 9 17:37:34 2009 +0900 ksym_tracer: Support read accesses independent of read/write. All of the infrastructure already exists to support read accesses for platforms that support a read access independently of read/write (such as in the case of the SuperH UBC). This just trivially hooks up the read case by itself. Signed-off-by: Paul Mundt Cc: Ingo Molnar Cc: Li Zefan Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Jan Kiszka Cc: Jiri Slaby Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Arjan van de Ven LKML-Reference: <20091109083733.GA25848@linux-sh.org> Signed-off-by: Frederic Weisbecker commit 2fb8f4e6a83dcaec15c1dd0ee8a6f618e7ece7f0 Author: Xiaotian Feng Date: Tue Nov 10 17:23:25 2009 +0800 x86: pat: Remove ioremap_default() Commit: b6ff32d: x86, PAT: Consolidate code in pat_x_mtrr_type() and reserve_memtype() consolidated reserve_memtype() and pat_x_mtrr_type, this made ioremap_default() same as ioremap_cache(). Remove the redundant function and change the only caller to use ioremap_cache. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1257845005-7938-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 83ea05ea69290b2e30da795527dbe304db1e2331 Author: Xiaotian Feng Date: Tue Nov 10 17:23:07 2009 +0800 x86: pat: Clean up req_type special case for reserve_memtype() Commit: b6ff32d: x86, PAT: Consolidate code in pat_x_mtrr_type() and reserve_memtype() consolidated code in pat_x_mtrr_type() and reserve_memtype(), which removed the special case (req_type is -1) for the PAT-enabled part. We should also change comments and the PAT-disabled part. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1257844987-7906-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 41855b77547fa18d90ed6a5d322983d3fdab1959 Author: Joe Perches Date: Mon Nov 9 17:58:50 2009 -0800 x86: GART: pci-gart_64.c: Use correct length in strncmp Signed-off-by: Joe Perches Cc: # .3x.x LKML-Reference: <1257818330.12852.72.camel@Joe-Laptop.home> Signed-off-by: Ingo Molnar commit a2202aa29289db64ca7988b12343158b67b27f10 Author: Yong Wang Date: Tue Nov 10 09:38:24 2009 +0800 x86: Under BIOS control, restore AP's APIC_LVTTHMR to the BSP value On platforms where the BIOS handles the thermal monitor interrupt, APIC_LVTTHMR on each logical CPU is programmed to generate a SMI and OS must not touch it. Unfortunately AP bringup sequence using INIT-SIPI-SIPI clears all the LVT entries except the mask bit. Essentially this results in all LVT entries including the thermal monitoring interrupt set to masked (clearing the bios programmed value for APIC_LVTTHMR). And this leads to kernel take over the thermal monitoring interrupt on AP's but not on BSP (leaving the bios programmed value only on BSP). As a result of this, we have seen system hangs when the thermal monitoring interrupt is generated. Fix this by reading the initial value of thermal LVT entry on BSP and if bios has taken over the control, then program the same value on all AP's and leave the thermal monitoring interrupt control on all the logical cpu's to the bios. Signed-off-by: Yong Wang Reviewed-by: Suresh Siddha Cc: Borislav Petkov Cc: Arjan van de Ven LKML-Reference: <20091110013824.GA24940@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar Cc: stable@kernel.org commit 7abc07531383ac7f727cc9d44e1360a829f2082e Author: Cyrill Gorcunov Date: Tue Nov 10 01:06:59 2009 +0300 x86: apic: Do not use stacked physid_mask_t We should not use physid_mask_t as a stack based variable in apic code. This type depends on MAX_APICS parameter which may be huge enough. Especially it became a problem with apic NOOP driver which is portable between 32 bit and 64 bit environment (where we have really huge MAX_APICS). So apic driver should operate with pointers and a caller in turn should aware of allocation physid_mask_t variable. As a side (but positive) effect -- we may use already implemented physid_set_mask_of_physid function eliminating default_apicid_to_cpu_present completely. Note that physids_coerce and physids_promote turned into static inline from macro (since macro hides the fact that parameter is being interpreted as unsigned long, make it explicit). Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki Cc: Stephen Rothwell LKML-Reference: <20091109220659.GA5568@lenovo> Signed-off-by: Ingo Molnar commit 6e18da75c28b592594fd632cf3e6eb09d3d078de Author: Andreas Herrmann Date: Thu Oct 29 14:47:42 2009 +0100 x86, amd-ucode: Remove needless log messages Signed-off-by: Andreas Herrmann Cc: Borislav Petkov LKML-Reference: <20091029134742.GD30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 158ba827f6deef4102c5247ed4b6a587f0bd6a07 Author: Hitoshi Mitake Date: Tue Nov 10 08:20:02 2009 +0900 perf bench: Modify builtin-pipe.c for processing common options This patch modifies builtin-pipe.c for processing common options. The first option added is "--format". Users of perf bench will be able to specify output style by --format. Usage example: % ./perf bench sched pipe # with no style specify (executing 1000000 pipe operations between two tasks) Total time:5.855 sec 5.855061 usecs/op 170792 ops/sec % ./perf bench --format=simple sched pipe # specified simple 5.988 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-5-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras commit cced06c62a9db6bd6d77e3f0a57dbe47a26d881e Author: Hitoshi Mitake Date: Tue Nov 10 08:20:01 2009 +0900 perf bench: Modify bench/bench-messaging.c to adopt unified output formatting This patch modifies bench/bench-messaging.c to adopt unified output formatting: --format option. Usage example: % ./perf bench sched messaging # with no style specify (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:1.431 sec % ./perf bench --format=simple sched messaging # specified simple 1.431 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 386d7e9e542c2115d5d300747e57f503458a1617 Author: Hitoshi Mitake Date: Tue Nov 10 08:20:00 2009 +0900 perf bench: Modify builtin-bench.c for processing common options This patch modifies builtin-bench.c for processing common options. The first option added is "--format". Users of perf bench will be able to specify output style by --format. Usage example: % ./perf bench sched messaging # with no style specify (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:1.431 sec % ./perf bench --format=simple sched messaging # specified simple 1.431 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 242aa14a67f4e19453fc8a51cffc5ac5ee5bcbd1 Author: Hitoshi Mitake Date: Tue Nov 10 08:19:59 2009 +0900 perf bench: Add format constants to bench.h for unified output formatting This patch adds some constants and extern declaration to bench.h. These are used for unified output formatting of 'perf bench'. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit eae0c9dfb534cb3449888b9601228efa6480fdb5 Author: Mike Galbraith Date: Tue Nov 10 03:50:02 2009 +0100 sched: Fix and clean up rate-limit newidle code Commit 1b9508f, "Rate-limit newidle" has been confirmed to fix the netperf UDP loopback regression reported by Alex Shi. This is a cleanup and a fix: - moved to a more out of the way spot - fix to ensure that balancing doesn't try to balance runqueues which haven't gone online yet, which can mess up CPU enumeration during boot. Reported-by: Alex Shi Reported-by: Zhang, Yanmin Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra Cc: # .32.x: a1f84a3: sched: Check for an idle shared cache Cc: # .32.x: 1b9508f: sched: Rate-limit newidle Cc: # .32.x: fd21073: sched: Fix affinity logic Cc: # .32.x LKML-Reference: <1257821402.5648.17.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 9160306e6f5b68bb64630c9031c517ca1cf463db Author: Paul E. McKenney Date: Mon Nov 2 13:52:29 2009 -0800 rcu: Fix note_new_gpnum() uses of ->gpnum Impose a clear locking design on the note_new_gpnum() function's use of the ->gpnum counter. This is done by updating rdp->gpnum only from the corresponding leaf rcu_node structure's rnp->gpnum field, and even then only under the protection of that same rcu_node structure's ->lock field. Performance and scalability are maintained using a form of double-checked locking, and excessive spinning is avoided by use of the spin_trylock() function. The use of spin_trylock() is safe due to the fact that CPUs who fail to acquire this lock will try again later. The hierarchical nature of the rcu_node data structure limits contention (which could be limited further if need be using the RCU_FANOUT kernel parameter). Without this patch, obscure but quite possible races could result in a quiescent state that occurred during one grace period to be accounted to the following grace period, causing this following grace period to end prematurely. Not good! 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: # .32.x LKML-Reference: <12571987492350-git-send-email-> Signed-off-by: Ingo Molnar commit d09b62dfa336447c52a5ec9bb88adbc479b0f3b8 Author: Paul E. McKenney Date: Mon Nov 2 13:52:28 2009 -0800 rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter Impose a clear locking design on the rcu_process_gp_end() function's use of the ->completed counter. This is done by creating a ->completed field in the rcu_node structure, which can safely be accessed under the protection of that structure's lock. Performance and scalability are maintained by using a form of double-checked locking, so that rcu_process_gp_end() only acquires the leaf rcu_node structure's ->lock if a grace period has recently ended. This fix reduces rcutorture failure rate by at least two orders of magnitude under heavy stress with force_quiescent_state() being invoked artificially often. Without this fix, unsynchronized access to the ->completed field can cause rcu_process_gp_end() to advance callbacks whose grace period has not yet expired. (Bad idea!) 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: # .32.x LKML-Reference: <12571987494069-git-send-email-> Signed-off-by: Ingo Molnar commit 281d150c5f8892f158747594ab49ce2823fd8b8c Author: Paul E. McKenney Date: Mon Nov 2 13:52:27 2009 -0800 rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of ->completed counter Impose a clear locking design on non-NO_HZ handling of the ->completed counter. This increases the distance between the RCU and the CPU-hotplug mechanisms. 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: # .32.x LKML-Reference: <12571987491353-git-send-email-> Signed-off-by: Ingo Molnar commit 7e1a2766e67a529f62c8cfba0a47d63fc4f7fa8a Merge: c5e0cb3 83f5b01 Author: Ingo Molnar Date: Tue Nov 10 04:10:31 2009 +0100 Merge branch 'core/urgent' into core/rcu Merge reason: Pick up RCU fixlet to base further commits on. Signed-off-by: Ingo Molnar commit dd8dbf2e6880e30c00b18600c962d0cb5a03c555 Author: Eric Paris Date: Tue Nov 3 16:35:32 2009 +1100 security: report the module name to security_module_request For SELinux to do better filtering in userspace we send the name of the module along with the AVC denial when a program is denied module_request. Example output: type=SYSCALL msg=audit(11/03/2009 10:59:43.510:9) : arch=x86_64 syscall=write success=yes exit=2 a0=3 a1=7fc28c0d56c0 a2=2 a3=7fffca0d7440 items=0 ppid=1727 pid=1729 auid=unset uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=unset comm=rpc.nfsd exe=/usr/sbin/rpc.nfsd subj=system_u:system_r:nfsd_t:s0 key=(null) type=AVC msg=audit(11/03/2009 10:59:43.510:9) : avc: denied { module_request } for pid=1729 comm=rpc.nfsd kmod="net-pf-10" scontext=system_u:system_r:nfsd_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=system Signed-off-by: Eric Paris Signed-off-by: James Morris commit f6d773cd4f3c18c40ab25a5cb92453756237840e Merge: d0e1e88 bcb628d Author: David S. Miller Date: Mon Nov 9 11:17:24 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fd650a6394b3242edf125ba9c4d500349a6d7178 Author: Huang Ying Date: Mon Nov 9 13:52:26 2009 -0500 x86: Generate .byte code for some new instructions via gas macro It will take some time for binutils (gas) to support some newly added instructions, such as SSE4.1 instructions or the AES-NI instructions found in upcoming Intel CPU. To make the source code can be compiled by old binutils, .byte code is used instead of the assembly instruction. But the readability and flexibility of raw .byte code is not good. This patch solves the issue of raw .byte code via generating it via assembly instruction like gas macro. The syntax is as close as possible to real assembly instruction. Some helper macros such as MODRM is not a full feature implementation. It can be extended when necessary. Signed-off-by: Huang Ying Acked-by: H. Peter Anvin Signed-off-by: Herbert Xu commit 9e5d86fe6a401f7957f6ea02ee300db0f6c03d03 Author: Jarkko Nikula Date: Mon Nov 9 08:44:32 2009 +0200 ASoC: Pandora: Pass SRG input clock frequency to the OMAP McBSP DAI Upcoming change to omap-mcbsp.c require that machine drivers using OMAP as a DAI master to pass sample rate generator input clock frequency to the omap-mcbsp.c DAI driver. Pandora is using 256*Fs output from the TWL4030 codec as an input clock to the McBSP sample rate generator. Signed-off-by: Jarkko Nikula Tested-by: Grazvydas Ignotas Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit ca2b900f9af1586b9889ccc4b12e453c13268bd5 Author: Zeev Tarantov Date: Mon Nov 9 13:26:13 2009 +0200 perf tools: Fix syntax in documentation Fix trivial syntax in perf-events user-space tools documentation. Signed-off-by: Zeev Tarantov Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <12d7e64c0911081811i7e5b466cu6706ff6ab3e70db4@mail.gmail.com> Signed-off-by: Ingo Molnar commit f84d49b218b7d4c6cba2e0b41f24bd4045403962 Author: Naohiro Ooiwa Date: Mon Nov 9 00:46:42 2009 +0900 signal: Print warning message when dropping signals When the system has too many timers or too many aggregate queued signals, the EAGAIN error is returned to application from kernel, including timer_create() [POSIX.1b]. It means that the app exceeded the limit of pending signals, but in general application writers do not expect this outcome and the current silent failure can cause rare app failures under very high load. This patch adds a new message when we reach the limit and if print_fatal_signals is enabled: task/1234: reached RLIMIT_SIGPENDING, dropping signal If you see this message and your system behaved unexpectedly, you can run following command to lift the limit: # ulimit -i unlimited With help from Hiroshi Shimamoto . Signed-off-by: Naohiro Ooiwa Cc: Andrew Morton Cc: Hiroshi Shimamoto Cc: Roland McGrath Cc: Peter Zijlstra Cc: oleg@redhat.com LKML-Reference: <4AF6E7E2.9080406@miraclelinux.com> [ Modified a few small details, gave surrounding code some love. ] Signed-off-by: Ingo Molnar commit 81e627e00a2eabfa573eb4558e31c0c98fcb7e5a Author: Uwe Kleine-König Date: Sat Jul 11 22:53:05 2009 +0200 move stk17ta8's probe function to .devinit.text A pointer to stk17ta8_rtc_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Anton Vorontsov Cc: Alessandro Zummo Cc: David Brownell Cc: Paul Mundt Cc: Andrew Morton Cc: Hannes Eder Cc: Jiri Kosina Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Jiri Kosina commit 93f6ced9e442de2ee817c244048fde3e6350be8d Author: Claudio Scordino Date: Fri Oct 9 12:20:21 2009 +0200 atmel_lcdfb.c: fix printk() type mismatch This patch fixes a type mismatch when calling dev_info() in the atmel_lcdfb.c driver. Signed-off-by: Claudio Scordino Signed-off-by: Nicolas Ferre Signed-off-by: Jiri Kosina commit 9d440a087b9f1b43acbcad2a45d8605059b82e59 Author: Peter Huewe Date: Tue Sep 29 02:19:00 2009 +0200 media/video: add __init/__exit macros to various drivers Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of the following drivers in media video: drivers/media/video/ivtv/ivtv-driver.c drivers/media/video/cx18/cx18-driver.c drivers/media/video/davinci/dm355_ccdc.c drivers/media/video/davinci/dm644x_ccdc.c drivers/media/video/saa7164/saa7164-core.c drivers/media/video/saa7134/saa7134-core.c drivers/media/video/cx23885/cx23885-core.c Signed-off-by: Peter Huewe Acked-by: Andy Walls Acked-by: Laurent Pinchart Acked-by: Muralidharan Karicheri Acked-By: Steven Toth Signed-off-by: Jiri Kosina commit 891ddb95d06e9dc260500f02438a5cff1ba6650a Author: Anders Larsen Date: Sat Sep 26 20:15:09 2009 +0200 qnx4fs: add missing KERN_xxx to printk() calls fixed printk calls to consistently specify a KERN_xxx level. Signed-off-by: Anders Larsen Signed-off-by: Jiri Kosina commit e0c0978699a83f26f2341f7eedc1463b79e31aff Author: Jiri Kosina Date: Fri Oct 9 11:49:10 2009 +0200 ataflop: remove buggy/commented-out IRQ disable from do_fd_request() There is a nice gem in drivers/block/ataflop.c::do_fd_request() void do_fd_request(struct request_queue * q) { unsigned long flags; DPRINT(("do_fd_request for pid %d\n",current->pid)); while( fdc_busy ) sleep_on( &fdc_wait ); fdc_busy = 1; stdma_lock(floppy_irq, NULL); atari_disable_irq( IRQ_MFP_FDC ); local_save_flags(flags); /* The request function is called with ints local_irq_disable(); * disabled... so must save the IPL for later */ redo_fd_request(); local_irq_restore(flags); atari_enable_irq( IRQ_MFP_FDC ); } If you look at the code long enough, you will notioce that the local_irq_disable() call is actually commented out. This has been introduced back in 2002 in [1], but as you can see, the same bug has been there even before, with the sti() call being commented out in the very same way :) I am not familiar with the code myself at all, but I guess that the whole stuff can just be removed. Why do we need save_flags/restore_flags at all, without actually disabling the local IRQs afterwards? The redo_fd_request() doesn't seem to do anything that would mess with flags inconsistently. [1] http://lkml.org/lkml/2002/12/27/58 Jens: That does look odd. The comment is correct that the function is entered with interrupts disabled (and the queue lock held). So I'd say your patch looks fine, the whole save/restore business looks meaningless. Signed-off-by: Jiri Kosina Acked-by: Jens Axboe Acked-by: Michael Schmitz commit 7a7236e0f3f836439442e9161dd6d25fde7ca259 Author: Jiri Kosina Date: Fri Oct 9 11:55:18 2009 +0200 CRIS: remove code that has been commented out for many years Remove the dump_tlb_all() function that has been commented out for many years. Signed-off-by: Jiri Kosina Acked-by: Jesper Nilsson commit 84a3098f1ff8b42f2fdcfda25d1a83ea4a53b021 Author: Jiri Kosina Date: Fri Oct 9 11:26:14 2009 +0200 CIRS: turn local_save_flags() + local_irq_disable()into local_irq_save() This is a followup to my patches that fixed this all over the tree quite some time ago. This one went unnoticed for some reason. TLB handling for CRIS contains local_irq_disable() after local_save_flags(). Turn this into local_irq_save(). Signed-off-by: Jiri Kosina Acked-by: Jesper Nilsson commit 21ae2956ce289f61f11863cc67080f9a28101ae0 Author: Uwe Kleine-König Date: Wed Oct 7 15:21:09 2009 +0200 tree-wide: fix typos "aquire" -> "acquire", "cumsumed" -> "consumed" This patch was generated by git grep -E -i -l '[Aa]quire' | xargs -r perl -p -i -e 's/([Aa])quire/$1cquire/' and the cumsumed was found by checking the diff for aquire. Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit 0e6779bbcb78b434efdc84fff1809e342684d6b3 Author: Nick Bowler Date: Tue Oct 6 10:12:22 2009 -0400 docs: Describe the 'C' taint flag in oops-tracing.txt If some of the flags are documented there, they all should be. Signed-off-by: Nick Bowler Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit b71a8eb0fa64ec6d00175f479e3ef851703568af Author: Uwe Kleine-König Date: Tue Oct 6 12:42:51 2009 +0200 tree-wide: fix typos "selct" + "slect" -> "select" This patch was generated by git grep -E -i -l 's(le|el)ct' | xargs -r perl -p -i -e 's/([Ss])(le|el)ct/$1elect/ with only skipping net/netfilter/xt_SECMARK.c and include/linux/netfilter/xt_SECMARK.h which have a struct member called selctx. Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit fa3012318bfb395552baef69bb1ebe87e64945c8 Author: Michael Roth Date: Sun Oct 4 18:14:29 2009 +0200 Kconfig: Remove useless and sometimes wrong comments Additionally, some excessive newlines removed. Signed-off-by: Michael Roth Signed-off-by: Jiri Kosina commit 7beeec88e5f379680abeb4244b0781e102201c0e Author: Randy Dunlap Date: Sun Oct 4 19:23:13 2009 -0700 docs: fix core_pipe_limit info Fix typos in core_pipe_limit info. Signed-off-by: Randy Dunlap Cc: Neil Horman Signed-off-by: Jiri Kosina commit d914e5b7038cf75ebf5cc1daec890368859e2225 Author: Otavio Salvador Date: Tue Sep 29 14:18:19 2009 -0300 pata_cs5535: fix comment header typo Signed-off-by: Otavio Salvador Signed-off-by: Jiri Kosina commit b89ea90d402c13c8dd4d5dfc8d4a0b6efc5492df Author: Peter Huewe Date: Tue Sep 29 03:18:06 2009 +0200 add __init/__exit macros to omap video drivers Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of the following drivers in media/omap: drivers/video/omap/lcd_ams_delta.c drivers/video/omap/lcd_mipid.c Signed-off-by: Peter Huewe Acked-by: Imre Deak Signed-off-by: Jiri Kosina commit 06fe9fb4182177fb046e6d934f80254dd90956ea Author: Dirk Hohndel Date: Mon Sep 28 21:43:57 2009 -0400 tree-wide: fix a very frequent spelling mistake something-bility is spelled as something-blity so a grep for 'blit' would find these lines this is so trivial that I didn't split it by subsystem / copy additional maintainers - all changes are to comments The only purpose is to get fewer false positives when grepping around the kernel sources. Signed-off-by: Dirk Hohndel Signed-off-by: Jiri Kosina commit 5b73a41c02002ed2ee6b805d0c3691fb9ab9dc4f Author: Andrew Sharp Date: Wed Sep 23 16:03:20 2009 -0700 fix my email address. Signed-off-by: Andrew Sharp Signed-off-by: Jiri Kosina commit 1039c6ba670cf45f92af92ce0ed394bd98f5fbfc Author: Amerigo Wang Date: Wed Sep 23 06:03:53 2009 -0400 fix URL in hpet.txt That URL is out of date. Update it. Cc: Thomas Gleixner Cc: Randy Dunlap Cc: Matt LaPlante Cc: Jiri Kosina Signed-off-by: WANG Cong Acked-by: Matt LaPlante Signed-off-by: Jiri Kosina commit 638bba55fe6440439005f02fcd6b0c1f908d0d11 Author: Dominik Brodowski Date: Sat Nov 7 12:26:17 2009 +0100 pcmcia: autoload module pcmcia Attempt to load the "pcmcia" module for 16-bit PCMCIA cards, so that PCMCIA support becomes available without pcmciautils/udev userspace interaction. Based on a suggestion and a patch Signed-off-by: Komuro but converted it to request_module_nowait() and move it to a later stage. Signed-off-by: Dominik Brodowski commit 55a19b39acb8888af8e9cfe5b762d03c52fdb48c Author: Dominik Brodowski Date: Thu Oct 29 00:54:49 2009 +0100 pcmcia/staging: update comedi drivers Update comedi PCMCIA drivers to work with recent PCMCIA changes documented in Documentation/pcmcia/driver-changes.txt: - use pcmcia_config_loop() - don't use PCMCIA_DEBUG, but use dev_dbg() - don't use cs_error() - re-use prod_id and card_id values already stored Acked-by: Greg Kroah-Hartman Signed-off-by: Dominik Brodowski commit 66024db57d5b9011e274b314affad68f370c0d6f Author: Russell King - ARM Linux Date: Sun Mar 29 22:45:26 2009 +0100 PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket skt->irq is a mere duplication of pcmcia_socket's pci_irq member. Get rid of it. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 1689164a272a962572a1f31af715dfe462cf7910 Author: Russell King - ARM Linux Date: Sun Mar 29 22:43:43 2009 +0100 PCMCIA: ss: allow PCI IRQs > 255 Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit f397b9c5dcc30a575973b2e4f0a602fc85b38853 Author: Russell King - ARM Linux Date: Sun Mar 29 22:12:34 2009 +0100 PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket The 'dev' member is now only ever written, so we can safely remove it. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit b62d99b5028b6df1c32b864fd9dd32ad6b42d396 Author: Russell King - ARM Linux Date: Sun Mar 29 22:14:32 2009 +0100 PCMCIA: soc_common: constify soc_pcmcia_socket ops member No one should modify the ops structure supplied to soc_pcmcia_socket so make it const. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit dabd14684bc2375bf69f227f04993a4dc2fd3a16 Author: Russell King - ARM Linux Date: Sun Mar 29 22:35:11 2009 +0100 PCMCIA: sa1111: remove duplicated initializers Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 701a5dc05ad99a06958b3f97cb69d99b47cebee3 Author: Russell King - ARM Linux Date: Sun Mar 29 19:42:44 2009 +0100 PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit da4f007375197d6683461b995d404b01a7fdf2f5 Author: Russell King - ARM Linux Date: Sun Mar 29 19:23:42 2009 +0100 PCMCIA: soc_common: push socket probe down into SoC specific support Move the individual socket probing and initialization down into the SoC specific support files, thereby allowing soc_common_drv_pcmcia_probe to be eliminated. soc_common.c now no longer deals with distinct groups of sockets. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit be85458edce0f165cff62622f5e73b1d17b1e228 Author: Russell King - ARM Linux Date: Thu Mar 26 22:21:18 2009 +0000 PCMCIA: soc_common: push socket removal down to SoC specific support Mechanically transplant the removal code from soc_common into each SoC specific base support file, thereby allowing soc_common_drv_pcmcia_remove to be removed. No other changes. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 097e296d6175881eba7244de7222de61e9569911 Author: Russell King - ARM Linux Date: Thu Mar 26 21:45:05 2009 +0000 PCMCIA: soc_common: provide single socket add/remove functionality Factor out the functionality for adding and removing a single socket, thereby allowing SoCs to individually register each socket. The advantage of this approach is that SoCs can then extend soc_pcmcia_socket as they wish. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 0f767de6a26a07f7d58394512b6f6c96322f047f Author: Russell King - ARM Linux Date: Thu Mar 26 21:14:19 2009 +0000 PCMCIA: soc_common: convert to a stand alone module Convert soc_common.c to be a stand alone module, rather than wrapping it up into the individual SoC specific base modules. In doing this, we need to add init/exit functions for soc_common to register/remove the cpufreq notifier. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit a7149f9a26eb44a5658d56335c23104ba529e9f6 Author: Dominik Brodowski Date: Sat Oct 24 18:07:16 2009 +0200 pcmcia: use dev_dbg and dev_print in pd6729.c As suggested by Wolfram Sang , use dev_dbg(), and dev_{err,warn,info}() in pd6729.c, and add some "\n" suggested by Komuro . In the ISR, use pr_devel() and dev_vdbg() as they are only compiled if DEBUG (or, for dev_vdbg(), VERBOSE_DEBUG) are set explicitly. CC: Komuro Acked-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 9cb495bb41f07a3ebfc60d3b9d26017a1fd7050c Author: Dominik Brodowski Date: Sat Oct 24 15:57:22 2009 +0200 pcmcia: remove now-defunct cs_error, pcmcia_error_{func,ret} As all in-tree drivers have been converted to not use cs_error() any more, drop these functions and definitions, and update the Documentation. Signed-off-by: Dominik Brodowski commit 9b44de2015ff4a2ed1d56efedfcc72b917d356a6 Author: Dominik Brodowski Date: Sat Oct 24 15:55:39 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (misc drivers) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-mtd@lists.infradead.org CC: linux-usb@vger.kernel.org Signed-off-by: Dominik Brodowski commit 7c5af6ffd69bb2bb3c86b374153627529d67598c Author: Dominik Brodowski Date: Sat Oct 24 15:55:12 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (sound) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Jaroslav Kysela CC: alsa-devel@alsa-project.org Signed-off-by: Dominik Brodowski commit 9ec0bf41b5030ccc691049754ed1398cad5e953e Author: Dominik Brodowski Date: Sat Oct 24 15:54:46 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (serial_cs) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-serial@vger.kernel.org CC: Russell King Signed-off-by: Dominik Brodowski commit 3e7166178a83fef690dcbfcdaeda192f7282a9a4 Author: Dominik Brodowski Date: Sat Oct 24 15:54:14 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (scsi) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-scsi@vger.kernel.org Signed-off-by: Dominik Brodowski commit 2caff14713d53abba273e6095495788e2720f756 Author: Dominik Brodowski Date: Sat Oct 24 15:53:36 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (wireless) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 624dd66957e53e15cf40e937b50597c4d41f0e99 Author: Dominik Brodowski Date: Sat Oct 24 15:52:44 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ray-cs.c) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit dd0fab5b940c0b65f26ac5b01485bac1f690ace6 Author: Dominik Brodowski Date: Sat Oct 24 15:51:05 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (net) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Only some rare debug checks are now hidden behind "#ifdef DEBUG" or "#if 0". Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit e773cfe167c320d07b9423bc51fc4ab0221775a4 Author: Dominik Brodowski Date: Sat Oct 24 15:50:13 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (isdn) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Karsten Keil Signed-off-by: Dominik Brodowski commit cbf624f0e18c4a05219855663a3e5f9fe8f2d876 Author: Dominik Brodowski Date: Sat Oct 24 15:47:29 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (char) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Only some rare extra debug checks in cm4000_cs.c cm4040_cs.c are now hidden behind a "#ifdef CM4000_DEBUG" or "#ifdef CM4040_DEBUG". Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Harald Welte CC: Jiri Kosina CC: David Sterba Signed-off-by: Dominik Brodowski commit 5ff0cfc67f00fe0feaa1da0b2359232ea4aa0ee7 Author: Hitoshi Mitake Date: Mon Nov 9 12:31:05 2009 +0900 perf bench: Fix bench/sched-pipe.c to wait for child process Ingo reported this small 'perf bench sched pipe' output problem: | $ ./perf bench sched pipe | (executing 1000000 pipe operations between two tasks) | | Total time:4.898 sec | $ 4.898586 usecs/op | 204140 ops/sec | | the shell prompt came back before the usecs/op and ops/sec line | was printed. Process teardown race, lack of wait() or so? This caused by lack of calling waitpid() by parent process, so I added it. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Jiri Kosina LKML-Reference: <1257737465-7546-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit d0e1e88d6e7dbd8e1661cb6a058ca30f54ee39e4 Merge: 9e0d57f 2606289 Author: David S. Miller Date: Sun Nov 8 23:00:54 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/can/usb/ems_usb.c commit 0fe69d773f35fd95938ea02a91ec2d026045398b Author: Paul Mundt Date: Mon Nov 9 14:11:07 2009 +0900 sh: perf events: Document SH-4A raw event codes. Signed-off-by: Paul Mundt commit 9e0d57fd6dad37d72a3ca6db00ca8c76f2215454 Author: Yury Polyanskiy Date: Sun Nov 8 20:58:41 2009 -0800 xfrm: SAD entries do not expire correctly after suspend-resume This fixes the following bug in the current implementation of net/xfrm: SAD entries timeouts do not count the time spent by the machine in the suspended state. This leads to the connectivity problems because after resuming local machine thinks that the SAD entry is still valid, while it has already been expired on the remote server. The cause of this is very simple: the timeouts in the net/xfrm are bound to the old mod_timer() timers. This patch reassigns them to the CLOCK_REALTIME hrtimer. I have been using this version of the patch for a few months on my machines without any problems. Also run a few stress tests w/o any issues. This version of the patch uses tasklet_hrtimer by Peter Zijlstra (commit 9ba5f0). This patch is against 2.6.31.4. Please CC me. Signed-off-by: Yury Polyanskiy Signed-off-by: David S. Miller commit 7a50a240c495478179f01c9df4bd75e39cff79c7 Author: Arnd Bergmann Date: Sun Nov 8 20:57:03 2009 -0800 net/compat_ioctl: support SIOCWANDEV This adds compat_ioctl support for SIOCWANDEV, which has always been missing. The definition of struct compat_ifreq was missing an ifru_settings fields that is needed to support SIOCWANDEV, so add that and clean up the whitespace damage in the struct definition. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit fab2532ba50b287647d95046c4f3b37bf6379d37 Author: Arnd Bergmann Date: Sun Nov 8 20:56:21 2009 -0800 net, compat_ioctl: fix SIOCGMII ioctls SIOCGMIIPHY and SIOCGMIIREG return data through ifreq, so it needs to be converted on the way out as well. SIOCGIFPFLAGS is unused, but has the same problem in theory. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit f6b8f32ca71406de718391369490f6b1e81fe0bb Author: Eric Dumazet Date: Sun Nov 8 10:20:19 2009 +0000 udp: multicast RX should increment SNMP/sk_drops counter in allocation failures When skb_clone() fails, we should increment sk_drops and SNMP counters. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a1ab77f97ed03f5dae66ae4c64375beffab83772 Author: Eric Dumazet Date: Sun Nov 8 10:18:52 2009 +0000 ipv6: udp: Optimise multicast reception IPV6 UDP multicast rx path is a bit complex and can hold a spinlock for a long time. Using a small (32 or 64 entries) stack of socket pointers can help to perform expensive operations (skb_clone(), udp_queue_rcv_skb()) outside of the lock, in most cases. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1240d1373cd7f874dd0f3057c3e9643e71ef75c6 Author: Eric Dumazet Date: Sun Nov 8 10:18:44 2009 +0000 ipv4: udp: Optimise multicast reception UDP multicast rx path is a bit complex and can hold a spinlock for a long time. Using a small (32 or 64 entries) stack of socket pointers can help to perform expensive operations (skb_clone(), udp_queue_rcv_skb()) outside of the lock, in most cases. It's also a base for a future RCU conversion of multicast recption. Signed-off-by: Eric Dumazet Signed-off-by: Lucian Adrian Grijincu Signed-off-by: David S. Miller commit fddc17defa22d8caba1cdfb2e22b50bb4b9f35c0 Author: Eric Dumazet Date: Sun Nov 8 10:18:30 2009 +0000 ipv6: udp: optimize unicast RX path We first locate the (local port) hash chain head If few sockets are in this chain, we proceed with previous lookup algo. If too many sockets are listed, we take a look at the secondary (port, address) hash chain. We choose the shortest chain and proceed with a RCU lookup on the elected chain. But, if we chose (port, address) chain, and fail to find a socket on given address, we must try another lookup on (port, in6addr_any) chain to find sockets not bound to a particular IP. -> No extra cost for typical setups, where the first lookup will probabbly be performed. RCU lookups everywhere, we dont acquire spinlock. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5051ebd275de672b807c28d93002c2fb0514a3c9 Author: Eric Dumazet Date: Sun Nov 8 10:18:11 2009 +0000 ipv4: udp: optimize unicast RX path We first locate the (local port) hash chain head If few sockets are in this chain, we proceed with previous lookup algo. If too many sockets are listed, we take a look at the secondary (port, address) hash chain we added in previous patch. We choose the shortest chain and proceed with a RCU lookup on the elected chain. But, if we chose (port, address) chain, and fail to find a socket on given address, we must try another lookup on (port, INADDR_ANY) chain to find socket not bound to a particular IP. -> No extra cost for typical setups, where the first lookup will probabbly be performed. RCU lookups everywhere, we dont acquire spinlock. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 512615b6b843ff3ff5ad583f34c39b3f302f5f26 Author: Eric Dumazet Date: Sun Nov 8 10:17:58 2009 +0000 udp: secondary hash on (local port, local address) Extends udp_table to contain a secondary hash table. socket anchor for this second hash is free, because UDP doesnt use skc_bind_node : We define an union to hold both skc_bind_node & a new hlist_nulls_node udp_portaddr_node udp_lib_get_port() inserts sockets into second hash chain (additional cost of one atomic op) udp_lib_unhash() deletes socket from second hash chain (additional cost of one atomic op) Note : No spinlock lockdep annotation is needed, because lock for the secondary hash chain is always get after lock for primary hash chain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d4cada4ae1c012815f95fa507eb86a0ae9d607d7 Author: Eric Dumazet Date: Sun Nov 8 10:17:30 2009 +0000 udp: split sk_hash into two u16 hashes Union sk_hash with two u16 hashes for udp (no extra memory taken) One 16 bits hash on (local port) value (the previous udp 'hash') One 16 bits hash on (local address, local port) values, initialized but not yet used. This second hash is using jenkin hash for better distribution. Because the 'port' is xored later, a partial hash is performed on local address + net_hash_mix(net) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fdcc8aa953a1123a289791dd192090651036d593 Author: Eric Dumazet Date: Sun Nov 8 10:17:05 2009 +0000 udp: add a counter into udp_hslot Adds a counter in udp_hslot to keep an accurate count of sockets present in chain. This will permit to upcoming UDP lookup algo to chose the shortest chain when secondary hash is added. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 415ce61aef5e9b2ed2516a13888c733bea15aedf Author: Stephen Rothwell Date: Sun Nov 8 20:41:03 2009 -0800 net/appletalk: using compat_ptr needs inclusion of linux/compat.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 76d2318020bf0c0c497af986a25977196715a1b9 Merge: e9c4148 969e46a Author: Paul Mundt Date: Mon Nov 9 10:55:36 2009 +0900 Merge branch 'sh/stable-updates' commit 6e65f92ff0d6f18580737321718d09035085a3fb Author: John Johansen Date: Thu Nov 5 17:03:20 2009 -0800 Config option to set a default LSM The LSM currently requires setting a kernel parameter at boot to select a specific LSM. This adds a config option that allows specifying a default LSM that is used unless overridden with the security= kernel parameter. If the the config option is not set the current behavior of first LSM to register is used. Signed-off-by: John Johansen Acked-by: Serge Hallyn Signed-off-by: James Morris commit 0e1a6ef2dea88101b056b6d9984f3325c5efced3 Author: Kees Cook Date: Sun Nov 8 09:37:00 2009 -0800 sysctl: require CAP_SYS_RAWIO to set mmap_min_addr Currently the mmap_min_addr value can only be bypassed during mmap when the task has CAP_SYS_RAWIO. However, the mmap_min_addr sysctl value itself can be adjusted to 0 if euid == 0, allowing a bypass without CAP_SYS_RAWIO. This patch adds a check for the capability before allowing mmap_min_addr to be changed. Signed-off-by: Kees Cook Acked-by: Serge Hallyn Signed-off-by: James Morris commit f4a70c55376683213229af7266dc57ad81aee354 Author: Cyrill Gorcunov Date: Sun Nov 8 16:16:45 2009 +0300 x86, apic: Get rid of apicid_to_cpu_present assign on 64-bit In fact it's never get used on x86-64 (for 64 bit platform we use differ technique to enumerate io-units). Reported-by: Stephen Rothwell Signed-off-by: Cyrill Gorcunov Cc: Peter Zijlstra LKML-Reference: <20091108131645.GD5300@lenovo> Signed-off-by: Ingo Molnar commit 9ac3e58ceff0b7b8b981c09c38a28742270eea12 Author: Dominik Brodowski Date: Sat Oct 24 15:45:06 2009 +0200 pcmcia: deprecate CS_CHECK (bluetooth) Remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-bluetooth@vger.kernel.org Signed-off-by: Dominik Brodowski commit 444486a5f9d2737b50e53dc140292899b9497808 Author: Dominik Brodowski Date: Fri Oct 23 12:55:28 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ide) ide-cs.c is the only PCMCIA device driver making use of CONFIG_PCMCIA_DEBUG, so convert it to use the dynamic debug infrastructure. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski commit 6d9a299f675b176e2f81e1f6d5a361a1173971ea Author: Dominik Brodowski Date: Sat Oct 24 12:20:18 2009 +0200 pcmcia: extend error reporting and debug messages in core Add a few more error and debug messages to the PCMCIA core. Signed-off-by: Dominik Brodowski commit c9f50dddd184a020d64dab63fa795967f0f14aa4 Author: Dominik Brodowski Date: Fri Oct 23 12:56:46 2009 +0200 pcmcia: use dynamic debug in PCMCIA socket drivers Make use of the dynamic debug infrastructure in various PCMCIA socket drivers. By doing so, only the drivers relying on soc_common make use of CONFIG_PCMCIA_DEBUG. Therefore, update the Kconfig entry accordingly. Signed-off-by: Dominik Brodowski commit d50dbec3ce52e1608636b8a624d087da9ced8cde Author: Dominik Brodowski Date: Fri Oct 23 12:51:28 2009 +0200 pcmcia: use dynamic debug instead of custom infrastructure Use the generic "dynamic debug" infrastructure instead of CONIG_PCMCIA_DEBUG in the PCMCIA core (pcmcia.ko and pcmcia_core.ko). To enable debugging, enable CONFIG_DYNAMIC_DEBUG, mount debugfs and $ echo -n 'module pcmcia_core +p' > /sys/kernel/debug/dynamic_debug/control for the complete module "pcmcia_core", for example. For more detailled instructions, please see Documentation/dynamic-debug-howto.txt Signed-off-by: Dominik Brodowski commit 18a7a19b37838789452e0bd2855a51475628b971 Author: Dominik Brodowski Date: Mon Oct 19 00:07:39 2009 +0200 pcmcia: remove pcmcia_get_{first,next}_tuple() Remove the pcmcia_get_{first,next}_tuple() calls no longer needed by (current) pcmcia device drivers. Signed-off-by: Dominik Brodowski commit 18b61b97294dad74dd00a1aa8efed0cfacb95aff Author: Dominik Brodowski Date: Sun Oct 18 23:57:58 2009 +0200 pcmcia: convert pcmciamtd driver to use new CIS helpers Convert the (broken) pcmciamtd driver to use the new CIS helpers. CC: David.Woodhouse@intel.com CC: linux-mtd@lists.infradead.org Signed-off-by: Dominik Brodowski commit 37ace3d4131ae80f370eb1230fa7db2b3eedf17c Author: Dominik Brodowski Date: Sun Oct 18 23:56:41 2009 +0200 pcmcia: convert ssb pcmcia driver to use new CIS helpers SSB is a prime example of how to make use of the new CIS helpers. CC: Michael Buesch Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit dddfbd824b96a25da0b2f1cf35c0be33ef2422fe Author: Dominik Brodowski Date: Sun Oct 18 23:54:24 2009 +0200 pcmcia: convert net pcmcia drivers to use new CIS helpers Use the new CIS helpers in net pcmcia drivers, which allows for a few code cleanups. This revision does not remove the phys_addr assignment in 3c589_cs.c -- a bug noted by Komuro CC: David S. Miller CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 91284224da5b15ec6c2b45e10fa5eccd1c92a204 Author: Dominik Brodowski Date: Sun Oct 18 23:32:33 2009 +0200 pcmcia: add new CIS access helpers As a replacement to pcmcia_get_{first,next}_tuple() and pcmcia_get_tuple_data(), three new -- and easier to use -- functions are added: - pcmcia_get_tuple() to get the very first CIS entry of one type. - pcmcia_loop_tuple() to loop over all CIS entries of one type. - pcmcia_get_mac_from_cis() to read out the hardware MAC address from CISTPL_FUNCE. Only a handful of drivers need these functions anyway, as most CIS access is already handled by pcmcia_loop_config(), which now shares the same backed (pccard_loop_tuple()) with pcmcia_loop_tuple(). A pcmcia_get_mac_from_cis() bug noted by Komuro has been fixed in this revision. Signed-off-by: Dominik Brodowski commit af757923a92e6e9dbfdb6b0264be14c564e1c466 Author: Dominik Brodowski Date: Sun Oct 18 19:48:39 2009 +0200 ipwireless: make more use of pcmcia_loop_config() Within the pcmcia_loop_config() callback, we already have all tuple data available we need. Also add a fix to release the IO resource (at least within pcmcia_loop_config() error path). CC: Jiri Kosina CC: David Sterba Signed-off-by: Dominik Brodowski commit aaa8cfdada648a6bae32f62df76cc60137a2b323 Author: Dominik Brodowski Date: Sun Oct 18 18:28:39 2009 +0200 pcmcia: use pcmcia_loop_config in misc pcmcia drivers Use pcmcia_loop_config() in a few drivers missed during the first round. On fmvj18x_cs.c it -- strangely -- only requries us to set conf.ConfigIndex, which is done by the core, so include an empty loop function which returns 0 unconditionally. CC: David S. Miller CC: David Sterba CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org For the ipwireless part: Acked-by: Jiri Kosina Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit 7d2e8d00b47b973c92db4df7444d5e6d3bb945f9 Author: Dominik Brodowski Date: Sun Oct 18 18:22:32 2009 +0200 pcmcia: use pre-determined values A few PCMCIA network drivers can make use of values provided by the pcmcia core, instead of tedious, independent CIS parsing. xirc32ps_cs.c: manf_id hostap_cs.c: multifunction count b43/pcmcia.c: ConfigBase address and "Present" smc91c92_cs.c: By default, mhz_setup() can use VERS_1 as it is stored in struct pcmcia_device. Only some cards require workarounds, such as reading out VERS_1 twice. CC: David S. Miller CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit 549104f22b3cd4761145eb5fba6ee4d59822da61 Author: Clark Williams Date: Sun Nov 8 09:03:07 2009 -0600 perf tools: Modify perf routines to use new debugfs routines modify perf.c get_debugfs_mntpnt() to use the util/debugfs.c debugfs_find_mountpoint() modify util/parse-events.c to use debugfs_valid_mountpoint(). Signed-off-by: Clark Williams Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20091101155720.624cc87e@torg> Signed-off-by: Ingo Molnar commit afe61f677866ffc484e69c4ecca2d316d564d78b Author: Clark Williams Date: Sun Nov 8 09:01:37 2009 -0600 perf tools: Add debugfs utility routines for perf Add routines to locate the debugfs mount point and to manage the mounting and unmounting of the debugfs. Signed-off-by: Clark Williams Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20091101155621.2b3503ee@torg> Signed-off-by: Ingo Molnar commit cf7c25cf91f632a3528669fc0876e1fc8355ff9b Author: Corrado Zoccolo Date: Sun Nov 8 17:16:46 2009 +0100 cfq-iosched: fix next_rq computation Cfq has a bug in computation of next_rq, that affects transition between multiple sequential request streams in a single queue (e.g.: two sequential buffered writers of the same priority), causing the alternation between the two streams for a transient period. 8,0 1 18737 0.260400660 5312 D W 141653311 + 256 8,0 1 20839 0.273239461 5400 D W 141653567 + 256 8,0 1 20841 0.276343885 5394 D W 142803919 + 256 8,0 1 20843 0.279490878 5394 D W 141668927 + 256 8,0 1 20845 0.292459993 5400 D W 142804175 + 256 8,0 1 20847 0.295537247 5400 D W 141668671 + 256 8,0 1 20849 0.298656337 5400 D W 142804431 + 256 8,0 1 20851 0.311481148 5394 D W 141668415 + 256 8,0 1 20853 0.314421305 5394 D W 142804687 + 256 8,0 1 20855 0.318960112 5400 D W 142804943 + 256 The fix makes sure that the next_rq is computed from the last dispatched request, and not affected by merging. 8,0 1 37776 4.305161306 0 D W 141738087 + 256 8,0 1 37778 4.308298091 0 D W 141738343 + 256 8,0 1 37780 4.312885190 0 D W 141738599 + 256 8,0 1 37782 4.315933291 0 D W 141738855 + 256 8,0 1 37784 4.319064459 0 D W 141739111 + 256 8,0 1 37786 4.331918431 5672 D W 142803007 + 256 8,0 1 37788 4.334930332 5672 D W 142803263 + 256 8,0 1 37790 4.337902723 5672 D W 142803519 + 256 8,0 1 37792 4.342359774 5672 D W 142803775 + 256 8,0 1 37794 4.345318286 0 D W 142804031 + 256 Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 4343fe1024e09e17667f95620ed3e69a7a5f4389 Author: Cyrill Gorcunov Date: Sun Nov 8 18:54:31 2009 +0300 x86, ioapic: Use snrpintf while set names for IO-APIC resourses We should be ready that one day MAX_IO_APICS may raise its number. To prevent memory overwrite we're to use safe snprintf while set IO-APIC resourse name. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20091108155431.GC25940@lenovo> Signed-off-by: Ingo Molnar commit 46dc281b1bb02527195fe2ad50a3af6d7f7f7325 Author: Cyrill Gorcunov Date: Sun Nov 8 18:53:56 2009 +0300 x86, apic: Use PAGE_SIZE instead of numbers The whole page is reserved for IO-APIC fixmap due to non-cacheable requirement. So lets note this explicitly instead of playing with numbers. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki LKML-Reference: <20091108155356.GB25940@lenovo> Signed-off-by: Ingo Molnar commit 30ff21e31fe5c8b7b1b7d30cc41e32bc4ee9f175 Author: Li Zefan Date: Thu Sep 10 09:35:20 2009 +0800 ksym_tracer: Remove KSYM_SELFTEST_ENTRY The macro used to be used in both trace_selftest.c and trace_ksym.c, but no longer, so remove it from header file. Signed-off-by: Li Zefan Cc: Prasad Signed-off-by: Frederic Weisbecker commit ba1c813a6b9a0ef14d7112daf51270eff326f037 Author: Frederic Weisbecker Date: Thu Sep 10 09:26:21 2009 +0200 hw-breakpoints: Arbitrate access to pmu following registers constraints Allow or refuse to build a counter using the breakpoints pmu following given constraints. We keep track of the pmu users by using three per cpu variables: - nr_cpu_bp_pinned stores the number of pinned cpu breakpoints counters in the given cpu - nr_bp_flexible stores the number of non-pinned breakpoints counters in the given cpu. - task_bp_pinned stores the number of pinned task breakpoints in a cpu The latter is not a simple counter but gathers the number of tasks that have n pinned breakpoints. Considering HBP_NUM the number of available breakpoint address registers: task_bp_pinned[0] is the number of tasks having 1 breakpoint task_bp_pinned[1] is the number of tasks having 2 breakpoints [...] task_bp_pinned[HBP_NUM - 1] is the number of tasks having the maximum number of registers (HBP_NUM). When a breakpoint counter is created and wants an access to the pmu, we evaluate the following constraints: == Non-pinned counter == - If attached to a single cpu, check: (per_cpu(nr_bp_flexible, cpu) || (per_cpu(nr_cpu_bp_pinned, cpu) + max(per_cpu(task_bp_pinned, cpu)))) < HBP_NUM -> If there are already non-pinned counters in this cpu, it means there is already a free slot for them. Otherwise, we check that the maximum number of per task breakpoints (for this cpu) plus the number of per cpu breakpoint (for this cpu) doesn't cover every registers. - If attached to every cpus, check: (per_cpu(nr_bp_flexible, *) || (max(per_cpu(nr_cpu_bp_pinned, *)) + max(per_cpu(task_bp_pinned, *)))) < HBP_NUM -> This is roughly the same, except we check the number of per cpu bp for every cpu and we keep the max one. Same for the per tasks breakpoints. == Pinned counter == - If attached to a single cpu, check: ((per_cpu(nr_bp_flexible, cpu) > 1) + per_cpu(nr_cpu_bp_pinned, cpu) + max(per_cpu(task_bp_pinned, cpu))) < HBP_NUM -> Same checks as before. But now the nr_bp_flexible, if any, must keep one register at least (or flexible breakpoints will never be be fed). - If attached to every cpus, check: ((per_cpu(nr_bp_flexible, *) > 1) + max(per_cpu(nr_cpu_bp_pinned, *)) + max(per_cpu(task_bp_pinned, *))) < HBP_NUM Changes in v2: - Counter -> event rename Changes in v5: - Fix unreleased non-pinned task-bound-only counters. We only released it in the first cpu. (Thanks to Paul Mackerras for reporting that) Changes in v6: - Currently, events scheduling are done in this order: cpu context pinned + cpu context non-pinned + task context pinned + task context non-pinned events. Then our current constraints are right theoretically but not in practice, because non-pinned counters may be scheduled before we can apply every possible pinned counters. So consider non-pinned counters as pinned for now. Signed-off-by: Frederic Weisbecker Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt commit 24f1e32c60c45c89a997c73395b69c8af6f0a84e Author: Frederic Weisbecker Date: Wed Sep 9 19:22:48 2009 +0200 hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events This patch rebase the implementation of the breakpoints API on top of perf events instances. Each breakpoints are now perf events that handle the register scheduling, thread/cpu attachment, etc.. The new layering is now made as follows: ptrace kgdb ftrace perf syscall \ | / / \ | / / / Core breakpoint API / / | / | / Breakpoints perf events | | Breakpoints PMU ---- Debug Register constraints handling (Part of core breakpoint API) | | Hardware debug registers Reasons of this rewrite: - Use the centralized/optimized pmu registers scheduling, implying an easier arch integration - More powerful register handling: perf attributes (pinned/flexible events, exclusive/non-exclusive, tunable period, etc...) Impact: - New perf ABI: the hardware breakpoints counters - Ptrace breakpoints setting remains tricky and still needs some per thread breakpoints references. Todo (in the order): - Support breakpoints perf counter events for perf tools (ie: implement perf_bpcounter_event()) - Support from perf tools Changes in v2: - Follow the perf "event " rename - The ptrace regression have been fixed (ptrace breakpoint perf events weren't released when a task ended) - Drop the struct hw_breakpoint and store generic fields in perf_event_attr. - Separate core and arch specific headers, drop asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h - Use new generic len/type for breakpoint - Handle off case: when breakpoints api is not supported by an arch Changes in v3: - Fix broken CONFIG_KVM, we need to propagate the breakpoint api changes to kvm when we exit the guest and restore the bp registers to the host. Changes in v4: - Drop the hw_breakpoint_restore() stub as it is only used by KVM - EXPORT_SYMBOL_GPL hw_breakpoint_restore() as KVM can be built as a module - Restore the breakpoints unconditionally on kvm guest exit: TIF_DEBUG_THREAD doesn't anymore cover every cases of running breakpoints and vcpu->arch.switch_db_regs might not always be set when the guest used debug registers. (Waiting for a reliable optimization) Changes in v5: - Split-up the asm-generic/hw-breakpoint.h moving to linux/hw_breakpoint.h into a separate patch - Optimize the breakpoints restoring while switching from kvm guest to host. We only want to restore the state if we have active breakpoints to the host, otherwise we don't care about messed-up address registers. - Add asm/hw_breakpoint.h to Kbuild - Fix bad breakpoint type in trace_selftest.c Changes in v6: - Fix wrong header inclusion in trace.h (triggered a build error with CONFIG_FTRACE_SELFTEST Signed-off-by: Frederic Weisbecker Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt commit 2ae8bb75db1f3de422eb5898f2a063c46c36dba8 Author: Tejun Heo Date: Mon Oct 26 15:41:46 2009 +0100 x86: Fix iommu=nodac parameter handling iommu=nodac should forbid dac instead of enabling it. Fix it. Signed-off-by: Tejun Heo Acked-by: FUJITA Tomonori Cc: Matteo Frigo Cc: # .32.x and older LKML-Reference: <4AE5B52A.4050408@kernel.org> Signed-off-by: Ingo Molnar commit d8c80ce091f6ead6710bc71b58f2c32e5bf855e4 Author: Lai Jiangshan Date: Tue Oct 27 15:45:23 2009 +0800 sched, no_hz: Remove unused rq->last_tick_seen field In 15934a37324f32e0fda633dc7984a671ea81cd75, field last_tick_seen is added to struct rq. But it is unused now. Signed-off-by: Lai Jiangshan Cc: Guillaume Chazarain LKML-Reference: <4AE6A513.6010100@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c82a43d40b93200a10a9fec0a489791e65e135ca Author: Cyrill Gorcunov Date: Mon Oct 26 23:28:11 2009 +0300 irq: Do not attempt to create subdirectories if /proc/irq/ failed If a parent directory (ie /proc/irq/) could not be created we should not attempt to create subdirectories. Otherwise it would lead that "smp_affinity" and "spurious" entries are may be registered under /proc root instead of a proper place. Signed-off-by: Cyrill Gorcunov Cc: Rusty Russell Cc: Yinghai Lu LKML-Reference: <20091026202811.GD5321@lenovo> Signed-off-by: Ingo Molnar commit 338bac527ed0e35b4cb50390972f15d3cbce92ca Author: FUJITA Tomonori Date: Tue Oct 27 16:34:44 2009 +0900 x86: Use x86_platform for iommu_shutdown This patch cleans up pci_iommu_shutdown() a bit to use x86_platform (similar to how IA64 initializes an IOMMU driver). This adds iommu_shutdown() to x86_platform to avoid calling every IOMMUs' shutdown functions in pci_iommu_shutdown() in order. The IOMMU shutdown functions are platform specific (we don't have multiple different IOMMU hardware) so the current way is pointless. An IOMMU driver sets x86_platform.iommu_shutdown to the shutdown function if necessary. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com LKML-Reference: <20091027163358F.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 0420101c075530c65ba00b6fe7291b126fbfc5d2 Author: Randy Dunlap Date: Wed Oct 28 16:09:55 2009 -0700 x86: k8.h: Add struct bootnode k8.h uses struct bootnode but does not #include a header file for it, so provide a simple declaration for it. arch/x86/include/asm/k8.h:13: warning: 'struct bootnode' declared inside parameter list arch/x86/include/asm/k8.h:13: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Acked-by: David Rientjes Cc: Stephen Rothwell LKML-Reference: <20091028160955.d27ccb16.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 0d0fbbddcc27c062815732b38c44b544e656c799 Author: Rusty Russell Date: Thu Nov 5 22:45:41 2009 +1030 x86, msr, cpumask: Use struct cpumask rather than the deprecated cpumask_t This makes the declarations match the definitions, which already use 'struct cpumask'. Signed-off-by: Rusty Russell Acked-by: Borislav Petkov LKML-Reference: <200911052245.41803.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit c12a229bc5971534537a7d0e49e44f9f1f5d0336 Author: Masami Hiramatsu Date: Thu Nov 5 11:03:59 2009 -0500 x86: Remove unused thread_return label from switch_to() Remove unused thread_return label from switch_to() macro on x86-64. Since this symbol cuts into schedule(), backtrace at the latter half of schedule() was always shown as thread_return(). Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20091105160359.5181.26225.stgit@harusame> Signed-off-by: Ingo Molnar commit faa1242c59311525b0f337e95ae3c324a833a8eb Author: Krzysztof Helt Date: Sun Nov 8 11:58:08 2009 +0100 ALSA: es18xx: code improvements 1. Set the third argument of the snd_device_new to not NULL, so there is no warning about bug during chip detection. The third argument is not used in this driver. It was changed in my previous patch. 2. Remove the fm_port and mpu_port fields from the snd_es18xx structure. They can be converted to function arguments. 3. Remove the dmaN_size fields from the snd_es18xx structure. These values are used only in pointer functions and can be easily calculated. 4. Remove the ctrl_lock spinlock which is used only in one read function which is called once during chip initialization. There are many writes to the same register and they are not protected on purpose (see the comment ina the snd_es18xx_config_write()). 5. Use the first part of the text5Sources string table as the text4Soruces table (they are the same). 6. Merge the same cases for the ES1887 and ES1888 when setting chip's caps. 7. Move the snd_es18xx_reset() to __devinit section. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit e0000163e30eeb112b41486ea113fd54f64e1f17 Author: Christian Pellegrin Date: Mon Nov 2 23:07:00 2009 +0000 can: Driver for the Microchip MCP251x SPI CAN controllers Signed-off-by: Christian Pellegrin Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 8d06367fa79c053a4a56a2ce0bb9e840f5da1236 Author: Arnaldo Carvalho de Melo Date: Wed Nov 4 18:50:43 2009 -0200 perf symbols: Use the buildids if present With this change 'perf record' will intercept PERF_RECORD_MMAP calls, creating a linked list of DSOs, then when the session finishes, it will traverse this list and read the buildids, stashing them at the end of the file and will set up a new feature bit in the header bitmask. 'perf report' will then notice this feature and populate the 'dsos' list and set the build ids. When reading the symtabs it will refuse to load from a file that doesn't have the same build id. This improves the reliability of the profiler output, as symbols and profiling data is more guaranteed to match. Example: [root@doppio ~]# perf report | head /home/acme/bin/perf with build id b1ea544ac3746e7538972548a09aadecc5753868 not found, continuing without symbols # Samples: 2621434559 # # Overhead Command Shared Object Symbol # ........ ............... ............................. ...... # 7.91% init [kernel] [k] read_hpet 7.64% init [kernel] [k] mwait_idle_with_hints 7.60% swapper [kernel] [k] read_hpet 7.60% swapper [kernel] [k] mwait_idle_with_hints 3.65% init [kernel] [k] 0xffffffffa02339d9 [root@doppio ~]# In this case the 'perf' binary was an older one, vanished, so its symbols probably wouldn't match or would cause subtly different (and misleading) output. Next patches will support the kernel as well, reading the build id notes for it and the modules from /sys. Another patch should also introduce a new plumbing command: 'perf list-buildids' that will then be used in porcelain that is distro specific to fetch -debuginfo packages where such buildids are present. This will in turn allow for one to run 'perf record' in one machine and 'perf report' in another. Future work on having the buildid sent directly from the kernel in the PERF_RECORD_MMAP event is needed to close races, as the DSO can be changed during a 'perf record' session, but this patch at least helps with non-corner cases and current/older kernels. Signed-off-by: Arnaldo Carvalho de Melo Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: Jim Keniston Cc: K. Prasad Cc: Masami Hiramatsu Cc: Peter Zijlstra Cc: Roland McGrath Cc: Srikar Dronamraju Cc: Steven Rostedt LKML-Reference: <1257367843-26224-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 444a2a3bcd6d5bed5c823136f68fcc93c0fe283f Author: Frederic Weisbecker Date: Fri Nov 6 04:13:05 2009 +0100 tracing, perf_events: Protect the buffer from recursion in perf While tracing using events with perf, if one enables the lockdep:lock_acquire event, it will infect every other perf trace events. Basically, you can enable whatever set of trace events through perf but if this event is part of the set, the only result we can get is a long list of lock_acquire events of rcu read lock, and only that. This is because of a recursion inside perf. 1) When a trace event is triggered, it will fill a per cpu buffer and submit it to perf. 2) Perf will commit this event but will also protect some data using rcu_read_lock 3) A recursion appears: rcu_read_lock triggers a lock_acquire event that will fill the per cpu event and then submit the buffer to perf. 4) Perf detects a recursion and ignores it 5) Perf continues its work on the previous event, but its buffer has been overwritten by the lock_acquire event, it has then been turned into a lock_acquire event of rcu read lock Such scenario also happens with lock_release with rcu_read_unlock(). We could turn the rcu_read_lock() into __rcu_read_lock() to drop the lock debugging from perf fast path, but that would make us lose the rcu debugging and that doesn't prevent from other possible kind of recursion from perf in the future. This patch adds a recursion protection based on a counter on the perf trace per cpu buffers to solve the problem. -v2: Fixed lost whitespace, added reviewed-by tag Signed-off-by: Frederic Weisbecker Reviewed-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt Cc: Li Zefan Cc: Jason Baron LKML-Reference: <1257477185-7838-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit bfde82ef51e3ea6ab8634d0fdbf5adcdd1b429cb Author: Hitoshi Mitake Date: Thu Nov 5 09:31:37 2009 +0900 perf bench: Add subcommand 'bench' to the Makefile This patch modifies Makefile for new files related to 'bench' subcommand. The new code is active from this point on. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-8-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit dcba8848d3bc83ec9ee0858b9ae6e4f1c1fa7fa3 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:36 2009 +0900 perf bench: Add new subcommand 'bench' to perf.c This patch modifies perf.c for invoking 'bench' subcommand. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-7-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 11bd341c043348ecb7462d3bd8e1ad6d00f6892a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:35 2009 +0900 perf bench: Modify builtin.h for new prototype This patch modifies builtin.h to add prototype of cmd_bench(). Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-6-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 629cc356653719c206a05f4dee5c5e242edb6546 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:34 2009 +0900 perf bench: Add builtin-bench.c: General framework for benchmark suites This patch adds builtin-bench.c builtin-bench.c is a general framework for benchmark suites. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-5-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit c7d9300f367f480aee4663a0e3695c5b48859a1a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:33 2009 +0900 perf bench: Add sched-pipe.c: Benchmark for pipe() system call This patch adds bench/sched-pipe.c. bench/sched-pipe.c is a benchmark program to measure performance of pipe() system call. This benchmark is based on pipe-test-1m.c by Ingo Molnar: http://people.redhat.com/mingo/cfs-scheduler/tools/pipe-test-1m.c Example of use: % perf bench sched pipe (executing 1000000 pipe operations between two tasks) Total time:4.499 sec 4.499179 usecs/op 222262 ops/sec % perf bench sched pipe -s -l 1000 0.015 Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit e27454cc6352c4226ddc76f5e3a5dedd7dff456a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:32 2009 +0900 perf bench: Add sched-messaging.c: Benchmark for scheduler and IPC mechanisms based on hackbench This patch adds bench/sched-messaging.c. This benchmark measures performance of scheduler and IPC mechanisms, and is based on hackbench by Rusty Russell. Example of usage: % perf bench sched messaging -g 20 -l 1000 -s 5.432 # in sec % perf bench sched messaging # run with default options (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:0.308 sec % perf bench sched messaging -t -g 20 # # be multi-thread, with 20 groups (20 sender and receiver threads per group) (20 groups == 800 threads run) Total time:0.582 sec ( Rusty is the original author of hackbench.c and he said the code is and was under the GPLv2 so fine to be merged. ) Signed-off-by: Hitoshi Mitake Acked-by: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit c426bba069e65ea438880a04aa4e7c5b880e1728 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:31 2009 +0900 perf bench: Add new directory and header for new subcommand 'bench' This patch adds bench/ directory and bench/bench.h. bench/ directory will contain modules for bench subcommand. bench/bench.h is for listing prototypes of module functions. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 81adee47dfb608df3ad0b91d230fb3cef75f0060 Author: Eric W. Biederman Date: Sun Nov 8 00:53:51 2009 -0800 net: Support specifying the network namespace upon device creation. There is no good reason to not support userspace specifying the network namespace during device creation, and it makes it easier to create a network device and pass it to a child network namespace with a well known name. We have to be careful to ensure that the target network namespace for the new device exists through the life of the call. To keep that logic clear I have factored out the network namespace grabbing logic into rtnl_link_get_net. In addtion we need to continue to pass the source network namespace to the rtnl_link_ops.newlink method so that we can find the base device source network namespace. Signed-off-by: Eric W. Biederman Acked-by: Eric Dumazet commit f7a3a1d8affe563846fc17f0e7c0cc1500190c57 Author: Joe Perches Date: Wed Nov 4 10:26:13 2009 +0000 appletalk/ddp.c: Neaten checksum function atalk_sum_partial can now use the rol16 function in bitops.h Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit fd5c00276127661f12e0315e3bbec41a1c0be376 Author: Eric Dumazet Date: Fri Nov 6 07:01:17 2009 +0000 ipv6: avoid dev_hold()/dev_put() in rawv6_bind() Using RCU helps not touching device refcount in rawv6_bind() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 18294ad1ecccffe6a91f6914dc1f4acd8995736a Author: Anton Vorontsov Date: Wed Nov 4 12:53:00 2009 +0000 gianfar: Fix compiler and sparse warnings commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9de83 ("gianfar: Add Multiple Queue Support") introduced the following warnings: CHECK gianfar.c gianfar.c:333:8: warning: incorrect type in assignment (different address spaces) gianfar.c:333:8: expected unsigned int [usertype] *baddr gianfar.c:333:8: got unsigned int [noderef] * [... 67 lines skipped ...] gianfar.c:2565:3: warning: incorrect type in argument 1 (different type sizes) gianfar.c:2565:3: expected unsigned long const *addr gianfar.c:2565:3: got unsigned int * CC gianfar.o gianfar.c: In function 'gfar_probe': gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c: In function 'gfar_configure_coalescing': gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c: In function 'gfar_poll': gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:2566: warning: passing argument 2 of 'test_bit' from incompatible pointer type gianfar.c:2585: warning: passing argument 2 of 'set_bit' from incompatible pointer type Following warnings left unfixed (looks like sparse doesn't like locks in loops, so __acquires/__releases() doesn't help): gianfar.c:441:40: warning: context imbalance in 'lock_rx_qs': wrong count at exit gianfar.c:441:40: context '': wanted 0, got 1 gianfar.c:449:40: warning: context imbalance in 'lock_tx_qs': wrong count at exit gianfar.c:449:40: context '': wanted 0, got 1 gianfar.c:458:3: warning: context imbalance in 'unlock_rx_qs': __context__ statement expected different context gianfar.c:458:3: context '': wanted >= 0, got -1 gianfar.c:466:3: warning: context imbalance in 'unlock_tx_qs': __context__ statement expected different context gianfar.c:466:3: context '': wanted >= 0, got -1 Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 6748f60b948230684fe3f295220e76679c5efc52 Author: Anton Vorontsov Date: Wed Nov 4 12:52:57 2009 +0000 fsl_pq_mdio: Fix compiler/sparse warnings (part 2) This patch fixes following warnings: fsl_pq_mdio.c:112:38: warning: cast adds address space to expression () fsl_pq_mdio.c:124:38: warning: cast adds address space to expression () fsl_pq_mdio.c:133:38: warning: cast adds address space to expression () fsl_pq_mdio.c:414:11: warning: cast adds address space to expression () Instead of adding __force all over the place, introduce convenient fsl_pq_mdio_get_regs() call that does the ugly casting just once. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 2951d64e70652bb11636a5a1f1f2ea295a043f94 Author: Anton Vorontsov Date: Wed Nov 4 12:52:56 2009 +0000 fsl_pq_mdio: Fix compiler/sparse warnings (part 1) commit 1d2397d742b7a2b39b2f09dd9da3b9d1463f55e9 ("fsl_pq_mdio: Add Suport for etsec2.0 devices") introduced the following warnings: CHECK fsl_pq_mdio.c fsl_pq_mdio.c:287:22: warning: incorrect type in initializer (different base types) fsl_pq_mdio.c:287:22: expected unknown type 11 const *__mptr fsl_pq_mdio.c:287:22: got unsigned long long [unsigned] [assigned] [usertype] addr fsl_pq_mdio.c:287:19: warning: incorrect type in assignment (different base types) fsl_pq_mdio.c:287:19: expected unsigned long long [unsigned] [usertype] ioremap_miimcfg fsl_pq_mdio.c:287:19: got struct fsl_pq_mdio * CC fsl_pq_mdio.o fsl_pq_mdio.c: In function 'fsl_pq_mdio_probe': fsl_pq_mdio.c:287: warning: initialization makes pointer from integer without a cast fsl_pq_mdio.c:287: warning: assignment makes integer from pointer without a cast These warnings are not easy to fix without ugly __force casts. So, instead of introducing the casts, rework the code to substitute an offset from an already mapped area. This makes the code a lot simpler and less duplicated. Plus, from now on we don't actually map reserved registers on non-etsec2.0 devices, so we have more chances to catch programming errors. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8a2fe6c76e230a4591373fdf77c09c36bc9c1318 Author: Thomas Gleixner Date: Sat Nov 7 22:41:03 2009 -0800 sparc: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit c939e5c82142978d9d534aca34187a8489fd13f3 Author: Grant Likely Date: Sat Nov 7 01:34:43 2009 -0700 ASoC/mpc5200: fix enable/disable of AC97 slots The MPC5200 AC97 driver is disabling the slots when a stop trigger is received, but not reenabling them if the stream is started again without processing the hw_params again. This patch fixes the problem by caching the slot enable bit settings calculated at hw_params time so that they can be reapplied every time the start trigger is received. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1d8222e8df07ce4f86fb7fa80b02bdee03b57985 Author: Grant Likely Date: Sat Nov 7 01:34:31 2009 -0700 ASoC/mpc5200: add to_psc_dma_stream() helper Move the resolving of the psc_dma_stream pointer to a helper function to reduce duplicate code Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c4878274750ae0bb90c351a737ac6cdcb608e546 Author: Grant Likely Date: Sat Nov 7 01:34:18 2009 -0700 ASoC/mpc5200: Improve printk debug output for trigger Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d56b6eb6df7f6fb92383a52d640e27f71e6262d0 Author: Grant Likely Date: Sat Nov 7 01:34:05 2009 -0700 ASoC/mpc5200: get rid of the appl_ptr tracking nonsense Sound drivers PCM DMA is supposed to free-run until told to stop by the trigger callback. The current code tries to track appl_ptr, to avoid stale buffer data getting played out at the end of the data stream. Unfortunately it also results in race conditions which can cause the audio to stall. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8f159d720b89f2a6c5ae8a8cc54823933a58120b Author: Grant Likely Date: Sat Nov 7 01:33:53 2009 -0700 ASoC/mpc5200: Track DMA position by period number instead of bytes All DMA blocks are lined up to period boundaries, but the DMA handling code tracks bytes instead. This patch reworks the code to track the period index into the DMA buffer instead of the physical address pointer. Doing so makes the code simpler and easier to understand. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit e0d087af725b09358336098a6b57bb7f90f96175 Author: Eric Dumazet Date: Sat Nov 7 01:26:17 2009 -0800 rtnetlink: Cleanups Pure cleanups patch Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cae37fa98f4d50778161ec033122444e3c10a01 Author: Takashi Iwai Date: Sat Nov 7 10:18:22 2009 +0100 ASoC: Remove dead code and labels Remove the dead code and labels "card_err" in the error paths of some codec drivers. Signed-off-by: Takashi Iwai commit b215c57dcc847b15693899d26aa0ee4669dacefb Author: Arnd Bergmann Date: Thu Nov 5 04:37:30 2009 +0000 net: kill proto_ops wrapper All users of wrapped proto_ops are now gone, so we can safely remove the wrappers as well. Cc: David S. Miller Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 91774904fbf0fe1c71441dd8299342a4654f7103 Author: Arnd Bergmann Date: Thu Nov 5 04:37:29 2009 +0000 net/x25: push BKL usage into x25_proto The x25 driver uses lock_kernel() implicitly through its proto_ops wrapper. The makes the usage explicit in order to get rid of that wrapper and to better document the usage of the BKL. The next step should be to get rid of the usage of the BKL in x25 entirely, which requires understanding what data structures need serialized accesses. Cc: Henner Eisen Cc: David S. Miller Cc: linux-x25@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 58a9d73202dd40076992154e9acfb98489cc8eab Author: Arnd Bergmann Date: Fri Nov 6 00:38:01 2009 -0800 net/irda: push BKL into proto_ops The irda driver uses the BKL implicitly in its protocol operations. Replace the wrapped proto_ops with explicit lock_kernel() calls makes the usage more obvious and shrinks the size of the object code. The calls t lock_kernel() should eventually all be replaced by other serialization methods, which requires finding out The calls t lock_kernel() should eventually all be replaced by other serialization methods, which requires finding out which data actually needs protection. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 83927ba069a65326f39991a02d6a49ba3b7cea44 Author: Arnd Bergmann Date: Thu Nov 5 04:37:27 2009 +0000 net/ipx: push down BKL into a ipx_dgram_ops Making the BKL usage explicit in ipx makes it more obvious where it is used, reduces code size and helps getting rid of the BKL in common code. I did not analyse how to kill lock_kernel from ipx entirely, this will involve either proving that it's not needed, or replacing with a proper mutex or spinlock, after finding out which data structures are protected by the lock. Cc: Arnaldo Carvalho de Melo Cc: David S. Miller Cc: Stephen Hemminger Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit ecced8ba8759c16337fc6785d7bab8931ca55cf6 Author: Arnd Bergmann Date: Thu Nov 5 04:37:26 2009 +0000 net/appletalk: push down BKL into a atalk_dgram_ops Making the BKL usage explicit in appletalk makes it more obvious where it is used, reduces code size and helps getting rid of the BKL in common code. I did not analyse how to kill lock_kernel from appletalk entirely, this will involve either proving that it's not needed, or replacing with a proper mutex or spinlock, after finding out which data structures are protected by the lock. Cc: Arnaldo Carvalho de Melo Cc: David S. Miller Cc: Stephen Hemminger Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit c6060be46fbda5af651b6ed2b85502ccbb3d9279 Author: Jie Yang Date: Fri Nov 6 00:32:05 2009 -0800 atl1c: change atl1c_buffer struct and restructure clean atl1c_buffer procedure change atl1c_buffer struct, use "u16 flags" instead of "u16 state" to store more infomation for atl1c_buffer, and restructure clean atl1c_buffer procedure, add common api atl1c_clean_buffer. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit d3bcfefaca27c1bfc8f740f5fff5b25d52ed1211 Author: Thomas Gleixner Date: Fri Nov 6 22:17:25 2009 -0800 net: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use DEFINE_SPINLOCK instead. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit b622d97a63ad4ce890b625c62acd1bb894592e63 Author: David S. Miller Date: Fri Nov 6 20:46:52 2009 -0800 net: compat: No need to define IFHWADDRLEN and IFNAMSIZ twice. It's defined colloqually in linux/if.h and linux/compat.h includes that. Signed-off-by: David S. Miller commit 9177efd3991e2cb3f5643a01d3be22121cab6efc Author: Arnd Bergmann Date: Fri Nov 6 08:09:09 2009 +0000 net, compat_ioctl: handle more ioctls correctly The MII ioctls and SIOCSIFNAME need to go through ifsioc conversion, which they never did so far. Some others are not implemented in the native path, so we can just return -EINVAL directly. Add IFSLAVE ioctls to the EINVAL list and move it to the end to optimize the code path for the common case. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 6b96018b28bd93274b4b2a4c633a5d373fda0441 Author: Arnd Bergmann Date: Fri Nov 6 23:10:54 2009 -0800 compat: move sockios handling to net/socket.c This removes the original socket compat_ioctl code from fs/compat_ioctl.c and converts the code from the copy in net/socket.c into a single function. We add a few cycles of runtime to compat_sock_ioctl() with the long switch() statement, but gain some cycles in return by simplifying the call chain to get there. Due to better inlining, save 1.5kb of object size in the process, and enable further savings: before: text data bss dec hex filename 13540 18008 2080 33628 835c obj/fs/compat_ioctl.o 14565 636 40 15241 3b89 obj/net/socket.o after: text data bss dec hex filename 8916 15176 2080 26172 663c obj/fs/compat_ioctl.o 20725 636 40 21401 5399 obj/net/socket.o Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 206602217747382488fcae68351673cc9103debc Author: Arnd Bergmann Date: Fri Nov 6 08:09:06 2009 +0000 appletalk: handle SIOCATALKDIFADDR compat ioctl We must not have a compat ioctl handler for SIOCATALKDIFADDR in common code, because the same number is used in other protocols with different data structures. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 7a229387d317df525ebd19e146493db7f2694b8b Author: Arnd Bergmann Date: Fri Nov 6 23:00:29 2009 -0800 net: copy socket ioctl code to net/socket.h This makes an identical copy of the socket compat_ioctl code from fs/compat_ioctl.c to net/socket.c, as a preparation for moving the functionality in a way that can be easily reviewed. The code is hidden inside of #if 0 and gets activated in the patch that will make it work. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 9646e7ce3d1955478aa0573b36c151ab4b649486 Author: Arnd Bergmann Date: Fri Nov 6 22:51:16 2009 -0800 net, compat_ioctl: handle socket ioctl abuses in tty drivers Slip and a few other drivers use the same ioctl numbers on tty devices that are normally meant for sockets. This causes problems with our compat_ioctl handling that tries to convert the data structures in a different format. Fortunately, these five drivers all use 32 bit compatible data structures in the ioctl numbers, so we can just add a trivial compat_ioctl conversion function to each of them. SIOCSIFENCAP and SIOCGIFENCAP do not need to live in fs/compat_ioctl.c after this any more, and they are not used on any sockets. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 50857e2a59d8beddc6bb76137df026d67f30d5ca Author: Arnd Bergmann Date: Fri Nov 6 22:52:32 2009 -0800 net/tun: handle compat_ioctl directly The tun driver is the only code in the kernel that operates on a character device with struct ifreq. Change the driver to handle the conversion itself so we can contain the remaining ifreq handling in the socket layer. This also fixes a bug in the handling of invalid ioctl numbers on an unbound tun device. The driver treats this as a TUNSETIFF in native mode, but there is no way for the generic compat_ioctl() function to emulate this behaviour. Possibly the driver was only doing this accidentally anyway, but if any code relies on this misfeature, it now also works in compat mode. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 4df286e52917c95c415400367cfd523dfbb0f93a Author: Thomas Gleixner Date: Fri Nov 6 22:16:32 2009 -0800 sparc: Make atomic locks raw SPIN_LOCK_UNLOCKED is deprecated and the locks which protect the atomic operations have no dependency on other locks and the code is well tested so the conversion to a raw lock is safe. Make the lock array static while at it. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 2dceba14ef0e62738d58777a1bd4018130d47a74 Author: Arnd Bergmann Date: Fri Nov 6 08:09:03 2009 +0000 compat: add struct compat_ifreq etc to compat.h In order to move socket ioctl conversion code into multiple places in the socket code, we need a common defintion of the data structures it uses. Also change the name from ifreq32 to compat_ifreq to follow the naming convention for compat.h Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 10d626f4f444b419046309c10f25515adbffcb16 Merge: 62d8368 bb1cafb Author: David S. Miller Date: Fri Nov 6 17:57:51 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit e9d1e4921d5b62a80ed02851639249e2548d24f1 Author: Thomas Gleixner Date: Fri Nov 6 22:41:23 2009 +0000 PCI: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use DEFINE_SPINLOCK instead. Make the lock static while at it. Signed-off-by: Thomas Gleixner Signed-off-by: Jesse Barnes commit 5b5d94487d934be6b0aa966c9acbdf15b07ef627 Author: Isaku Yamahata Date: Fri Nov 6 11:11:43 2009 +0900 ia64/xen: compilation fix This patch fixes the following compilation error introduced by a PCI related features. The change set of 5dd1af9f84c79bedd589db89e71ca733f3bf0ebd moves some xen related definitions from the arch header file (x86/include/asm/xen/hypervisor.h) to the common header file (include/xen/xen.h). So ia64/xen also follows it. In file included from linux-next/include/xen/grant_table.h:41, from linux-next/drivers/block/xen-blkfront.c:48: linux-next/arch/ia64/include/asm/xen/hypervisor.h:43: error: nested redefinition of 'enum xen_domain_type' linux-next/arch/ia64/include/asm/xen/hypervisor.h:43: error: redeclaration of 'enum xen_domain_type' linux-next/arch/ia64/include/asm/xen/hypervisor.h:44: error: redeclaration of enumerator 'XEN_NATIVE' linux-next/include/xen/xen.h:5: error: previous definition of 'XEN_NATIVE' was here linux-next/arch/ia64/include/asm/xen/hypervisor.h:45: error: redeclaration of enumerator 'XEN_PV_DOMAIN' linux-next/include/xen/xen.h:6: error: previous definition of 'XEN_PV_DOMAIN' was here linux-next/arch/ia64/include/asm/xen/hypervisor.h:46: error: redeclaration of enumerator 'XEN_HVM_DOMAIN' linux-next/include/xen/xen.h:7: error: previous definition of 'XEN_HVM_DOMAIN' was here Signed-off-by: Isaku Yamahata Signed-off-by: Jesse Barnes commit 9b536e0b6164d8875b4a5bb66cc102dcf0badeba Author: Kenji Kaneshige Date: Wed Nov 4 05:59:55 2009 +0200 PCI hotplug: fix oshp evaluation If firmware doesn't grant over native hotplug control through ACPI _OSC method, we must not evaluate OSHP. Acked-by: Andrew Patterson Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit e0cd5160346f5b88fe536f529066f102518f8acd Author: Andreas Herrmann Date: Fri Apr 17 12:01:55 2009 +0200 PCI: derive nearby CPUs from device's instead of bus' NUMA information In case of AMD CPU northbridge functions this NUMA information might differ. Here is an example from a 4-socket system. Currently Linux shows root@hagen:/sys/devices/pci0000:00/0000:00:1a.4# cat numa_node 0 root@hagen:/sys/devices/pci0000:00/0000:00:1a.4# cat local_cpu* 0-3 00000000,0000000f which is not correct for northbridge functions as the local CPUs are those of the same socket. With this patch and a quirk for AMD CPU NB functions Linux can do better and correctly show root@hagen:/sys/devices/pci0000:00/0000:00:1a.4# cat numa_node 2 root@hagen:/sys/devices/pci0000:00/0000:00:1a.4# cat local_cpu* 8-11 00000000,00000f00 Signed-off-by: Andreas Herrmann Signed-off-by: Jesse Barnes commit ea7f1b6ee9dc96c5827b06ba21d7769d553efb7d Author: Bjorn Helgaas Date: Thu Nov 5 11:17:11 2009 -0600 x86/PCI: remove 64-bit division The roundup() caused a build error (undefined reference to `__udivdi3'). We're aligning to power-of-two boundaries, so it's simpler to just use ALIGN() anyway, which avoids the division. Signed-off-by: Bjorn Helgaas Acked-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 0efea0006335a2425b1a12a2ad35efad626fe353 Author: Kenji Kaneshige Date: Thu Nov 5 12:05:11 2009 +0900 PCI: cache PCIe capability offset There are a lot of codes that searches PCI express capability offset in the PCI configuration space using pci_find_capability(). Caching it in the struct pci_dev will reduce unncecessary search. This patch adds an additional 'pcie_cap' fields into struct pci_dev, which is initialized at pci device scan time (in set_pcie_port_type()). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit bcb628d579a61d0ab0cac4c6cc8a403de5254920 Author: John W. Linville Date: Fri Nov 6 16:40:16 2009 -0500 mwl8k: use integral index instead of pointer for driver_data Use of an integral index makes adding new device IDs through sysfs more practical. Signed-off-by: John W. Linville commit 6f6d1e9a8a7fea5e4400cad64bed717e322208e1 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:48 2009 +0200 mwl8k: add support for the 88w8366 Add support for the 88w8366 firmware receive descriptor format, and add the 88w8366 PCI ID. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 2e484c8964f7845d320eb1161c514dbfcafdda78 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:43 2009 +0200 mwl8k: implement AP firmware EDCA parameter configuration Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 259a8e7ddd55485b4a75ec39bc6716745c08fce0 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:40 2009 +0200 mwl8k: add AP firmware (mbss) handling to mwl8k_set_mac_addr() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5e4cf166f4a9801ea9ca1bab210d763d27538de6 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:38 2009 +0200 mwl8k: add AP firmware handling to ->start() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c0adae2caa1a152c6ec691c5d1e815e47dac2a0c Author: Lennert Buytenhek Date: Thu Oct 22 20:21:36 2009 +0200 mwl8k: add AP firmware handling to ->configure_filter() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 08b063477e45cb366df7204cbcdc79ff86513ef9 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:33 2009 +0200 mwl8k: implement AP firmware antenna configuration Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 42fba21d56df644887488a29b158cc8916b9ba99 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:30 2009 +0200 mwl8k: add the commands used for AP firmware initialisation Add the AP version of the GET_HW_SPEC command, as well as the SET_HW_SPEC command, for initialising AP firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 04b147b19303724aac5ee8e56f113f1935a5c255 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:05 2009 +0200 mwl8k: rename mwl8k_cmd_get_hw_spec() to mwl8k_cmd_get_hw_spec_sta() As the AP version of the command uses a different format. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 547810e3af15cf9efc3b3ebaa7b006ef606fc892 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:02 2009 +0200 mwl8k: set ->interface_modes from the driver data As different chip/firmware combinations support different interface types. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 54bc3a0d7a0c9a13da31183609c42cf7786138e1 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:59 2009 +0200 mwl8k: allow for different receive descriptor formats As the receive descriptor format is determined by the firmware running on the hardware and not by the hardware itself, and as these descriptor formats vary a bit between different firmware releases, abstract out the receive descriptor init/refill/process methods, and allow choosing between different formats at run time depending on the chip and firmware we're running on. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 788838ebe8a4caca93a91982c7bbf393edf24c08 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:56 2009 +0200 mwl8k: use pci_unmap_addr{,set}() to keep track of unmap addresses on rx Instead of reading back the unmap address from the receive descriptor when doing receive processing, use DECLARE_PCI_UNMAP_ADDR and pci_unmap_addr{,set}() to keep track of these addresses. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit eae74e6545d995ab0baa8fb07309f714d9616293 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:53 2009 +0200 mwl8k: handle loading AP firmware images AP and STA firmware images provide a different signature in the HIU_INT_CODE register after loading. Record which of the signatures we saw, as it determines which command sequences to use later on. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a74b295edb3e2b39d6c03255b24dca862a843c59 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:50 2009 +0200 mwl8k: spell out the names of firmware images in the pci driver data To allow use of a more flexible firmware file naming scheme. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 45a390ddd70d8bec0b17dd37bc8f77372c9c3d33 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:47 2009 +0200 mwl8k: change pci id table driver data to a structure pointer To prepare for adding support for more device types, introduce a new structure, mwl8k_device_info, where per-device information can be stored, and change the pci id table driver data from an integer indicating only the part number to a pointer to a mwl8k_device_info structure. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit af81858172cc0f3da81946aab919c26e4b364efc Author: Johannes Berg Date: Fri Nov 6 11:35:50 2009 +0100 mac80211: async station powersave handling Some devices require that all frames to a station are flushed when that station goes into powersave mode before being able to send frames to that station again when it wakes up or polls -- all in order to avoid reordering and too many or too few frames being sent to the station when it polls. Normally, this is the case unless the station goes to sleep and wakes up very quickly again. But in that case, frames for it may be pending on the hardware queues, and thus races could happen in the case of multiple hardware queues used for QoS/WMM. Normally this isn't a problem, but with the iwlwifi mechanism we need to make sure the race doesn't happen. This makes mac80211 able to cope with the race with driver help by a new WLAN_STA_PS_DRIVER per-station flag that can be controlled by the driver and tells mac80211 whether it can transmit frames or not. This flag must be set according to very specific rules outlined in the documentation for the function that controls it. When we buffer new frames for the station, we normally set the TIM bit right away, but while the driver has blocked transmission to that sta we need to avoid that as well since we cannot respond to the station if it wakes up due to the TIM bit. Once the driver unblocks, we can set the TIM bit. Similarly, when the station just wakes up, we need to wait until all other frames are flushed before we can transmit frames to that station, so the same applies here, we need to wait for the driver to give the OK. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 70d9f405d09e334b609702d88ee03b6119c4b45e Author: Larry Finger Date: Thu Nov 5 00:09:51 2009 -0600 rtl8187: Remove deprecated 'qual' from returned RX status The qual member of ieee80211_rx_status is deprecated. As a result, this driver no longer needs to calculate a quality value. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 715caaeb896a51fe1583f306fb10b22cfab4f7fd Author: Larry Finger Date: Thu Nov 5 00:09:15 2009 -0600 b43legacy: Remove deprecated 'qual' from returned RX status With the deprecation of the qual member of ieee80211_rx_status, that calculation and an associated constant can be removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c1b84ab059541517f51df534e87071723264833d Author: Larry Finger Date: Thu Nov 5 00:08:59 2009 -0600 b43: Remove deprecated 'qual' from returned RX status With the deprecation of the qual member of ieee80211_rx_status, that calculation and an associated constant can be removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 77c8258ff7e6788d3889e7062607e891618d811f Author: Keng-Yu Lin Date: Thu Nov 5 11:21:37 2009 +0800 ath5k: add LED support for Acer Aspire One AO751h/AO531h Add LED support for a Foxconn AR242X module, found on the Acer Aspire One models AO751h/AO531h Signed-off-by: Keng-Yu Lin Signed-off-by: John W. Linville commit 2ce33995216a088fc11e1f85768375580324174c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:37:05 2009 +0100 rt2800: add rt2800lib (part four) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit fcf5154118849cca3cdf424e83f863225d8173e7 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:57 2009 +0100 rt2800: add rt2800lib (part three) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1f285f1423e456cfa14331987782edeca64d8e70 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:50 2009 +0100 rt2x00: move REGISTER_BUSY_* definitions to rt2x00.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f445061630c7a4a85193fdef006234f94f71c366 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:40 2009 +0100 rt2800: add rt2800lib (part two) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 89297425c2104b187c25d6260a41345c491c8f18 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:24 2009 +0100 rt2800: add rt2800lib (part one) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4d6f8b9f17626da48d6badc6ba259fbacc1413c3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:17 2009 +0100 rt2800: prepare for rt2800lib addition Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5822e0701d9c29291f16cf170417071b702edeee Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:10 2009 +0100 rt2x00: add support for different chipset interfaces Enhance rt2x00 infrastructure by adding explicit information about used chipset interface to struct rt2x00_chip. The new field will be used by rt2800 drivers for rt2800 library. Also add commonly used rt2x00_intf_is_pci() and rt2x00_intf_is_usb() helpers to make code easier to read (noticed by Ivo van Doorn). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a4385213883420f2f0f77e531fb96489ca001239 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:02 2009 +0100 rt2800: fix comments in rt2800.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b54f78a8b7a108a4abc81d88d641769726be23c1 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:54 2009 +0100 rt2800: fix duplication in header files Updated debugging scripts are located here: http://www.kernel.org/pub/linux/kernel/people/bart/rt2800/scripts/ (they also work fine with older drivers) Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit d42c8d86ca52185c053f3352c57b46857573307a Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:47 2009 +0100 rt2800usb: add RXINFO_DESC_SIZE definition Add RXINFO_DESC_SIZE definition and use it instead of abusing RXD_DESC_SIZE one (TXD_DESC_SIZE and RXD_DESC_SIZE are specific to PCI version of the chipset). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7ef5cc92bac940419f022e11115a28daea53814f Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:32 2009 +0100 rt2800: add rt2800lib.h Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 473196bd9935f0efd4c5f1cda28229e7dcff564c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:25 2009 +0100 rt2x00: fix rt2x00pci_register_multi[read,write]() arguments Change type of 'length' argument from u16 to u32 (all arguments match rt2x00usb_register_multi[read,write]() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f255b92b570325dfbd4c4a791a0eda7999e67fe7 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:18 2009 +0100 rt2x00: fix rt2x00usb_regbusy_read() arguments Add const to 'field' argument of rt2x00usb_regbusy_read() (all arguments match rt2x00pci_regbusy_read() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5b10b09898bf00350a68af4cdaf96c393b252591 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:10 2009 +0100 rt2x00: fix rt2x00usb_register_multiwrite() arguments Add const to 'value' argument of rt2x00usb_register_multiwrite() (all arguments match rt2x00pci_register_multiwrite() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b0a1edabd31a18de3c6380022af0804592bded14 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:00 2009 +0100 rt2800pci: convert to use struct rt2800_ops methods Add chipset registers access abstraction layer and prepare for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7a345d3d2512769ca693d4844b215ae2cc267dce Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:53 2009 +0100 rt2800usb: convert to use struct rt2800_ops methods Add chipset registers access abstraction layer and prepare for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ee134fcc552e17e708346a183076db21b8c49188 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:46 2009 +0100 rt2x00: add driver private field to struct rt2x00_dev Enhance rt2x00 infrastructure by adding driver specific field to struct rt2x00_dev. The new field will be used by rt2800 drivers for chipset registers access abstraction layer. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3a9e5b0fff63bb87dd6e0f9c60626e16d81192af Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:39 2009 +0100 rt2800pci: add rt2800_mcu_request() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4f2c53268ad1bdc7d6d12ca8bd110bb288a14300 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:32 2009 +0100 rt2800usb: add rt2800_mcu_request() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ada0394cede08702b604a4c8ee13409a4109e773 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:25 2009 +0100 rt2800pci: add rt2800_rf_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5c70e5bb36584a1c1d5be85e40aabac3a8f68d83 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:18 2009 +0100 rt2800usb: add rt2800_rf_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1af68f75a808d02997ad0c6dde9e37f43b7dfcb4 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:11 2009 +0100 rt2800pci: add rt2800_rfcsr_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e91fea9b38b2208113dd540f436ce2aba7ab29fd Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:04 2009 +0100 rt2800usb: add rt2800_rfcsr_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3e2c9df7b940c8d1d0626f61038e10a32d65f27d Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:57 2009 +0100 rt2800pci: add rt2800_bbp_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit eff6eced615f80cef3e4979691c7920961dda47c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:50 2009 +0100 rt2800usb: add rt2800_bbp_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b4a77d0dee11db834bebe0cc78c211cfebf0d924 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:41 2009 +0100 rt2800pci: add rt2800_regbusy_read() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ab209b9834d43ac7c01e803681c5c50c941e4de3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:34 2009 +0100 rt2800usb: add rt2800_regbusy_read() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4f2732ce8d02836b94299f64bc29b030545d654a Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:27 2009 +0100 rt2800pci: add rt2800_register_multi[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 678b4eee767b3d92bb187d2ca17d33400f26f880 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:20 2009 +0100 rt2800usb: add rt2800_register_multi[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9ca21eb7cd2ba4f837bcde5e1c9ec0c784cfc03d Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:13 2009 +0100 rt2800pci: add rt2800_register_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit abbb505dddef31707d06ff26539639ccdfa56f45 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:05 2009 +0100 rt2800usb: add rt2800_register_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit dee5817e88ac8195e5938d6671f434a071e35698 Author: Patrick McHardy Date: Fri Nov 6 17:04:00 2009 +0100 netfilter: remove unneccessary checks from netlink notifiers The NETLINK_URELEASE notifier is only invoked for bound sockets, so there is no need to check ->pid again. Signed-off-by: Patrick McHardy commit 330f28f691e9b349e34adcaf82b273cf061bb491 Merge: fe3e78e 6fc786d Author: Mark Brown Date: Fri Nov 6 15:46:18 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 167eae5a17b3cd44a324dbb972c338e489413f54 Author: Takashi Iwai Date: Fri Nov 6 15:47:50 2009 +0100 ALSA: hda - Reset pins of IDT/STAC codecs at free Some laptops cause annoying clicks or noises at shutdown/reboot since the speaker pin is set still high. Apply the same procedure used for the suspend to avoid such clicks/noises for freeing the codec, too. Signed-off-by: Takashi Iwai commit 9ad6a46b6497ae64e7fec307deb0de88e6a8ca06 Merge: 7d5ab41 78987bd Author: Takashi Iwai Date: Fri Nov 6 15:45:59 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 25d27eded1f4fc728e64f443adc339b5229be5d7 Author: Clemens Ladisch Date: Mon Nov 2 09:35:44 2009 +0100 control: use reference-counted pid Instead of storing the PID number, take a reference to the task's pid structure. This protects against duplicates due to PID overflows, and using pid_vnr() ensures that the PID returned by snd_ctl_elem_info() is correct as seen from the current namespace. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 31cef7076ed9409a33f19ea372d6dc5fdefe27ae Author: Clemens Ladisch Date: Mon Nov 2 09:34:16 2009 +0100 control: remove snd_konctrol_volatile::owner_pid field We do not need to save the ID of the process that locked a control because that information is already available in the owner's file data. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 62d83681e53fd87c91927018cfe5ba9f9e8109a3 Merge: 230f9bb e7fec0b Author: David S. Miller Date: Fri Nov 6 05:01:54 2009 -0800 Merge branch 'linux-2.6.33.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit 642c6d946b5cdc27d0146c41dc20b7c4d4c3ccd8 Author: Eric W. Biederman Date: Fri Apr 3 01:08:48 2009 -0700 sysctl: Make do_sysctl static Now that all of the architectures use compat_sys_sysctl do_sysctl can become static. Signed-off-by: Eric W. Biederman commit 942405f36038b8f930ab67e24aa1ad72bee96a25 Author: Eric W. Biederman Date: Fri Apr 3 01:01:43 2009 -0700 sysctl: Remove the cond_syscall entry for sys32_sysctl Now that all architechtures are use compat_sys_sysctl and sys32_sysctl does not exist there is not point in retaining a cond_syscall entry for it. Signed-off-by: Eric W. Biederman commit c3359fbce4b65d542d02c30aa5174c8e4838da2d Author: Eric W. Biederman Date: Fri Apr 3 00:59:52 2009 -0700 sysctl: x86 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for x86 to implement it's own. Cc: Thomas Gleixner Cc: Ingo Molnar Acked-by: H. Peter Anvin Signed-off-by: Eric W. Biederman commit 03102a4ded430586936445a733d0d29660f4d7c1 Author: Eric W. Biederman Date: Fri Apr 3 00:56:30 2009 -0700 sysctl: sparc Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for sparc to implement it's own. Acked-by: David S. Miller Signed-off-by: Eric W. Biederman commit 4ddf61ea99c1bbed4dcd889803c73213e1b3256b Author: Eric W. Biederman Date: Fri Apr 3 00:52:35 2009 -0700 sysctl: s390 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for s390 to implement it's own. Cc: Heiko Carstens Acked-by: Martin Schwidefsky Acked-by: Arnd Bergmann Acked-by: Christian Borntraeger Signed-off-by: Eric W. Biederman commit f78a9a5a56418d955f3119cf7380ea911ab4baf6 Author: Eric W. Biederman Date: Fri Apr 3 00:49:26 2009 -0700 sysctl: parisc Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for parisc to implement it's own. Cc: Thibaut Varene Acked-by: Kyle McMartin Signed-off-by: Eric W. Biederman commit aff639cdcfe7450e04109be3759faa8f1e5572f5 Author: Eric W. Biederman Date: Fri Apr 3 00:46:47 2009 -0700 sysctl: mips Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for mips to implement it's own. Cc: Ralf Baechle Signed-off-by: Eric W. Biederman commit 6f589526df36dc6ac60df48e7ca23f536e71d332 Author: Eric W. Biederman Date: Fri Apr 3 00:44:03 2009 -0700 sysctl: ia64 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for ia64 to implement it's own. Cc: Tony Luck Cc: Fenghua Yu Signed-off-by: Eric W. Biederman commit da3f6f9b3e0d1e73975ca81ae124406bf1587d40 Author: Eric W. Biederman Date: Fri Apr 3 00:36:27 2009 -0700 sysctl: Introduce a generic compat sysctl sysctl This uses compat_alloc_userspace to remove the various hacks to allow do_sysctl to write to throuh oldlenp. The rest of our mature compat syscall helper facitilies are used as well to ensure we have a nice clean maintainable compat syscall that can be used on all architectures. The motiviation for a generic compat sysctl (besides the obvious hack removal) is to reduce the number of compat sysctl defintions out there so I can refactor the binary sysctl implementation. ppc already used the name compat_sys_sysctl so I remove the ppcs version here. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Acked-by: Arnd Bergmann Signed-off-by: Eric W. Biederman commit bb1cafb8fc414d6dbe933f888df6540c2ef02101 Author: Dmitry Eremin-Solenikov Date: Thu Nov 5 16:56:23 2009 +0300 ieee802154: add support for creation/removal of logic interfaces Add support for two more NL802154 commands: ADD_IFACE and DEL_IFACE, thus allowing creation and removal of logic WPAN interfaces on the top of wpan-phy. Signed-off-by: Dmitry Eremin-Solenikov commit 0a868b26c8ba32f6988f87dd81697917a2f612b6 Author: Dmitry Eremin-Solenikov Date: Thu Oct 29 16:28:52 2009 +0300 ieee802154: add PHY_NAME to LIST_IFACE command results Signed-off-by: Dmitry Eremin-Solenikov commit 339b4ca5f68c7fd02eae54e9ce49c4b5f5d8b545 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 18:05:38 2009 +0300 ieee802154: add two nl802154 helpers Add two nl802154 helpers: one for starting a reply message, one for sending. Signed-off-by: Dmitry Eremin-Solenikov commit 405cd39f331826d344f5f55bac5dbbc10a1c2813 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 17:53:40 2009 +0300 fakehard: mlme_ops->get_phy implementation Signed-off-by: Dmitry Eremin-Solenikov commit 42723448b8bacf60c96812196d7725d8d605d0c4 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 17:53:23 2009 +0300 ieee802154: add an mlme_ops call to retrieve PHY object ops->get_phy should increment reference to wpan-phy. As we return the external structure, we should do refcounting correctly. Signed-off-by: Dmitry Eremin-Solenikov commit 478e87c23340e88e909aa749f4772838bc96a20b Author: Dmitry Eremin-Solenikov Date: Tue Sep 22 15:31:25 2009 +0400 fakehard: claim all 2.4 Ghz channels as supported Make fakehard device claim all 2.4 Ghz channels from 802.15.4-2006, 802.15.4a-2007 as supported by the hw. Signed-off-by: Dmitry Eremin-Solenikov commit c83b2077c8bfec097ab02a0eca60bd611fdc7944 Author: Dmitry Eremin-Solenikov Date: Thu Oct 29 16:32:46 2009 +0300 fakehard: no need to export net_to_phy, make it static Signed-off-by: Dmitry Eremin-Solenikov commit 1eaa9d03d3ee9156c8c405b006ce892ae28290ad Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 17:04:44 2009 +0400 ieee802154: add LIST_PHY command support Add nl802154 command to get information about PHY's present in the system. Signed-off-by: Dmitry Eremin-Solenikov commit 78fe738d1a631ec34a29d830880e38f5c14c1371 Author: Dmitry Eremin-Solenikov Date: Mon Sep 14 18:17:36 2009 +0400 ieee802154: split away MAC commands implementation Move all mac-related stuff to separate file so that ieee802154/netlink.c contains only generic code. Signed-off-by: Dmitry Eremin-Solenikov commit cb6b3763571570ebde1e82524c8a45a4275c8f11 Author: Dmitry Eremin-Solenikov Date: Thu Sep 10 17:50:12 2009 +0400 ieee802154: merge nl802154 and wpan-class in single module There is no real need to have ieee802154 interfaces separate into several small modules, as neither of them has it's own use. Signed-off-by: Dmitry Eremin-Solenikov commit a9966b580a3e9d7cf820b5360b574f439d813ef4 Author: Dmitry Eremin-Solenikov Date: Fri Oct 2 19:05:00 2009 +0400 ieee802154: constify struct net_device in some operations Some of ieee802154 operations really shouldn't change passed net_device. Constify passed argument. Signed-off-by: Dmitry Eremin-Solenikov commit e9cf356c0c6b975fda84b15a5abdd1db88d74f84 Author: Dmitry Eremin-Solenikov Date: Mon Sep 28 19:01:20 2009 +0400 wpan-phy: follow usual patter of devices registration Follow the usual pattern of devices registration by adding new function (wpan_phy_set_dev) that sets child->parent relationship and removing parent argument from wpan_phy_register call. Signed-off-by: Dmitry Eremin-Solenikov commit a0b4a738e0e03f5e0d6ca366560f9a48e5adf83a Author: Dmitry Eremin-Solenikov Date: Tue Sep 22 15:26:48 2009 +0400 wpan-phy: allow specifying a per-page channel mask IEEE 802.15.4-2006 defines channel pages that hold channels (max 32 pages, 27 channels per page). Allow the driver to specify supported channels on pages, other than the first one. Signed-off-by: Dmitry Eremin-Solenikov commit 2830b68361a9f58354ad043c6d85043ea917f907 Author: Eric W. Biederman Date: Fri Apr 3 00:09:33 2009 -0700 sysctl: Refactor the binary sysctl handling to remove duplicate code Read in the binary sysctl path once, instead of reread it from user space each time the code needs to access a path element. The deprecated sysctl warning is moved to do_sysctl so that the compat_sysctl entries syscalls will also warn. The return of -ENOSYS when !CONFIG_SYSCTL_SYSCALL is moved to binary_sysctl. Always leaving a do_sysctl available that handles !CONFIG_SYSCTL_SYSCALL and printing the deprecated sysctl warning allows for a single defitition of the sysctl syscall. Signed-off-by: Eric W. Biederman commit afa588b2651a03da4bc601a17a244b1cd97264f2 Author: Eric W. Biederman Date: Thu Apr 2 23:44:59 2009 -0700 sysctl: Separate the binary sysctl logic into it's own file. In preparation for more invasive cleanups separate the core binary sysctl logic into it's own file. Signed-off-by: Eric W. Biederman commit 375bb0e04b618d0c425b0ea492d16cf71eb94905 Author: Dmitry Eremin-Solenikov Date: Mon Sep 28 18:58:32 2009 +0400 wpan-phy: use snprintf to limit the amount of chars written Use snprintf to limit the amount of chars put in the buffer for attr -> show. Signed-off-by: Dmitry Eremin-Solenikov commit 37eb0edc8488fccbf601ab3e7e582373ed2a631e Author: Dmitry Eremin-Solenikov Date: Fri Sep 18 16:35:06 2009 +0400 wpan-phy: init channel/page fields Set page to zero (for compatibility w/ devices supporting only first page). Also init channel by default to -1 to disallow transfers for non-initialised devices. Signed-off-by: Dmitry Eremin-Solenikov commit 1c889f4db6b2f8f8429e62011ba622642faba019 Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 16:57:04 2009 +0400 wpan-phy: add wpan-phy iteration functions Add API to iterate over the wpan-phy instances. Signed-off-by: Dmitry Eremin-Solenikov commit 69d9ab96f983720b7794e91437bd9c5f83bae9f7 Author: Dmitry Eremin-Solenikov Date: Mon Sep 14 18:11:03 2009 +0400 wpan-phy: add a helper to put the wpan_phy device Signed-off-by: Dmitry Eremin-Solenikov commit 230f9bb701d37ae9b48e96456689452978f5c439 Merge: 000ba2e 887e671 Author: David S. Miller Date: Fri Nov 6 00:55:55 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/usb/cdc_ether.c All CDC ethernet devices of type USB_CLASS_COMM need to use '&mbm_info'. Signed-off-by: David S. Miller commit ddaf1b27edf72372242d752730d526b79312a44e Author: David S. Miller Date: Fri Nov 6 00:26:39 2009 -0800 apbuart: Fix build and missing driver unregister. linux/of_platform.h needs to be included OF driver needs to be unregistered Signed-off-by: David S. Miller commit 765af10de6d93820def9978c53ed828e4d3bd4f4 Author: Jani Nikula Date: Thu Nov 5 22:59:46 2009 -0800 Input: add new keycodes useful in mobile devices Add new codes for camera focus key, and camera lens cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula Signed-off-by: Dmitry Torokhov commit 02cee68998010c4a2cc2383c86babc2ecc737183 Merge: f5ba350 b419148 Author: Dmitry Torokhov Date: Thu Nov 5 23:00:48 2009 -0800 Merge commit 'v2.6.32-rc6' into next commit 000ba2e43f33901859fd794bb33c885909d53b3b Author: David S. Miller Date: Thu Nov 5 22:37:11 2009 -0800 net: Fix build warning in sock_bindtodevice(). net/core/sock.c: In function 'sock_setsockopt': net/core/sock.c:396: warning: 'index' may be used uninitialized in this function net/core/sock.c:396: note: 'index' was declared here GCC can't see that all paths initialize index, so just set it to the default (0) and eliminate the specific code block that handles the null device name string. Signed-off-by: David S. Miller commit baac8564547ac7f944af1c2e8cc6fdd57f2836a4 Author: Eric Dumazet Date: Thu Nov 5 21:04:32 2009 -0800 pktgen: tx_bytes might be slightly wrong cur_pkt_size can be changed in proc fs while pktgen is running, we better use a private field to get precise tx-bytes counter. Signed-off-by: Ben Greear Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bf8e56bfc4fcfcef9f08e6233dc619706807893a Author: Eric Dumazet Date: Thu Nov 5 21:03:39 2009 -0800 net: sock_bindtodevice() RCU-ification Avoid dev_hold()/dev_put() in sock_bindtodevice() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69df9d5993bd7dd7499ad0e98fe824147fbe5667 Author: Eric Dumazet Date: Thu Nov 5 20:59:47 2009 -0800 ip_frag: dont touch device refcount When sending fragmentation expiration ICMP V4/V6 messages, we can avoid touching device refcount, thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bd27a8750c9b849068d80e298f99940bb7128b33 Author: Eric Dumazet Date: Thu Nov 5 20:57:26 2009 -0800 net_cls: Use __dev_get_by_index() We hold RTNL in tc_dump_tfilter(), we can avoid dev_hold()/dev_put() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 40c9c31e388bfd513269df737f874d0cd53c1616 Author: Eric Dumazet Date: Thu Nov 5 20:56:46 2009 -0800 sctp: ipv6: avoid touching device refcount Avoid touching device refcount in sctp/ipv6, thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 122ec6ffca3967ffaa96a4c7a5dc9cd71866e0bc Author: Eric Dumazet Date: Thu Nov 5 20:53:47 2009 -0800 netlabel: remove dev_put() calls Use dev_get_by_name_rcu() to avoid dev_put() calls, in sections already inside a rcu_read_lock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 31ef30c760f7ddb133fa538df1dfbec1f42294d7 Author: Eric Dumazet Date: Thu Nov 5 20:47:35 2009 -0800 bridge: remove dev_put() in add_del_if() add_del_if() is called with RTNL, we can use __dev_get_by_index() instead of [dev_get_by_index() + dev_put()] Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit c84b3268da3b85c9d8a9e504e1001a14ed829e94 Author: Eric Paris Date: Thu Nov 5 20:45:52 2009 -0800 net: check kern before calling security subsystem Before calling capable(CAP_NET_RAW) check if this operations is on behalf of the kernel or on behalf of userspace. Do not do the security check if it is on behalf of the kernel. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3f378b684453f2a028eda463ce383370545d9cc9 Author: Eric Paris Date: Thu Nov 5 22:18:14 2009 -0800 net: pass kern to net_proto_family create function The generic __sock_create function has a kern argument which allows the security system to make decisions based on if a socket is being created by the kernel or by userspace. This patch passes that flag to the net_proto_family specific create function, so it can do the same thing. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 13f18aa05f5abe135f47b6417537ae2b2fedc18c Author: Eric Paris Date: Thu Nov 5 20:44:37 2009 -0800 net: drop capability from protocol definitions struct can_proto had a capability field which wasn't ever used. It is dropped entirely. struct inet_protosw had a capability field which can be more clearly expressed in the code by just checking if sock->type = SOCK_RAW. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fe625f137d28d1ebe22a71ee064ffab2841055a5 Merge: 6782cc7 7433874 Author: Dave Airlie Date: Fri Nov 6 14:33:40 2009 +1000 Merge branch 'drm-next' of ../drm-2.6 into drm-next commit 89794a6f3bf6db552b1ff4d2ad42fdd8739ac2a2 Author: Yaniv Rosner Date: Thu Nov 5 20:00:59 2009 -0800 bnx2x: version 1.52.1-3 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c786f0246951fdd9b206249aab9601fb788f9e4 Author: Yaniv Rosner Date: Thu Nov 5 19:18:32 2009 +0200 bnx2x: Fix register access timeout in 10M In BCM8481 when link speed goes from 1G to 10M, driver received timeout since the MAC clock hasn't synced yet with the new speed, so it is required first to program the MAC with the new speed, and only then configure other parameters Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 46d15cc7a09d6a7f96908b2cd812744c483893b4 Author: Yaniv Rosner Date: Thu Nov 5 19:18:30 2009 +0200 bnx2x: Fix 10G mode in BCM8481/BCM84823 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 93f72884dd1622e443109abcd3e5e8f8cca0a6fe Author: Yaniv Rosner Date: Thu Nov 5 19:18:26 2009 +0200 bnx2x: Fix BCM8726 ROM load seq Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4f60dab113230943fb1bc7969053d9a1b6578339 Author: Yaniv Rosner Date: Thu Nov 5 19:18:23 2009 +0200 bnx2x: Add support for BCM84823 Add support for new phy type BCM84823 (Dual copper-port phy) Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5bbf0080e258383ecf67e57c7b46f4249878280 Author: Yaniv Rosner Date: Thu Nov 5 19:18:21 2009 +0200 bnx2x: Modify BCM8706 link init seq Modify BCM8706 link initialization sequence so that first it link up between Serdes and BCM8706, and only then between BCM8706 to network Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 15ddd2d0ef4849410a2251587b3652fe6a689fda Author: Yaniv Rosner Date: Thu Nov 5 19:18:12 2009 +0200 bnx2x: Enable FC when parallel-detect is used When parallel detect is used, flow-control is set to the req_fc_auto_adv instead of none. Motive: when 577xx is FC configuration is set to AUTO, while LP speed is set to FORCE mode and FC to force RX/TX, link would come up using parallel detect, and the FC will be set to NONE since FC capabilities were not negotiated, although the LP is setting FC to force RX/TX. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d5cb9e997708bd48d2ed3dd926dad7a6fc83bf56 Author: Yaniv Rosner Date: Thu Nov 5 19:18:10 2009 +0200 bnx2x: Miscellaneous debug print and tabs Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7846e471b5b5cac5e09c8e6ebeb67e18279db8e3 Author: Yaniv Rosner Date: Thu Nov 5 19:18:07 2009 +0200 bnx2x: Fix CL73 autoneg issues - Advertise 1G KX4 in CL73 when 1G speed capability is enabled - Add flow-control negotiation over CL73 - External loopback test on Serdes should be done in FORCE mode, since in CL73 it is unable to link up with the same core using AUTONEG - Fix bnx2x_set_led function to support CL73 link leds Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 18afb0a6fa69efb76b7a67a151c0530d63789141 Author: Yaniv Rosner Date: Thu Nov 5 19:18:04 2009 +0200 bnx2x: Fix Parallel-Detect settings Enable Parallel-Detect for 10G and 1G only if the relevant speed capability is enabled Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6782cc7b615ae5f028783992b7fe43b53e4e786f Merge: 4fe9676 a3fa632 Author: Dave Airlie Date: Fri Nov 6 13:47:54 2009 +1000 Merge branch 'drm-next' of ../drm-2.6 into drm-next commit 5b8f0be0dce012d190a53d55240fe3fde6306476 Merge: 43bcd61 4fe9676 Author: Eric Anholt Date: Thu Nov 5 15:04:06 2009 -0800 Merge remote branch 'airlied/drm-next' into drm-intel-next commit 43bcd61fae05fc6062b4f117c5adb1a72c9f8c57 Author: Daniel Vetter Date: Tue Nov 3 09:03:34 2009 +0000 drm/i915: fix get_core_clock_speed for G33 class desktop chips Somehow the case for G33 got dropped while porting from ums code. This made a 400MHz chip into a 133MHz one which resulted in the unnecessary enabling of double wide pipe mode which in turn screwed up the overlay code. Nothing else (than the overlay code) seems to be affected. This fixes fdo.org bug #24835 Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit c650156af34bffa3d3a62c9fe26eee595aab3fd1 Author: Zhenyu Wang Date: Tue Nov 3 18:57:21 2009 +0000 drm/i915: Add display hotplug event on Ironlake Enable display hotplug irqs from Ibex Peak (PCH). Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 01c66889c14aa163c49355b3be2ccfb214500599 Author: Zhao Yakui Date: Wed Oct 28 05:10:00 2009 +0000 drm/i915: Add ACPI OpRegion support for Ironlake Add the support of ACPI opregion on Ironlake so that the backlight brightness can be adjusted by using ACPI interface >/sys/class/backlight/acpi_video0/brightness Signed-off-by: Zhao Yakui Tested-by: Zhao Yakui [zhenyuw: cleanups, fix typo for checking GSE irq and convert to current irq handling logic.] Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2da3e160cb3d226d87b907fab26850d838ed8d7c Author: Frederic Weisbecker Date: Thu Nov 5 23:06:50 2009 +0100 hw-breakpoint: Move asm-generic/hw_breakpoint.h to linux/hw_breakpoint.h We plan to make the breakpoints parameters generic among architectures. For that it's better to move the asm-generic header to a generic linux header. Signed-off-by: Frederic Weisbecker commit 1dc7546d1a73664e5d117715b214bea9cae5951c Author: Jesse Barnes Date: Mon Oct 19 10:08:17 2009 +0900 drm/i915: enable self-refresh on 965 Need to calculate the SR watermark and enable it. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit a4f45cf178f0d0ad4e516e020818b5f1c00e3d63 Author: Kristian Høgsberg Date: Mon Oct 19 14:35:30 2009 -0400 drm/i915: Support 30 bit depth modes Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit f3cd474bb235f2331c1a6f579bdbf892386e5c7c Author: Chris Wilson Date: Tue Oct 13 22:20:20 2009 +0100 drm/i915: debugfs interface to manually reset the GPU Create a /debug/dri/%d/i915_wedged file to display the current wedged status, and to enable setting that value. On an i965, this will also trigger a GPU reset. Useful in order to attempt to recover from some error conditions that are not currently caught by the automatic hang detection code. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit aed5f1dc264e2bc87e8656dd6945e4b1e72ebdbc Author: Chris Wilson Date: Wed Oct 14 13:40:04 2009 +0100 drm/i915: Use a single thread workqueue Our work is serialised so allocating per-cpu workqueues is overkill and a waste of resources. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit d0c3b04ae953fd3bf69f9b1430c22608d2d3b90d Author: Zhao Yakui Date: Fri Oct 9 11:39:43 2009 +0800 drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in DVO output code. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 3e0f27ed75369298176abdf2fbe59116b6587a56 Author: Eric Anholt Date: Tue Oct 13 12:23:22 2009 -0700 drm/i915: Enable the SDVO debug code, which is now under DEBUG_KMS. Signed-off-by: Eric Anholt commit 28c97730c36e06d5ba0c442156eb2154347cc3fe Author: Zhao Yakui Date: Fri Oct 9 11:39:41 2009 +0800 drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS Replace the DRM_DEBUG with DRM_DEBUG_KMS in output device code. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 44d98a614267c81a04ba9c7a0427c3a628985b7d Author: Zhao Yakui Date: Fri Oct 9 11:39:40 2009 +0800 drm/i915: Replace DRM_DEBUG with DRM_DEBUG_DRIVER Replace the DRM_DEBUG with DRM_DEBUG_DRIVER in generic i915 driver. Then the debug info can be obtained by adding the boot option of "drm.debug=0x02". At the same time the debug info in increase/decrease clock is also printed by using DRM_DEBUG_DRIVER instead of DRM_DEBUG_KMS. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 5c5a4359fe392b52b444134877fc4002be542b42 Author: Daniel Vetter Date: Sun Oct 4 15:00:36 2009 +0200 drm/i915: overlay: kill one more unnecessary uninterruptible sleep I've simply overlooked one case in the conversion to interruptible sleeps. Rectify this. Also delete a leftover debug printk. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 1df4b35b61df27fc5b173fe2789d976e40e1dc22 Author: Daniel Vetter Date: Tue Sep 15 22:57:38 2009 +0200 drm/i915: kill i915_lp_ring_sync It's not needed anymore. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 03f77ea5972e6a2363152aec692744cac824daba Author: Daniel Vetter Date: Tue Sep 15 22:57:37 2009 +0200 drm/i915: implement interruptible sleeps in the overlay code At least for the common case of userspace ioctls. When doing a modeset operation, the wait is still uninterruptible. But considering that failing to turn off the overlay when switching off the crtc it's running on hangs the chip, it doesn't complicate matters _very_ much. There's just an unkillable X in addition to a black screen. BUG() about it and explain in the code. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 5a5a0c64a99d7542c48c99d1a8bbb49e665842be Author: Daniel Vetter Date: Tue Sep 15 22:57:36 2009 +0200 drm/i915: implement fastpath for overlay flip waiting As long as the gpu can keep up, neither the cpu (waiting for gpu) nore the gpu (waiting for vblank to do an overlay flip) stalls. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 240a2d12dfff98f8fa1332dc8424284d96f0801e Author: Daniel Vetter Date: Tue Sep 15 22:57:35 2009 +0200 drm/i915: fully switch off overlay when not in use Now that the cache flushing of the memory based overlay regs works, we can safely switch off the overlay. Beforehand it was only disabled (like in userspace). Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 02e792fbaadb75dec8e476a05b610e49908fc6a4 Author: Daniel Vetter Date: Tue Sep 15 22:57:34 2009 +0200 drm/i915: implement drmmode overlay support v4 This implements intel overlay support for kms via a device-specific ioctl. Thomas Hellstrom brought up the idea of a general ioctl (on dri-devel). We've reached the conclusion that such an infrastructure only makes sense when multiple kms overlay implementations exists, which atm don't (and it doesn't look like this is gonna change). Open issues: - Runs in sync with the gpu, i.e. unnecessary waiting. I've decided to wait on this because the hw tends to hang when changing something in this area. I left some dummy functions as infrastructure. - polyphase filtering uses a static table. - uses uninterruptible sleeps. Unfortunately the alternatives may unnecessarily wedged the hw if/when we timeout too early (and userspace only overloaded the batch buffers with stuff worth a few secs of gpu time). Changes since v1: - fix off-by-one misconception on my side. This fixes fullscreen playback. Changes since v2: - add underrun detection as spec'ed for i965. - flush caches properly, fixing visual corruptions. Changes since v4: - fix up cache flushing of overlay memory regs. - killed require_pipe_a logic - it hangs the chip. Tested-By: diego.abelenda@gmail.com (on a 865G) Signed-off-by: Daniel Vetter [anholt: Resolved against the MADVISE ioctl going in before this one] Signed-off-by: Eric Anholt commit f0f8a9cecea322b215600d96cf0c1eb08343a4e9 Author: Daniel Vetter Date: Tue Sep 15 22:57:33 2009 +0200 drm/i915: kill superflous IS_I855 macro It is identical to I85X. Use that one instead. Signed-off-by: Daniel Vetter [anholt: fix conflicts against the display function pointer stuff] Signed-off-by: Eric Anholt commit 48764bf43f746113fc77877d7e80f2df23ca4cbb Author: Daniel Vetter Date: Tue Sep 15 22:57:32 2009 +0200 drm/i915: add i915_lp_ring_sync helper This just waits until the hw passed the current ring position with cmd execution. This slightly changes the existing i915_wait_request function to make uninterruptible waiting possible - no point in returning to userspace while mucking around with the overlay, that piece of hw is just too fragile. Also replace a magic 0 with the symbolic constant (and kill the then superflous comment) while I was looking at the code. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 7a9c906094de8b3dc227de448019dbc386cd25d4 Author: Daniel Vetter Date: Tue Sep 15 22:57:31 2009 +0200 drm: make drm_mode_object_find typesafe I've wasted half a day hunting a bug that could easily be spotted by gcc. Prevent this from reoccurring. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 97f5ab6651a996ecefed73e41684422f3b29d9a8 Author: Jesse Barnes Date: Thu Oct 8 10:16:48 2009 -0700 drm/i915: add render standby support Render standy allows the GPU to power down the render unit when idle. In order for this to work, it needs a page of graphics memory to save state. This patch allocates that page and enables the feature on supported chipsets. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 6c857730438cceb56a94ade3029899f52adf3b90 Author: Jiri Kosina Date: Thu Nov 5 16:01:13 2009 +0100 HID: remove BKL from hiddev_ioctl_usage() The race between ioctl and disconnect is guarded by low level hiddev device mutex (existancelock) since the commit 07903407 ("HID: hiddev cleanup -- handle all error conditions properly"), therefore we can remove the lock_kernel() from hiddev_ioctl_usage(). Acked-by: Oliver Neukum Signed-off-by: Jiri Kosina commit d114cd84a1c5ce42bb10cd3a2da57b2bbcef909b Author: Krzysztof Helt Date: Thu Nov 5 18:32:41 2009 +0100 ALSA: cs4236: detect chip in one pass The cs4236 was two step detection with call to the snd_wss_free() between two steps. The snd_wss_free() did not free a sound device created in the snd_wss_create(). This caused an OOPS during module removal as the same sound device was released twice. The same OOPS happened if the cs4236 module loading failed. Fix this by adapting the snd_cs4236_create() to correctly work with chips less capable then cs4236. The snd_cs4236_create() behaves the same as the snd_wss_create() if the chip is less capable than the cs4236. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 76ac894080019c6619d3c3bf615db42a43a77f32 Author: Hannes Eder Date: Thu Nov 5 15:51:19 2009 +0100 netfilter: nf_nat_helper: tidy up adjust_tcp_sequence The variable 'other_way' gets initialized but is not read afterwards, so remove it. Pass the right arguments to a pr_debug call. While being at tidy up a bit and it fix this checkpatch warning: WARNING: suspect code indent for conditional statements Signed-off-by: Hannes Eder Signed-off-by: Patrick McHardy commit 5ae27aa2b16478a84d833ab4065798e752941c5a Author: Changli Gao Date: Thu Nov 5 14:51:31 2009 +0100 netfilter: nf_conntrack: avoid additional compare. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit 5b915d9e6dc3d22fedde91dfef1cb1a8fa9a1870 Author: Jiri Kosina Date: Thu Nov 5 14:08:03 2009 +0100 HID: fixup quirk for NCR devices NCR devices are terminally broken by design -- they claim themselves to contain proper input applications in their HID report descriptor, but behave very badly if treated in standard way. According to NCR developers, the devices get confused when queried for reports in a standard way, rendering them unusable. NCR is shipping application called "RPSL" that can be used to drive these devices through hiddev, under the assumption that in-kernel driver doesn't perform initial report query. If it does, neither in-kernel nor hiddev-based driver can operate with these devices any more. Introduce a quirk that skips the report query for all NCR devices. The previous NOGET quirk was wrong and had been introduced because I misunderstood the nature of brokenness of these devices. Signed-off-by: Jiri Kosina commit fd210738f6601d0fb462df9a2fe5a41896ff6a8f Author: Mike Galbraith Date: Thu Nov 5 10:57:46 2009 +0100 sched: Fix affinity logic in select_task_rq_fair() Ingo Molnar reported: [ 26.804000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10 [ 26.808000] caller is vmstat_update+0x26/0x70 [ 26.812000] Pid: 10, comm: events/1 Not tainted 2.6.32-rc5 #6887 [ 26.816000] Call Trace: [ 26.820000] [] ? printk+0x28/0x3c [ 26.824000] [] debug_smp_processor_id+0xf0/0x110 [ 26.824000] mount used greatest stack depth: 1464 bytes left [ 26.828000] [] vmstat_update+0x26/0x70 [ 26.832000] [] worker_thread+0x188/0x310 [ 26.836000] [] ? worker_thread+0x127/0x310 [ 26.840000] [] ? autoremove_wake_function+0x0/0x60 [ 26.844000] [] ? worker_thread+0x0/0x310 [ 26.848000] [] kthread+0x7c/0x90 [ 26.852000] [] ? kthread+0x0/0x90 [ 26.856000] [] kernel_thread_helper+0x7/0x10 [ 26.860000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10 [ 26.864000] caller is vmstat_update+0x3c/0x70 Because this commit: a1f84a3: sched: Check for an idle shared cache in select_task_rq_fair() broke ->cpus_allowed. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: arjan@infradead.org Cc: LKML-Reference: <1257415066.12867.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit e9c4148fd4f03008ecbe3b673e25764232a15503 Author: Paul Mundt Date: Thu Nov 5 17:13:15 2009 +0900 sh: oprofile: Fix up count size mismatch for common impl. This reduces the 'count' size in the common support structure to 32-bits so that it matches up with what oprofile is expecting. The SH7750 code was using a nasty oprofilefs hack to expose the 48-bit counter, although no other implementations were. Now that the offending driver has been killed off, it's possible to restore some semblance of sanity. Signed-off-by: Paul Mundt commit 093aed1937cc7ae9290ede24ad45f040e097510b Author: Paul Mundt Date: Thu Nov 5 17:09:59 2009 +0900 sh: oprofile: Kill off bitrotted SH7750 driver. This kills off the old SH7750 oprofile driver, preferring perf instead. As this driver has a number of bugs that no one seems to have noticed, it's safe to kill this off now rather than providing an extended transition period. The old oprofile framework is still kept in place for now, primarily to give out-of-tree drivers a chance to transition off. But this too will be killed off in short order. Signed-off-by: Paul Mundt commit 1d823323f2e92287a07a25570aebf0b2d3864703 Author: Paul Mundt Date: Thu Nov 5 17:02:03 2009 +0900 sh: perf events: Add support for SH7750-style counters. This adds perf events support for the SH7750/SH7750S/SH7091 performance counters. Signed-off-by: Paul Mundt commit ad1cd745060ae2f24026b3b3d09da3426df6ab36 Author: Jaroslav Kysela Date: Wed Nov 4 14:30:36 2009 +0100 ALSA: rename "PC Speaker" controls to "Speaker" To unify control names, rename "PC Speaker" to "Speaker" for PPC ALSA drivers. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit d355c82a0191d5a3e971bd5af96cc81fe3ed25b9 Author: Jaroslav Kysela Date: Tue Nov 3 15:47:25 2009 +0100 ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep" To avoid confusion in control names for the standard analog PC Beep generator using a small Internal PC Speaker, rename all related "PC Speaker" and "PC Beep" controls to "Beep" only. This name is more universal and can be also used on more platforms without confusion. Introduce also "Internal Speaker" in ControlNames.txt for systems with full-featured build-in internal speaker. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit d13500981e7df7f0e84d7f37f85d720cefe6043e Author: David S. Miller Date: Wed Nov 4 23:59:18 2009 -0800 apbuart: Kill dependency on deprecated Sparc-only PROM interfaces. Use the proper modern OF ones instead. Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 7d5ab418702e17565b6cf6eacc31b6b0852f6dc8 Merge: 23c4a88 798a8a1 Author: Takashi Iwai Date: Thu Nov 5 08:56:20 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 6a2a2d6bf8581216e08be15fcb563cfd6c430e1e Author: Gilad Ben-Yossef Date: Wed Nov 4 23:23:10 2009 -0800 tcp: Use defaults when no route options are available Trying to parse the option of a SYN packet that we have no route entry for should just use global wide defaults for route entry options. Signed-off-by: Gilad Ben-Yossef Tested-by: Valdis.Kletnieks@vt.edu Signed-off-by: David S. Miller commit 05eaade2782fb0c90d3034fd7a7d5a16266182bb Author: Gilad Ben-Yossef Date: Wed Nov 4 23:21:44 2009 -0800 tcp: Do not call IPv4 specific func in tcp_check_req Calling IPv4 specific inet_csk_route_req in tcp_check_req is a bad idea and crashes machine on IPv6 connections, as reported by Valdis Kletnieks Also, all we are really interested in is the timestamp option in the header, so calling tcp_parse_options() with the "estab" set to false flag is an overkill as it tries to parse half a dozen other TCP options. We know whether timestamp should be enabled or not using data from request_sock. Signed-off-by: Gilad Ben-Yossef Tested-by: Valdis.Kletnieks@vt.edu Signed-off-by: David S. Miller commit 830fafecc211bef5bc6e253ab7e39c9e7560f758 Author: Paul Mundt Date: Thu Nov 5 16:20:09 2009 +0900 sh: perf events: Preliminary callchain support. This implements preliminary support for perf callchains (at the moment only the kernel side is implemented). The actual implementation itself is just a simple wrapper around the unwinder API, which allows for callchain generation with or without the dwarf unwinder. Signed-off-by: Paul Mundt commit 3c5d92a0cfb5103c0d5ab74d4ae6373d3af38148 Author: Martin Schwidefsky Date: Tue Sep 29 14:25:16 2009 +0200 nohz: Introduce arch_needs_cpu Allow the architecture to request a normal jiffy tick when the system goes idle and tick_nohz_stop_sched_tick is called . On s390 the hook is used to prevent the system going fully idle if there has been an interrupt other than a clock comparator interrupt since the last wakeup. On s390 the HiperSockets response time for 1 connection ping-pong goes down from 42 to 34 microseconds. The CPU cost decreases by 27%. Signed-off-by: Martin Schwidefsky LKML-Reference: <20090929122533.402715150@de.ibm.com> Signed-off-by: Thomas Gleixner commit eed3b9cf3fe3fcc7a50238dfcab63a63914e8f42 Author: Martin Schwidefsky Date: Tue Sep 29 14:25:15 2009 +0200 nohz: Reuse ktime in sub-functions of tick_check_idle. On a system with NOHZ=y tick_check_idle calls tick_nohz_stop_idle and tick_nohz_update_jiffies. Given the right conditions (ts->idle_active and/or ts->tick_stopped) both function get a time stamp with ktime_get. The same time stamp can be reused if both function require one. On s390 this change has the additional benefit that gcc inlines the tick_nohz_stop_idle function into tick_check_idle. The number of instructions to execute tick_check_idle drops from 225 to 144 (without the ktime_get optimization it is 367 vs 215 instructions). before: 0) | tick_check_idle() { 0) | tick_nohz_stop_idle() { 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.601 us | } 0) 1.765 us | } 0) 3.047 us | } 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.570 us | } 0) 1.727 us | } 0) | tick_do_update_jiffies64() { 0) 0.609 us | } 0) 8.055 us | } after: 0) | tick_check_idle() { 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.617 us | } 0) 1.773 us | } 0) | tick_do_update_jiffies64() { 0) 0.593 us | } 0) 4.477 us | } Signed-off-by: Martin Schwidefsky Cc: john stultz LKML-Reference: <20090929122533.206589318@de.ibm.com> Signed-off-by: Thomas Gleixner commit e0ea8b2c0677e6cc44a0e5b867be48867f91de5b Author: Benjamin Herrenschmidt Date: Thu Nov 5 17:17:12 2009 +1100 powerpc/kvm: Fix non-modular build Signed-off-by: Benjamin Herrenschmidt commit d4e09f8432a428d6a46ca4f3c2b28d0385f5b93d Merge: 41c8c46 544c676 Author: Benjamin Herrenschmidt Date: Thu Nov 5 17:16:13 2009 +1100 Merge branch 'kvm' into next commit 41c8c46bfe52488779e227b77222402579573ccf Author: Benjamin Herrenschmidt Date: Thu Nov 5 17:10:34 2009 +1100 powerpc/kvm: Remove problematic BUILD_BUG_ON statement Signed-off-by: Benjamin Herrenschmidt commit 8d044fe6aacaf573112331847155211a56a12736 Author: Ranjith Lohithakshan Date: Wed Nov 4 22:06:20 2009 -0800 TI DaVinci EMAC: Add suspend/resume capability Add suspend/resume capability to TI DaVinci EMAC driver. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 9f9354b92defa15aa0e215946c6e2dbccecb6aa7 Author: Eric Dumazet Date: Wed Nov 4 22:05:10 2009 -0800 net: net/ipv4/devinet.c cleanups As pointed by Stephen Rothwell, commit c6d14c84 added a warning : net/ipv4/devinet.c: In function 'inet_select_addr': net/ipv4/devinet.c:902: warning: label 'out' defined but not used delete unused 'out' label and do some cleanups as well Reported-by: Stephen Rothwell Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 544c6761bb05a1dd19a39cb9bed096273f9bdb36 Author: Alexander Graf Date: Mon Nov 2 12:02:31 2009 +0000 Use hrtimers for the decrementer Following S390's good example we should use hrtimers for the decrementer too! This patch converts the timer from the old mechanism to hrtimers. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit c8240bd6f0b4b1b21ffd36dd44114d05c7afe0c0 Author: Alexander Graf Date: Fri Oct 30 05:47:26 2009 +0000 Use Little Endian for Dirty Bitmap We currently use host endian long types to store information in the dirty bitmap. This works reasonably well on Little Endian targets, because the u32 after the first contains the next 32 bits. On Big Endian this breaks completely though, forcing us to be inventive here. So Ben suggested to always use Little Endian, which looks reasonable. We only have dirty bitmap implemented in Little Endian targets so far and since PowerPC would be the first Big Endian platform, we can just as well switch to Little Endian always with little effort without breaking existing targets. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 346b2762a72c60e97d2825e60423c84a869f3266 Author: Alexander Graf Date: Fri Oct 30 05:47:25 2009 +0000 Fix trace.h It looks like the variable "pc" is defined. At least the current code always failed on me stating that "pc" is already defined somewhere else. Let's use _pc instead, because that doesn't collide. Is this the right approach? Does it break on 440 too? If not, why not? Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit c4f9c779f1019c7d5c61961a7c0aaaf1420d8f90 Author: Alexander Graf Date: Fri Oct 30 05:47:24 2009 +0000 Include Book3s_64 target in buildsystem Now we have everything in place to be able to build KVM, so let's add it as config option and in the Makefile. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 55c758840a2ab0aa31530aca982dd5e9281a169c Author: Alexander Graf Date: Fri Oct 30 05:47:23 2009 +0000 Export new PACA constants in asm-offsets In order to access fields in the PACA from assembly code, we need to generate offsets using asm-offsets.c. So let's add the new PACA related bits, we just introduced! Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 4b7ae55df3621dd9eef56a6fde953ec9c73ac596 Author: Alexander Graf Date: Fri Oct 30 05:47:22 2009 +0000 Add fields to PACA For KVM we need to store some information in the PACA, so we need to extend it. This patch adds KVM SLB shadow related entries to the PACA and a field that indicates if we're inside a guest. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 0186fd0373d9684145046a60c688b913cb9bd181 Author: Alexander Graf Date: Fri Oct 30 05:47:21 2009 +0000 Export KVM symbols for module To be able to keep KVM as module, we need to export the SLB trampoline addresses to the module, so it knows where to jump to. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit e85a47106abb928e048d89d7fa48f982fcb018aa Author: Alexander Graf Date: Mon Nov 2 12:02:30 2009 +0000 Split init_new_context and destroy_context For KVM we need to allocate a new context id, but don't really care about all the mm context around it. So let's split the alloc and destroy functions for the context id, so we can grab one without allocating an mm context. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 4ab79aa801b6b4f2e2fb508d6107cdd9320d682d Author: Alexander Graf Date: Fri Oct 30 05:47:19 2009 +0000 Export symbols for KVM module We want to be able to build KVM as a module. To enable us doing so, we need some more exports from core Linux parts. This patch exports all functions and variables that are required for KVM. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 62908905b2fd98c11bd472c1e617d35eff33fc84 Author: Alexander Graf Date: Fri Oct 30 05:47:18 2009 +0000 Add Book3s_64 offsets to asm-offsets.c We need to access some VCPU fields from assembly code. In order to get the proper offsets, we have to define them in asm-offsets.c. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 842f2fedcdc4f9ea8e6ac5b2222971c31666dd3e Author: Alexander Graf Date: Fri Oct 30 05:47:17 2009 +0000 Make head_64.S aware of KVM real mode code We need to run some KVM trampoline code in real mode. Unfortunately, real mode only covers 8MB on Cell so we need to squeeze ourselves as low as possible. Also, we need to trap interrupts to get us back from guest state to host state without telling Linux about it. This patch adds interrupt traps and includes the KVM code that requires real mode in the real mode parts of Linux. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 513579e3a391a3874c478a8493080822069976e8 Author: Alexander Graf Date: Fri Oct 30 05:47:16 2009 +0000 Add desktop PowerPC specific emulation Little opcodes behave differently on desktop and embedded PowerPC cores. In order to reflect those differences, let's add some #ifdef code to emulate.c. We could probably also handle them in the core specific emulation files, but I would prefer to reuse as much code as possible. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 9a7a9b09fee8487003df012d9af4b227b3661e4d Author: Alexander Graf Date: Fri Oct 30 05:47:15 2009 +0000 Add mfdec emulation We support setting the DEC to a certain value right now. Doing that basically triggers the CPU local timer. But there's also an mfdec command that enabled the OS to read the decrementor. This is required at least by all desktop and server PowerPC Linux kernels. It can't really hurt to allow embedded ones to do it as well though. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit c215c6e49fef6c79a5b98f66f11cc6b1e395cb59 Author: Alexander Graf Date: Fri Oct 30 05:47:14 2009 +0000 Add book3s_64 specific opcode emulation There are generic parts of PowerPC that can be shared across all implementations and specific parts that only apply to BookE or desktop PPCs. This patch adds emulation for desktop specific opcodes that don't apply to BookE CPUs. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 012351808174120b2e1839d48e2f0678808b2367 Author: Alexander Graf Date: Fri Oct 30 05:47:13 2009 +0000 Add book3s_32 guest MMU This patch adds an implementation for a G3/G4 MMU, so we can run G3 and G4 guests in KVM on Book3s_64. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit e71b2a39afff245c3a93809e62d35a90726f8d3e Author: Alexander Graf Date: Fri Oct 30 05:47:12 2009 +0000 Add book3s_64 guest MMU To be able to run a guest, we also need to implement a guest MMU. This patch adds MMU handling for Book3s_64 guests. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 0d8dc681c84aa88ddc3d2fe5b6029f8eb3d11ecf Author: Alexander Graf Date: Fri Oct 30 05:47:11 2009 +0000 Add book3s_64 Host MMU handling We designed the Book3S port of KVM as modular as possible. Most of the code could be easily used on a Book3S_32 host as well. The main difference between 32 and 64 bit cores is the MMU. To keep things well separated, we treat the book3s_64 MMU as one possible compile option. This patch adds all the MMU helpers the rest of the code needs in order to modify the host's MMU, like setting PTEs and segments. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 2f4cf5e42d13974763276e918618f76a4188e391 Author: Alexander Graf Date: Fri Oct 30 05:47:10 2009 +0000 Add book3s.c This adds the book3s core handling file. Here everything that is generic to desktop PowerPC cores is handled, including interrupt injections, MSR settings, etc. It basically takes over the same role as booke.c for embedded PowerPCs. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit c862125c8ae4c261ecbb096ab12b1fa55fcfce8d Author: Alexander Graf Date: Fri Oct 30 05:47:09 2009 +0000 Add interrupt handling code Getting from host state to the guest is only half the story. We also need to return to our host context and handle whatever happened to get us out of the guest. On PowerPC every guest exit is an interrupt. So all we need to do is trap the host's interrupt handlers and get into our #VMEXIT code to handle it. PowerPCs also have a register that can add an offset to the interrupt handlers' adresses which is what the booke KVM code uses. Unfortunately that is a hypervisor ressource and we also want to be able to run KVM when we're running in an LPAR. So we have to hook into the Linux interrupt handlers. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 5126ed37603ae3a5ec764d99d77430a179021699 Author: Alexander Graf Date: Mon Nov 2 12:02:29 2009 +0000 Add SLB switching code for entry/exit This is the really low level of guest entry/exit code. Book3s_64 has an SLB, which stores all ESID -> VSID mappings we're currently aware of. The segments in the guest differ from the ones on the host, so we need to switch the SLB to tell the MMU that we're in a new context. So we store a shadow of the guest's SLB in the PACA, switch to that on entry and only restore bolted entries on exit, leaving the rest to the Linux SLB fault handler. That way we get a really clean way of switching the SLB. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 29eb61bca1e82dc59e4d9c575e6f21ce7a36d61d Author: Alexander Graf Date: Fri Oct 30 05:47:07 2009 +0000 Add book3s_64 highmem asm code This is the of entry / exit code. In order to switch between host and guest context, we need to switch register state and call the exit code handler on exit. This assembly file does exactly that. To finally enter the guest it calls into book3s_64_slb.S. On exit it gets jumped at from book3s_64_slb.S too. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 3cea8c435d0b142eb2b3dd2c411a24aa1b32bfe4 Author: Alexander Graf Date: Fri Oct 30 05:47:06 2009 +0000 Add Book3s_64 intercept helpers We need to intercept interrupt vectors. To do that, let's add a file we can always include which only activates the intercepts when we have then configured. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 4e342025e625a7271be0a9e2d20b7caf1ab70e8a Author: Alexander Graf Date: Fri Oct 30 05:47:05 2009 +0000 Add asm/kvm_book3s.h This adds the book3s specific header file that contains structs that are only valid on book3s specific code. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit ca95150b3a9f3f3146a686296f2156a7ec6e98e9 Author: Alexander Graf Date: Fri Oct 30 05:47:04 2009 +0000 Add Book3s fields to vcpu structs We need to store more information than we currently have for vcpus when running on Book3s. So let's extend the internal struct definitions. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 83cd259d8e5b9878be0535f7ddd326676172279a Author: Alexander Graf Date: Fri Oct 30 05:47:03 2009 +0000 Add Book3s definitions We need quite a bunch of new constants for KVM on Book3s, so let's define them now. These constants will be used in later patches. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit ec3c11aa5f9d0a7f48f46d6790c33ccc654fd6ec Author: Alexander Graf Date: Fri Oct 30 05:47:02 2009 +0000 Pass PVR in sregs Right now sregs is unused on PPC, so we can use it for initialization of the CPU. KVM on BookE always virtualizes the host CPU. On Book3s we go a step further and take the PVR from userspace that tells us what kind of CPU we are supposed to virtualize, because we support Book3s_32 and Book3s_64 guests. In order to get that information, we use the sregs ioctl, because we don't want to reset the guest CPU on every normal register set. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 4e755758cbbeb0afe44556c1ce52ea6f590ed5bf Author: Alexander Graf Date: Fri Oct 30 05:47:01 2009 +0000 Move dirty logging code to sub-arch PowerPC code handles dirty logging in the generic parts atm. While this is great for "return -ENOTSUPP", we need to be rather target specific when actually implementing it. So let's split it to implementation specific code, so we can implement it for book3s. Signed-off-by: Alexander Graf Signed-off-by: Benjamin Herrenschmidt commit 02d9e58e464b8aeed9a9cba951c3ae3c6bd06e30 Author: Grant Likely Date: Wed Nov 4 22:43:35 2009 -0700 mmc: fix missing module license declaration in of_mmc_spi.c Driver cannot be used as a module without this patch. Signed-off-by: Grant Likely commit d1b261ef85bf63383b80b46b7cee525e0a63b3d3 Author: Paul Mundt Date: Thu Nov 5 14:06:36 2009 +0900 sh: Default-enable SPU clock for SH7724. Wanted by the SPU2 UIO driver, which really ought to be handling this itself. Default enable it for now, until the driver gets a bit more intelligent. Signed-off-by: Paul Mundt commit 2de339231b3b7c838542f646e5e699b3f033c43f Author: Kuninori Morimoto Date: Wed Nov 4 10:34:25 2009 +0000 sh: sh7724: Add SPU2 support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 8820002c18cd3167d2800c002f13d78fa0325402 Author: Paul Mundt Date: Thu Nov 5 13:56:50 2009 +0900 sh: perf events: Fix up uninitialized variable warning. 'config' can be unintialized, and although it's not really an error, it still manages to trigger the -Werror with certain toolchains. Initialize it early to shut up gcc. Signed-off-by: Paul Mundt commit e9a6269d5bcb1c7cd18cea02a9a73fac8712f2d1 Author: Luis R. Rodriguez Date: Mon Nov 2 12:15:15 2009 -0500 wl1271: use __dev_alloc_skb() on RX RX is handled in a workqueue therefore allocating for GFP_ATOMIC is overkill and not required. Signed-off-by: Luis R. Rodriguez Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit c327d96759ac134384114830e19ded80e29fdcc4 Author: Johannes Berg Date: Mon Nov 2 11:31:51 2009 +0100 mac80211: fix internal scan request The internal scan request mac80211 uses to scan for IBSS networks was set up to contain no channels at all because n_channels wasn't set after setting up the channels array. Fix this to properly scan for networks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 450aae3d7b60a970f266349a837dfb30a539198b Author: Sujith Date: Mon Nov 2 12:33:23 2009 +0530 mac80211: Fix IBSS merge Currently, in IBSS mode, a single creator would go into a loop trying to merge/scan. This happens because the IBSS timer is rearmed on finishing a scan and the subsequent timer invocation requests another scan immediately. This patch fixes this issue by checking if we have just completed a scan run trying to merge with other IBSS networks. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b35686d0b2d754d627aeb0c4340884aeaed8e4f3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:33 2009 +0100 rt2x00: remove needless ifdefs from rt2x00leds.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d07624f191a14e2a59e1fe884a13582f24d7f8cb Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:39 2009 +0100 rt2800usb: fix comments in rt2800usb.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3306ef642a4dec6ba5341eceb8b9cb1e4a82ddb0 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:58 2009 +0100 rt2800usb: use rt2x00usb_register_multiwrite() to set key entries Since struct hw_key_entry is 32-bytes large and is smaller than CSR cache size (which is 64-bytes large) we can use the standard rt2x00usb_register_multiwrite() helper to set key entries. This cleanup is a part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 02a39c209bda97f5dfd0c390c3926c131a052e34 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:50 2009 +0100 rt2x00: fix rt2x00usb_register_read() comment Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 77dba493618b5b5c84c9e375b6e3d51862ca7408 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:40 2009 +0100 rt2800pci: fix comment about IV/EIV fields The bit tested by hardware is TXD_W3_WIV and its value equals the negated value of ENTRY_TXD_ENCRYPT_IV bit. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 8807bb8cddbeb5b48bd9c6e40396af07980c7cdf Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:32 2009 +0100 rt2800pci: fix comment about register access Registers used for indirect BBP and RF registers access are respectively BBPCSR and RFCSR, also make it clear that all CSR registers access goes through rt2x00pci_register_[read,write]() methods. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f644fea1a8433f65f78a36cd7b23b8f57b0f77e4 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:24 2009 +0100 rt2800pci: fix crypto in TX frame Based on rt2800usb patch from Benoit PAPILLAULT (commit 17616310836ad2cc45a64576ef0e1520b0dcc81b). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a8ea2b23f62e23c2afac291f9caa500bd1a60618 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:17 2009 +0100 rt2800usb: fix rt2800usb_rfcsr_read() The driver should write the read request into RF_CSR_CFG register and not BBP_CSR_CFG one in rt2800usb_rfcsr_read(). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f44eafa76be981b57667adcef5153b18e8a21904 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:10 2009 +0100 rt2800pci: make Kconfig help entry more helpful Document known issues with the driver to aid distribution makers, users and developers in making informed decisions instead of wasting their time needlessly. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 71eafe3230073917456973d67bc49eaa874c5a42 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:31:58 2009 +0100 rt2800usb: make Kconfig help entry more helpful Document known issues with the driver to aid distribution makers, users and developers in making informed decisions instead of wasting their time needlessly. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5ed176e1c425f9bd1af161d66d348f6116a04fc6 Author: Johannes Berg Date: Wed Nov 4 14:42:28 2009 +0100 mac80211: make ieee80211_find_sta per virtual interface Since we have a TODO item to make all station management dependent on virtual interfaces, I figured I'd start with pushing such a change to drivers before more drivers start using the ieee80211_find_sta() API with a hw pointer and cause us grief later on. For now continue exporting the old API in form of ieee80211_find_sta_by_hw(), but discourage its use strongly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7fdad987d63f02c8fba30276ba395ac8dc93b719 Author: Johannes Berg Date: Sat Oct 31 16:15:39 2009 +0100 cfg80211: remove dead variable commit 211a4d12abf86fe0df4cd68fc6327cbb58f56f81 Author: Johannes Berg Date: Tue Oct 20 15:08:53 2009 +0900 cfg80211: sme: deauthenticate on assoc failure accidentally introduced a dead variable, I had changed the code to not need it while creating the patch and it looks like I forgot to remove the variable (and nobody else noticed either). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5b9482dda6dda11dc7050ffa5b4ebfb0c775880f Author: Lennert Buytenhek Date: Thu Oct 22 20:20:43 2009 +0200 mwl8k: pci BAR mapping changes Map BAR0 as well, as we need to write to it during init on some chips. Also, if BAR0 is a 64bit BAR, the register BAR becomes BAR2, so try mapping BAR2 if mapping BAR1 fails. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 45eb400d50e1ad84a8e8f9e9a82cd8ae13d7d691 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:40 2009 +0200 mwl8k: shorten receive/transmit state variable names To conserve horizontal space. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a43c49a817f31ce1accc029239827b108319ecf9 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:32 2009 +0200 mwl8k: add support for enabling hardware sniffer mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5dfd3e2c6fb69cf4295ec139107f4ebd3f7fbff0 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:29 2009 +0200 mwl8k: report rate and other information for received frames When receiving a frame, report the antenna info, long/short preamble status, 20/40 MHz flag, long/short guard interval status, MCS/legacy rate status, and MCS/legacy rate index to the stack. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22995b2411d4c5bbd832a54c4ef6ad3e24a2a34b Author: Lennert Buytenhek Date: Thu Oct 22 20:20:25 2009 +0200 mwl8k: clarify WME transmit queue 0/1 swizzling Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3d76e82c9538d8104e578ca460d35f214bfddfd3 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:16 2009 +0200 mwl8k: use cond_resched() when loading firmware blocks Since each firmware block takes on the order of several hundred usec to upload to the hardware, using msleep in the inner loop would make the firmware loading process take a lot more time than just doing busy-waiting like we do now. But if we keep the busy-waiting, we can at least add a cond_resched() to the inner loop so that we give other tasks a chance to run while the firmware is being loaded. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 32060e1b64f23fe315a35d2df8c2c7ad010df73e Author: Lennert Buytenhek Date: Thu Oct 22 20:20:04 2009 +0200 mwl8k: clear hardware MAC address if no STA interface configured If there is no STA interface configured, clear the hardware MAC address to prevent ACKing frames sent to our MAC address. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 77165d8809cda1a77bc8752148a6252d7735c12e Author: Lennert Buytenhek Date: Thu Oct 22 20:19:53 2009 +0200 mwl8k: enforce FIF_BCN_PRBRESP_PROMISC when no STA interfaces are active When FIF_BCN_PRBRESP_PROMISC is not set, we enable the hardware's BSS filter so that we'll only see packets destined for our BSS. But if no STA interfaces have been configured, we would end up passing the BSSID 00:00:00:00:00:00 into the POST_SCAN command, which actually disables the hardware's BSS filter, as it's not a valid BSSID. Fix this by passing in 01:00:00:00:00:00 instead (the criterion is that the OUI part of the BSSID must be nonzero), and add comments to explain what PRE_SCAN and POST_SCAN do. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 447ced07d04525218ae586cd70b759b48bcb1fc8 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:50 2009 +0200 mwl8k: implement FIF_ALLMULTI Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3779752d764b86077375510b1fd13d8fb2c7c3a5 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:45 2009 +0200 mwl8k: use the mac80211-provided workqueue instead of creating our own Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d5e308457e8e9b4988fbd69d38c30782125b3f65 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:41 2009 +0200 mwl8k: fix multicast address filter programming mwl8k's ->prepare_multicast() currently just enables reception of all multicast packets, which is somewhat ineffective. Fix this by either disabling all multicast RX, enabling multicast RX according to the multicast address filter table, or enabling all multicast RX, depending on whether ->prepare_multicast() was given any multicast addresses and whether the hardware multicast address filter table is large enough to fit all requested addresses. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 88de754ad59025eba797e7a8375807755577f450 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:37 2009 +0200 mwl8k: minor transmit quiescing rework Minor changes to the transmit quiescing logic: - Clarify the locking rules for ->tx_wait: only the holder of fw_mutex can wait for the TX path to become idle, but tx_wait itself is read and cleared by the TX reclaim tasklet under tx_lock. - Inline mwl8k_txq_busy() in its callers. - There's no need to kick the transmitter again in mwl8k_tx_wait_empty(), since it will have been kicked when the packets currently in the TX ring were added to it. - If the TX ring didn't drain in time, run mwl8k_scan_tx_ring() after reading priv->pending_pkts without dropping tx_lock in between. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c2c357ce309221b85fd36e50aade66d01a556cde Author: Lennert Buytenhek Date: Thu Oct 22 20:19:33 2009 +0200 mwl8k: coding style cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 8848fd253bb26f09987405613bad3e0d53441ec0 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:23 2009 +0200 mwl8k: fix GET_STAT firmware command packet layout The GET_STAT command doesn't have an 'action' field like other commands do, so remove it. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3c6af5b54fe74b6e56efadc22927e4055d00e9fc Author: John W. Linville Date: Mon Nov 2 13:43:32 2009 -0500 wl1271: depend on INET wl1271_main.c:(.text+0x271052): undefined reference to `unregister_inetaddr_notifier' wl1271_main.c:(.text+0x2714d7): undefined reference to `register_inetaddr_notifier' Driver is doing some filtering based on IP addresses... Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit a22c65f81ae28656b80d2acc687cf6318eb15bba Author: Albrecht Dreß Date: Wed Nov 4 16:43:12 2009 -0700 powerpc: tiny memcpy_(to|from)io optimisation This trivial patch changes memcpy_(to|from)io as to transfer as many 32-bit words as possible in 32-bit accesses (in the current solution, the last 32-bit word was transferred as 4 byte accesses). Signed-off-by: Albrecht Dreß Signed-off-by: Grant Likely commit 5cc17d7e01abd77eda1267a75748cfc84c92a523 Author: Wolfram Sang Date: Tue Nov 3 23:49:20 2009 +0000 spi/mpc52xx: replace printk with dev_err To easily identify which device has problems. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 1a8d3b777dd71813b87c66c0eb161cc87f042126 Author: John Linn Date: Mon Sep 14 08:17:05 2009 +0000 Xilinx: SPI: Fix bits_per_word for transfers The bits_per_word value can be set for each transfer, or can be set to zero in each transfer in which case it should default to the value in the driver. The driver was fixed to properly check the bits_per_word in the transfer that is passed in. Signed-off-by: John Linn Signed-off-by: Grant Likely commit f856cf01787354fb3c8cde0a80de606f368b21ed Author: Wolfram Sang Date: Mon Nov 2 03:53:11 2009 +0000 spi/mpc52xx-psc-spi: check for valid PSC This driver calls mpc52xx_set_psc_clkdiv() but doesn't check its return value to see if the PSC is actually valid for SPI use. Add the check and a hint for the user. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 3c9059d79f5eea6b8b75ddac97693127c3c41db4 Author: John Bonesio Date: Tue Sep 29 10:43:42 2009 +0000 powerpc/5200: add LocalPlus bus FIFO device driver This is a driver for the FIFO device on the LocalPlus bus on an mpc5200 system. The driver supports programmed I/O through the FIFO as well as setting up DMA via the BestComm engine through the FIFO. Signed-off-by: John Bonesio Signed-off-by: Grant Likely commit 4f59ecfa9b87da09bdc346f2c443e25fa2c0674c Author: Grant Likely Date: Wed Nov 4 16:42:33 2009 -0700 powerpc/5200: add general purpose timer API for the MPC5200 This patch adds an interface for controlling the timer function of the MPC5200 GPT devices. Signed-off-by: Grant Likely commit 42bbb70980f3720b0ae6da6af862af0e95a04351 Author: Grant Likely Date: Wed Nov 4 15:34:18 2009 -0700 powerpc/5200: Add mpc5200-spi (non-PSC) device driver Adds support for the dedicated SPI device on the Freescale MPC5200(b) SoC. Signed-off-by: Grant Likely commit 4fe9676d1ae6639b5749140eba052261d363366b Merge: 273fad2 e29649d Author: Dave Airlie Date: Thu Nov 5 08:28:54 2009 +1000 Merge branch 'drm-next' of ../drm-2.6 into drm-next commit ad6577629acf8a3f47165248ca7ccc0d94673ada Author: Grant Likely Date: Wed Nov 4 15:23:37 2009 -0700 spi/mpc5200: Register SPI devices described in device tree Add call to of_register_spi_devices() to register SPI devices described in the OF device tree. Signed-off-by: Grant Likely Acked-by: Wolfram Sang commit f3d0e82fe3cce0dd3ffcd9c59e6caa671a30f929 Author: Mark Brown Date: Wed Nov 4 21:43:27 2009 +0000 ASoC: Update ads117x to current APIs Probe as a platform driver (ads117x) and remove the call to snd_soc_init_card(). Signed-off-by: Mark Brown commit 2dcf9fb99d4ecadecb2685a9eb82e6b85511c960 Author: Graeme Gregory Date: Wed Nov 4 17:49:22 2009 +0000 ASoC: ADS117x ADC driver This patch adds support for the TI ADS117x family of multichannel ADCs and was sponsored by Shotspotter Inc. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown commit 1e5ad9679016275d422e36b12a98b0927d76f556 Author: Bjorn Helgaas Date: Mon Nov 2 10:45:36 2009 -0700 resources: when allocate_resource() fails, leave resource untouched When "allocate_resource(root, new, size, ...)" fails, we currently clobber "new". This is inconvenient for the caller, who might care about the original contents of the resource. For example, when pci_bus_alloc_resource() fails, the "can't allocate mem resource %pR" message from pci_assign_resources() currently contains junk for the resource start/end. This patch delays the "new" update until we're about to return success. Acked-by: Linus Torvalds Acked-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 03db42adfeeabe856dbb6894dd3aaff55838330a Author: Bjorn Helgaas Date: Wed Nov 4 10:39:18 2009 -0700 x86/PCI: fix bogus host bridge window start/end alignment from _CRS PCI device BARs are guaranteed to start and end on at least a four-byte (I/O) or a sixteen-byte (MMIO) boundary because they're aligned on their size and the low BAR bits are reserved. PCI-to-PCI bridge apertures have even larger alignment restrictions. However, some BIOSes (e.g., HP DL360 BIOS P31) report host bridge windows like "[io 0x0000-0x2cfe]". This is wrong because it excludes the last port at 0x2cff: it's impossible for a downstream device to claim 0x2cfe without also claiming 0x2cff. In fact, this BIOS configures a device behind the bridge to "[io 0x2c00-0x2cff]", so we know the window actually does include 0x2cff. This patch rounds the start and end of apertures to the appropriate boundary. I experimentally determined that Windows contains a similar workaround; details here: http://bugzilla.kernel.org/show_bug.cgi?id=14337 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit f1db6fde09e201218f488d7205a7cd7bc448d496 Author: Bjorn Helgaas Date: Wed Nov 4 10:39:13 2009 -0700 x86/PCI: for debuggability, show host bridge windows even when ignoring _CRS We have occasional problems with PCI resource allocation, and sometimes they could be avoided by paying attention to what ACPI tells us about the host bridges. This patch doesn't change the behavior, but it prints window information that should make debugging easier. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 865df576e8fc70daf297b53e61a4fbefc719d065 Author: Bjorn Helgaas Date: Wed Nov 4 10:32:57 2009 -0700 PCI: improve discovery/configuration messages This makes PCI resource management messages more consistent and adds a few new messages to aid debugging. Whenever we assign resources to a device, update a BAR, or change a bridge aperture, it's worth noting it. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 0207c356ef0e2bae6ce4603080d42c130d7debc6 Author: Bjorn Helgaas Date: Wed Nov 4 10:32:52 2009 -0700 PCI: replace pr_debug with dev_dbg Since we have a struct device, we might as well use dev_printk. Note that both pr_debug() and dev_dbg() are completely compiled out unless DEBUG or DYNAMIC_DEBUG is defined. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2a6bed8301f8b019717504575a3f9c6cce1fe271 Author: Bjorn Helgaas Date: Wed Nov 4 10:32:47 2009 -0700 x86/PCI: print domain:bus in conventional format Use the dev_printk-like "%04x:%02x" format for printing PCI bus numbers. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 10c3d71d42f341775d96187eedd3e50eb34939d0 Author: Bjorn Helgaas Date: Wed Nov 4 10:32:42 2009 -0700 PCI: make PME# messages KERN_DEBUG Messages about PME# being supported and enabled/disabled are probably useful for debug, but maybe don't need to be on the console. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 8d6cfdcdb50e94c92b3621422d909fa7cc41f866 Author: Thadeu Lima de Souza Cascardo Date: Fri Oct 30 17:46:48 2009 -0200 PCI: remove pci_find_slot from PCI_LEGACY config description Commit 3b073eda has removed pci_find_slot, so there's no point in mentioning it in the config description as one of the deprecated APIs there are enabled by PCI_LEGACY and still used by some drivers. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jesse Barnes commit c7dabef8a2c59e6a3de9d66fc35fb6a43ef7172d Author: Bjorn Helgaas Date: Tue Oct 27 13:26:47 2009 -0600 vsprintf: use %pR, %pr instead of %pRt, %pRf Jesse accidentally applied v1 [1] of the patchset instead of v2 [2]. This is the diff between v1 and v2. The changes in this patch are: - tidied vsprintf stack buffer to shrink and compute size more accurately - use %pR for decoding and %pr for "raw" (with type and flags) instead of adding %pRt and %pRf [1] http://lkml.org/lkml/2009/10/6/491 [2] http://lkml.org/lkml/2009/10/13/441 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 4fd8bdc567e70c02fab7eeaaa7d2a64232add789 Author: Stefan Assmann Date: Tue Oct 27 08:57:42 2009 +0100 PCI: avoid boot interrupt quirk for AMD 813x B1 devices AMD 813x rev. B1 (like rev. B2) devices generate no interrupts if quirk_disable_amd_813x_boot_interrupt is executed, add an exception. http://bugzilla.kernel.org/show_bug.cgi?id=14159 Patch also adds missing cases for DECLARE_PCI_FIXUP_RESUME and DECLARE_PCI_FIXUP_FINAL calls to quirk_disable_amd_813x_boot_interrupt. Signed-off-by: Stefan Assmann Tested-by: Gabriele Giorgetti Signed-off-by: Jesse Barnes commit 58c08628c4fe664bfd5f8b7e773b4b157bb9686f Author: Alex Chiang Date: Mon Oct 26 21:25:27 2009 -0600 PCI Hotplug: acpiphp: clean up list traversals Using list_for_each_entry instead of list_for_each allows us to enhance readability and minorly reduce some stack usage. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 204d49a5613a06eb2fa5c3b842a29b1336cc7995 Author: Bjorn Helgaas Date: Mon Oct 26 11:20:47 2009 -0600 PCI hotplug: move IOAPIC support from acpiphp to ioapic driver This patch moves PCI I/O APIC support from acpiphp to a separate driver. Like pciehp and shpchp, acpiphp handles PCI hotplug, i.e., addition and removal of PCI adapters. But in addition, acpiphp handles some ACPI hotplug, such as the addition of new host bridges, and the I/O APIC support was tangled up with that. I don't think the I/O APIC support needs to be in acpiphp; PCI I/O APICs usually appear as a function on a PCI host bridge, and we'll enumerate the APIC before any of the devices behind the bridge that use it. As far as I know, nobody actually uses I/O APIC hotplug. It depends on acpi_register_ioapic(), which is only implemented for ia64, and I don't think any vendors have supported I/O chassis hotplug yet. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige CC: Satoru Takeuchi CC: MUNEDA Takahiro Signed-off-by: Jesse Barnes commit 476f644edf7c22b47e6a118e4a1e138112a5ef14 Author: Andrew Patterson Date: Mon Oct 12 13:14:15 2009 -0600 PCI: fix memory leak in aer_inject Fixed probable typo in aer_inject cleanup code resulting in a memory leak. Acked-by: Huang Ying Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 1d0243559497b9cab00099c49a5ba3222cd6576f Author: Andrew Patterson Date: Mon Oct 12 13:14:10 2009 -0600 PCI: use better error return values in aer_inject Replaced some error return values in aer_inject. Use -ENODEV when we can't find a device and -ENOTTY when the device does not support PCIe AER. Acked-by: Huang Ying Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit cc5d153a0ca794e3781ef34c76f32ad3e991b13d Author: Andrew Patterson Date: Mon Oct 12 13:14:05 2009 -0600 PCI: add support for PCI domains to aer_inject Add support for PCI domains (segments) to aer_inject. Acked-by: Huang Ying Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 3c299dc22635e500214707aa28be119ff2b3901c Author: Andrew Patterson Date: Mon Oct 12 13:14:00 2009 -0600 PCI: add pci_get_domain_bus_and_slot function Added the pci_get_domain_and_slot_function which is analogous to pci_get_bus_and_slot. It returns a pci_dev given a domain (segment) number, bus number, and devnr. Like pci_get_bus_and_slot, pci_get_domain_bus_and_slot holds a reference to the returned pci_dev. Converted pci_get_bus_and_slot to a wrapper that calls pci_get_domain_bus_and_slot with the domain hard-coded to 0. This routine was patterned off code suggested by Bjorn Helgaas. Acked-by: Huang Ying Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit bc577d2bb98cc44371287fce3e892d26ad4050a8 Author: Gabe Black Date: Tue Oct 6 10:45:19 2009 -0500 PCI: populate subsystem vendor and device IDs for PCI bridges Change to populate the subsystem vendor and subsytem device IDs for PCI-PCI bridges that implement the PCI Subsystem Vendor ID capability. Previously bridges left subsystem vendor IDs unpopulated. Signed-off-by: Gabe Black Signed-off-by: Jesse Barnes commit 0584396157ad2d008e2cc76b4ed6254151183a25 Author: Matt Domsch Date: Mon Nov 2 11:51:24 2009 -0600 PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode Feedback from Hidetoshi Seto and Kenji Kaneshige incorporated. This correctly handles PCI-X bridges, PCIe root ports and endpoints, and prints debug messages when invalid/reserved types are found in the HEST. PCI devices not in domain/segment 0 are not represented in HEST, thus will be ignored. Today, the PCIe Advanced Error Reporting (AER) driver attaches itself to every PCIe root port for which BIOS reports it should, via ACPI _OSC. However, _OSC alone is insufficient for newer BIOSes. Part of ACPI 4.0 is the new APEI (ACPI Platform Error Interfaces) which is a way for OS and BIOS to handshake over which errors for which components each will handle. One table in ACPI 4.0 is the Hardware Error Source Table (HEST), where BIOS can define that errors for certain PCIe devices (or all devices), should be handled by BIOS ("Firmware First mode"), rather than be handled by the OS. Dell PowerEdge 11G server BIOS defines Firmware First mode in HEST, so that it may manage such errors, log them to the System Event Log, and possibly take other actions. The aer driver should honor this, and not attach itself to devices noted as such. Furthermore, Kenji Kaneshige reminded us to disallow changing the AER registers when respecting Firmware First mode. Platform firmware is expected to manage these, and if changes to them are allowed, it could break that firmware's behavior. The HEST parsing code may be replaced in the future by a more feature-rich implementation. This patch provides the minimum needed to prevent breakage until that implementation is available. Reviewed-by: Kenji Kaneshige Reviewed-by: Hidetoshi Seto Signed-off-by: Matt Domsch Signed-off-by: Jesse Barnes commit 9481721be10a1bfd1ee9ccf507eecd7f37caa5ec Author: Eric Dumazet Date: Wed Nov 4 21:14:31 2009 +0100 netfilter: remove synchronize_net() calls in ip_queue/ip6_queue nf_unregister_queue_handlers() already does a synchronize_rcu() call, we dont need to do it again in callers. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit b4d745db12bd2d45a456565ed63325bbfc689e68 Author: Eric Dumazet Date: Wed Nov 4 10:59:38 2009 -0800 decnet: avoid touching device refcount in dn_dev_by_index() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1b9508f6831e10d53256825de8904caa22d1ca2c Author: Mike Galbraith Date: Wed Nov 4 17:53:50 2009 +0100 sched: Rate-limit newidle Rate limit newidle to migration_cost. It's a win for all stages of sysbench oltp tests. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d94d9fee9fa4e66a0b91640a694b8b10177075b3 Author: Eric Dumazet Date: Wed Nov 4 09:50:58 2009 -0800 net: cleanup include/linux This cleanup patch puts struct/union/enum opening braces, in first line to ease grep games. struct something { becomes : struct something { Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a1f84a3ab8e002159498814eaa7e48c33752b04b Author: Mike Galbraith Date: Tue Oct 27 15:35:38 2009 +0100 sched: Check for an idle shared cache in select_task_rq_fair() When waking affine, check for an idle shared cache, and if found, wake to that CPU/sibling instead of the waker's CPU. This improves pgsql+oltp ramp up by roughly 8%. Possibly more for other loads, depending on overlap. The trade-off is a roughly 1% peak downturn if tasks are truly synchronous. Signed-off-by: Mike Galbraith Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: LKML-Reference: <1256654138.17752.7.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 622d32d3ec40d5075523656ef0ea836f6a595ae3 Merge: 476d42f ed81452 Author: Jens Axboe Date: Wed Nov 4 18:38:23 2009 +0100 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-2.6.33 commit 2a855dd01bc1539111adb7233f587c5c468732ac Author: Sebastian Andrzej Siewior Date: Sun Oct 25 15:37:58 2009 +0100 signal: Fix alternate signal stack check All architectures in the kernel increment/decrement the stack pointer before storing values on the stack. On architectures which have the stack grow down sas_ss_sp == sp is not on the alternate signal stack while sas_ss_sp + sas_ss_size == sp is on the alternate signal stack. On architectures which have the stack grow up sas_ss_sp == sp is on the alternate signal stack while sas_ss_sp + sas_ss_size == sp is not on the alternate signal stack. The current implementation fails for architectures which have the stack grow down on the corner case where sas_ss_sp == sp.This was reported as Debian bug #544905 on AMD64. Simplified test case: http://download.breakpoint.cc/tc-sig-stack.c The test case creates the following stack scenario: 0xn0300 stack top 0xn0200 alt stack pointer top (when switching to alt stack) 0xn01ff alt stack end 0xn0100 alt stack start == stack pointer If the signal is sent the stack pointer is pointing to the base address of the alt stack and the kernel erroneously decides that it has already switched to the alternate stack because of the current check for "sp - sas_ss_sp < sas_ss_size" On parisc (stack grows up) the scenario would be: 0xn0200 stack pointer 0xn01ff alt stack end 0xn0100 alt stack start = alt stack pointer base (when switching to alt stack) 0xn0000 stack base This is handled correctly by the current implementation. [ tglx: Modified for archs which have the stack grow up (parisc) which would fail with the correct implementation for stack grows down. Added a check for sp >= current->sas_ss_sp which is strictly not necessary but makes the code symetric for both variants ] Signed-off-by: Sebastian Andrzej Siewior Cc: Oleg Nesterov Cc: Roland McGrath Cc: Kyle McMartin Cc: stable@kernel.org LKML-Reference: <20091025143758.GA6653@Chamillionaire.breakpoint.cc> Signed-off-by: Thomas Gleixner commit 8792e11f1c54bcba34412f03959e70ee217f2231 Author: Kenji Kaneshige Date: Mon Oct 5 17:46:43 2009 +0900 PCI: pciehp: prevent unnecessary power off Prevent unnecessary power off at initialization time. If slot power is already off, we don't need to power off the slot. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 65b947bc5f32d8d4fe1f925a6146a4088d5466f3 Author: Kenji Kaneshige Date: Mon Oct 5 17:43:29 2009 +0900 PCI: pciehp: fix typo in pciehp_probe Fix typo that might cause memory leak in pciehp_probe(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 445f798555e218a5601222ca5849e8553ddd866a Author: Kenji Kaneshige Date: Mon Oct 5 17:42:59 2009 +0900 PCI: pciehp: return error on read/write failure Current pciehp returns successfully on read/write failure with dummy state values. It should return error instead. With this patch, pciehp no longer uses hotplug_slot_info data structure. So this also removes hotplug_slot_info related code. But note that it still allocates hotplug_slot_info because it is required by pci hotplug core. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 586f1d6688c68a6c7fa4e6a00fa3968b16daef75 Author: Kenji Kaneshige Date: Mon Oct 5 17:41:37 2009 +0900 PCI: pciehp: create files only for existing capabilities Current pciehp driver creates 'attention' and 'latch' files even if the controller doesn't support them. In this case, the contents of those files are meaningless and unpredictable. Those files should be created only if the controller has the corresponding capabilities. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 3c3a1b1759616e6603027108f8abcbec54271e62 Author: Kenji Kaneshige Date: Mon Oct 5 17:40:48 2009 +0900 PCI: pciehp: remove wrong workaround for bad DLLP Remove wrong workaround for BAD DLLP error, which confused surprise down error with DLL errors. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit f22daf1fb9970f1565f224a0951ba58b5d044605 Author: Kenji Kaneshige Date: Mon Oct 5 17:40:02 2009 +0900 PCI: pciehp: disable DLL state changed event notification Current pciehp doesn't handle Data Link Layer State Changed Event notification. So it needs to be disabled at initialization time, otherwise other event notifications are not generated. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 1ed6743918abbec69c0f0b725fa56e3c3248bbab Author: Michael S. Tsirkin Date: Thu Oct 29 17:24:59 2009 +0200 PCI: fix nit in ROM BAR size probing When probing for ROM BAR size, we should not change bits 1:10 in this BAR, because these bits are marked as "reserved for future use" in PCI spec, so changing them might have side effects. No such issue for I/O or memory, as there is an implementation note in PCI spec which explicitly allows writing 0xfffffffff there. Signed-off-by: Michael S. Tsirkin Signed-off-by: Jesse Barnes commit af5a8ee05404112f38fb2904747c688bdc31a746 Author: Bjorn Helgaas Date: Wed Oct 14 10:27:42 2009 -0600 x86/PCI: use -DDEBUG when CONFIG_PCI_DEBUG set We use dev_dbg() in arch/x86/pci, but there's no easy way to turn it on. Add -DDEBUG when CONFIG_PCI_DEBUG=y, just like we do in drivers/pci. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit df0e97c6f1f2fdca686036998fe816cefd8e27d7 Author: Allen Kay Date: Wed Oct 7 10:27:51 2009 -0700 PCI: add xen dom0 checking before ACS initialization This patch is predicated on Jeremy's patch in include/xen/xen.h. It'll prevent ACS init unless the platform has both an IOMMU and we're running as dom0. Signed-off-by: Allen Kay Signed-off-by: Jesse Barnes commit ae21ee65e8bc228416bbcc8a1da01c56a847a60c Author: Allen Kay Date: Wed Oct 7 10:27:17 2009 -0700 PCI: acs p2p upsteram forwarding enabling Note: dom0 checking in v4 has been separated out into 2/2. This patch enables P2P upstream forwarding in ACS capable PCIe switches. It solves two potential problems in virtualization environment where a PCIe device is assigned to a guest domain using a HW iommu such as VT-d: 1) Unintentional failure caused by guest physical address programmed into the device's DMA that happens to match the memory address range of other downstream ports in the same PCIe switch. This causes the PCI transaction to go to the matching downstream port instead of go to the root complex to get translated by VT-d as it should be. 2) Malicious guest software intentionally attacks another downstream PCIe device by programming the DMA address into the assigned device that matches memory address range of the downstream PCIe port. We are in process of implementing device filtering software in KVM/XEN management software to allow device assignment of PCIe devices behind a PCIe switch only if it has ACS capability and with the P2P upstream forwarding bits enabled. This patch is intended to work for both KVM and Xen environments. Signed-off-by: Allen Kay Reviewed-by: Mathew Wilcox Reviewed-by: Chris Wright Signed-off-by: Jesse Barnes commit 1ccbf5344c3daef046d2323190cc6807c44f1917 Author: Jeremy Fitzhardinge Date: Tue Oct 6 15:11:14 2009 -0700 xen: move Xen-testing predicates to common header Move xen_domain and related tests out of asm-x86 to xen/xen.h so they can be included whenever they are necessary. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jesse Barnes commit 9a08f7d3506019e3833cd4394ca0d7da0ae3689f Author: Bjorn Helgaas Date: Fri Oct 23 15:20:33 2009 -0600 x86/PCI: allow MMCONFIG above 4GB The current whitelist requires a kernel change for every machine that has MMCONFIG regions above 4GB, even if BIOS provides a correct MCFG table. This patch expands the whitelist to include machines with a rev 1 or newer MCFG table and a DMI_BIOS_DATE of 2010 or later. That way, we only need kernel changes for new machines that provide incorrect MCFG tables. Signed-off-by: Bjorn Helgaas CC: Matthew Wilcox CC: John Keller CC: Yinghai Lu CC: Kenji Kaneshige CC: Andi Kleen Acked-by: Ingo Molnar Signed-off-by: Jesse Barnes commit 2992e545ea006992ec9dc91c4fa996ce1e15f921 Author: Suresh Siddha Date: Mon Oct 26 13:21:32 2009 -0800 x86/PCI/PAT: return EINVAL for pci mmap WC request for !pat_enabled Thomas Schlichter reported: > X.org uses libpciaccess which tries to mmap with write combining enabled via > /sys/bus/pci/devices/*/resource0_wc. Currently, when PAT is not enabled, the > kernel does fall back to uncached mmap. Then libpciaccess thinks it succeeded > mapping with write combining enabled and does not set up suited MTRR entries. > ;-( Instead of silently mapping pci mmap region as UC minus in the case of !pat_enabled and wc request, we can return error. Eric Anholt mentioned that caller (like X) typically follows up with UC minus pci mmap request and if there is a free mtrr slot, caller will manage adding WC mtrr. Jesse Barnes says: > Older versions of libpciaccess will behave better if we do it that way > (iirc it only allocates an MTRR if the resource_wc file doesn't exist or > fails to get mapped). Reported-by: Thomas Schlichter Signed-off-by: Thomas Schlichter Signed-off-by: Suresh Siddha Acked-by: Eric Anholt Acked-by: Jesse Barnes Signed-off-by: Jesse Barnes commit 9a007b3791cdba3601d835ea10e68c14115b9afb Author: Bjorn Helgaas Date: Tue Oct 6 15:34:00 2009 -0600 PNP: print resources consistently with %pRt This uses %pRt and %pRf to print additional resource information (type, size, prefetchability, etc.) consistently. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 637b363e86f71effe74cba5d509f18bd3199a65b Author: Bjorn Helgaas Date: Tue Oct 6 15:33:54 2009 -0600 ia64/PCI: print resources consistently with %pRt This uses %pRt to print additional resource information (type, size, prefetchability, etc.) consistently. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 42887b29ced263ec3b8bd26ef157a324789b89d9 Author: Bjorn Helgaas Date: Tue Oct 6 15:33:49 2009 -0600 x86/PCI: print resources consistently with %pRt This uses %pRt to print additional resource information (type, size, prefetchability, etc.) consistently. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit a369c791e881503a6253dafc0d0ad5e41e5557e5 Author: Bjorn Helgaas Date: Tue Oct 6 15:33:44 2009 -0600 PCI: print resources consistently with %pRt This uses %pRt to print additional resource information (type, size, prefetchability, etc.) consistently. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit fd95541e23e2c9acb1e38cd41fc0c7cc37fceb53 Author: Bjorn Helgaas Date: Tue Oct 6 15:33:39 2009 -0600 vsprintf: add %pRt, %pRf to print struct resource details This adds support for printing struct resource type and flag information. For example, "%pRt" looks like "[mem 0x80080000000-0x8008001ffff 64bit pref]", and "%pRf" looks like "[mem 0xff5e2000-0xff5e2007 pref flags 0x1]". Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit c91d3376e5f4277173a22f0ef9989125c318bacb Author: Bjorn Helgaas Date: Tue Oct 6 15:33:34 2009 -0600 vsprintf: add %pR support for IRQ and DMA resources Print addresses (IO port numbers and memory addresses) in hex, but print others (IRQs and DMA channels) in decimal. Only print the end if it's different from the start. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2840537228fba95e05cab1a6b5719c61982db279 Author: Bjorn Helgaas Date: Tue Oct 6 15:33:29 2009 -0600 vsprintf: fix io/mem resource width The leading "0x" consumes field width, so leave space for it in addition to the 4 or 8 hex digits. This means we'll print "0x0000-0x01df" rather than "0x00-0x1df", for example. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3368dd29586c6460b629ac5b4f6b86a6fd3dd421 Author: Matthew Garrett Date: Mon Oct 26 13:18:22 2009 -0400 PCI hotplug: acpiphp should be linked after vendor drivers As a followup to 71a082efc9fdc12068a3cee6cebb1330b00ebeee, it's conceivable that some vendors may expose PCI hotplug functionality through both vendor mechanisms and ACPI. The native mechanism will generally be a superset of any functionality provided via ACPI, so the acpiphp driver should always be initialised after any others. Change the link order such that acpiphp will not be initialised until any other statically linked drivers have had an opportunity to claim the hardware. Signed-off-by: Matthew Garrett Signed-off-by: Jesse Barnes commit 17d67152793c43344930bda9b723c80186598aad Author: Stefan Assmann Date: Mon Oct 26 14:44:46 2009 +0100 PCI hotplug: change PCI nomenclature Change PCI nomenclature according to http://www.pcisig.com/developers/procedures/logos/Trademark_and_Logo_Usage_Guidelines_updated_112206.pdf. Signed-off-by: Stefan Assmann Signed-off-by: Jesse Barnes commit 76b1a87b217927f905f4b01c586452b2a1d33913 Author: Dave Jones Date: Wed Oct 14 16:31:39 2009 -0400 x86/PCI: Use generic cacheline sizing instead of per-vendor tests. Instead of the PCI code needing to have code to determine the cacheline size of each processor, use the data the cpu identification code should have already determined during early boot. (The vendor checks are also incomplete, and don't take into account modern CPUs) I've been carrying a variant of this code in Fedora for a while, that prints debug information. There are a number of cases where we are currently setting the PCI cacheline size to 32 bytes, when the CPU cacheline size is 64 bytes. With this patch, we set them both the same. Signed-off-by: Dave Jones Signed-off-by: Jesse Barnes commit 98e724c791924c0dfc5b1dcf053ed3841cc89c78 Author: Tejun Heo Date: Thu Oct 8 18:59:53 2009 +0900 PCI: pci_dfl_cache_line_size is __devinitdata pci_dfl_cache_line_size is marked as __initdata but referenced by pci_init() which is __devinit. Make it __devinitdata instead of __initdata. Signed-off-by: Tejun Heo Reported-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 15ea76d407d560f985224b65fe59c9db01692a0d Author: Tejun Heo Date: Tue Sep 22 17:34:48 2009 +0900 pccard: configure CLS on attach For non hotplug PCI devices, the system firmware usually configures CLS correctly. For pccard devices system firmware can't do it and Linux PCI layer doesn't do it either. Unfortunately this leads to poor performance for certain devices (sata_sil). Unless MWI, which requires separate configuration, is to be used, CLS doesn't affect correctness, so the configuration should be harmless. This patch makes pci_set_cacheline_size() always built and export it and make pccard call it during attach. Please note that some other PCI hotplug drivers (shpchp and pciehp) also configure CLS on hotplug. Signed-off-by: Tejun Heo Cc: Daniel Ritz Cc: Dominik Brodowski Cc: Greg KH Cc: Kenji Kaneshige Cc: Axel Birndt Signed-off-by: Jesse Barnes commit 4c0eec7a86303ce6e3edf7825d0ef1d414e76767 Author: Tejun Heo Date: Tue Sep 22 17:34:17 2009 +0900 sparc64/PCI: drop PCI_CACHE_LINE_BYTES sparc64 is now the only user of PCI_CACHE_LINE_BYTES. Drop it and set pci_dfl_cache_line_size from pcibios_init() instead and drop PCI_CACHE_LINE_BYTES handling from generic pci code. Orignally-From: David Miller Signed-off-by: Tejun Heo Signed-off-by: Jesse Barnes commit ac1aa47b131416a6ff37eb1005a0a1d2541aad6c Author: Jesse Barnes Date: Mon Oct 26 13:20:44 2009 -0700 PCI: determine CLS more intelligently Till now, CLS has been determined either by arch code or as L1_CACHE_BYTES. Only x86 and ia64 set CLS explicitly and x86 doesn't always get it right. On most configurations, the chance is that firmware configures the correct value during boot. This patch makes pci_init() determine CLS by looking at what firmware has configured. It scans all devices and if all non-zero values agree, the value is used. If none is configured or there is a disagreement, pci_dfl_cache_line_size is used. arch can set the dfl value (via PCI_CACHE_LINE_BYTES or pci_dfl_cache_line_size) or override the actual one. ia64, x86 and sparc64 updated to set the default cls instead of the actual one. While at it, declare pci_cache_line_size and pci_dfl_cache_line_size in pci.h and drop private declarations from arch code. Signed-off-by: Tejun Heo Acked-by: David Miller Acked-by: Greg KH Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Tony Luck Signed-off-by: Jesse Barnes commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d Author: Yinghai Lu Date: Sun Oct 4 21:54:24 2009 -0700 x86/PCI: read root resources from IOH on Intel For intel systems with multi IOH, we should read peer root resources directly from PCI config space, and don't trust _CRS. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 384a17b284b9dc92b480cf388310a25e255bac8a Author: David S. Miller Date: Wed Nov 4 08:47:03 2009 -0800 apbuart: Fix build warning. drivers/serial/apbuart.c: In function ‘apbuart_probe’: drivers/serial/apbuart.c:574: warning: format ‘%x’ expects type ‘unsigned int’, but argument 2 has type ‘resource_size_t’ Signed-off-by: David S. Miller commit d4ac42a582e46d7f86f0acb4253a310423c72c4c Author: Kristoffer Glembo Date: Wed Nov 4 08:39:46 2009 -0800 sparc: Support for GRLIB APBUART serial port This patch adds support for the APBUART serial port from Aeroflex Gaisler's IP library GRLIB. It is currently used in all LEON3 designs (SPARC V8) but can be used on other platforms as well (which support OF). Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit b8883a65be2d925ea82b14ca0068ce9a6c8bac1f Author: Jiri Slaby Date: Wed Nov 4 08:37:31 2009 -0800 NET: sungem, use spin_trylock_irqsave Use spin_trylock_irqsave instead of open-coded local_irq_save+spin_trylock. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit ed814525f2e45188964c270fc3a5a0b644f7e4a9 Author: Philipp Reisner Date: Tue Oct 27 12:37:14 2009 +0100 Now it is equal to DRBD release 8.3.5 without compat crap Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 59e1d4952d4cb81ee9a4c22c6cfa23604c5e1ea1 Author: Stefan Roese Date: Thu Oct 22 21:14:03 2009 +0000 powerpc/44x: Enable 64bit (>= 4GB) memory size in Katmai dts Additionally to increasing #size-cells to in the root node, we also need to explicitly define the ranges property in the plb node, because of the different #size-cells between child and parent. Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 835ad8e76ca75483d53d625b61b937c234cfeedf Author: Dave Mitchell Date: Thu Oct 8 06:33:29 2009 +0000 powerpc/4xx: Add 16K FIFO size DTS entries on supported platforms Adding tx/rx-fifo-size-gige to EMAC fields for evaluation kit DTS files where appropriate. Signed-off-by: Dave Mitchell Acked-by: Prodyut Hazarika Acked-by: Victor Gallardo Acked-by: Loc Ho Signed-off-by: Josh Boyer commit 83c38830b04d4e369b9a41acbc562c0422f2f2f2 Author: Lars Ellenberg Date: Tue Nov 3 02:22:06 2009 +0100 drbd: performance - don't lose unplug events Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit e656ec8ae2c0319b6d52834695f9635217d62de5 Author: Philipp Reisner Date: Fri Oct 23 13:57:45 2009 +0200 Do not deadlock in drbd_disconnect() [bugz 258] When there are many blocks on the fly (ua), and the AL gets into "starving" mode (random IO, scattered all over the device), and the connections gets interrupted, the receiver thread deadlocks in the drbd_disconnect() code path. Affected are only nodes in Primary role. The bug triggers most likely on system that mirror over "long distances" Regression introduced shortly before 8.3.3 with git commit 31e0f1250f174ac1ee317f360943a0159e19edc8 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0a4921662513ae60dc638c8e13fbe3439d84db64 Author: Philipp Reisner Date: Wed Oct 21 13:08:29 2009 +0200 drbdsetup X resume-io should be usable to resume IO [Bugz 256] When IO gets frozen due to a broken fence-peer script, the user should be able to thaw IO by the resume-io command. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1352994b363195ce932749d3518d4dc9a5479fea Author: Lars Ellenberg Date: Mon Oct 12 19:07:49 2009 +0200 drbd: fix check for too large lower level device To check wether we are truncating a very large device due to limited meta data space, we need to check the ll_dev size. Also improve the printk to suggest "flexible" or "internal". Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit ad19bf6e544f4d1abc22d2be130c7d5e4163146f Author: Lars Ellenberg Date: Wed Oct 14 09:36:49 2009 +0200 fix grammar in printk Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 89e1838f5f2c2af80268a096b9a687643b0d0846 Author: Lars Ellenberg Date: Mon Sep 21 10:46:22 2009 +0200 change default: by default, use socket buffer auto tuning Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit c6d14c84566d6b70ad9dc1618db0dec87cca9300 Author: Eric Dumazet Date: Wed Nov 4 05:43:23 2009 -0800 net: Introduce for_each_netdev_rcu() iterator Adds RCU management to the list of netdevices. Convert some for_each_netdev() users to RCU version, if it can avoid read_lock-ing dev_base_lock Ie: read_lock(&dev_base_loack); for_each_netdev(net, dev) some_action(); read_unlock(&dev_base_lock); becomes : rcu_read_lock(); for_each_netdev_rcu(net, dev) some_action(); rcu_read_unlock(); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d0075634cf9d288988f57392a1f132d2053af961 Author: Eric Dumazet Date: Wed Nov 4 05:23:31 2009 -0800 em_meta: avoid one dev_put() Another rcu conversion to avoid one dev_hold()/dev_put() pair Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 663e69592856df53ef52969482ef413a96bc4e06 Author: Thomas Gleixner Date: Wed Nov 4 14:22:21 2009 +0100 irq: Remove unused debug_poll_all_shared_irqs() commit 74296a8ed added this function for debug purposes, but it was never used for anything. Remove it. Signed-off-by: Thomas Gleixner commit 24b26d4211130b6455692804c14d537158855cd7 Author: Liuweni Date: Wed Nov 4 20:11:05 2009 +0800 irq: Fix docbook comments Fix docbook comments to match the actual function names (set_irq_msi, handle_percpu_irq). Signed-off-by: Liuwenyi Signed-off-by: Thomas Gleixner commit c7079857cd89cb5bc686df1d441db8ef0137abf1 Author: Eric Dumazet Date: Mon Nov 2 23:17:42 2009 +0000 bnx2: avoid compiler warnings drivers/net/bnx2.c: In function ‘bnx2_enable_forced_2g5’: drivers/net/bnx2.c:1447: warning: ‘bmcr’ may be used uninitialized in this function drivers/net/bnx2.c: In function ‘bnx2_disable_forced_2g5’: drivers/net/bnx2.c:1482: warning: ‘bmcr’ may be used uninitialized in this function One fix would be to have an initial value, but a plain return might be better. Signed-off-by: Eric Dumazet Acked-by: Michael Chan Signed-off-by: David S. Miller commit fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8 Author: Eric Dumazet Date: Tue Nov 3 03:26:03 2009 +0000 net: cleanup include/net This cleanup patch puts struct/union/enum opening braces, in first line to ease grep games. struct something { becomes : struct something { Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4b7673a04a16f1d8faf1e367ae28a6ee1671843d Author: Rémi Denis-Courmont Date: Mon Nov 2 22:41:28 2009 +0000 Phonet: remove tautologies These checks don't make sense anymore since rtnl_notify() cannot fail. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit df7641af498c1575f5e9719cb391a1fa8159db1b Author: Thiago Farina Date: Tue Nov 3 03:10:29 2009 +0000 trivial: remove duplicated MIN macro from tehuti. Since the kernel api already has the macro "min", just use it instead of declaring another one. Signed-off-by: Thiago Farina Signed-off-by: David S. Miller commit 0d37f36ff9bc41067c71635d14b6a5834853a779 Author: roel kluin Date: Mon Nov 2 06:53:44 2009 +0000 cnic: ensure ulp_type is not negative `ulp_type' is signed, make sure it is not negative when we read the array element. Signed-off-by: Roel Kluin Acked-by: Michael Chan Signed-off-by: David S. Miller commit 885ee398de2354cf4526a3ecaf9e84e292393007 Author: Ron Mercer Date: Tue Nov 3 13:49:31 2009 +0000 qlge: Clean up netdev->stats usage. Don't access netdev->stats in IO path. Save them in tx_ring/rx_rings and add them up when get_stats API is called. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1e34e307d0ebe536feb39c957c849a485bc81486 Author: Ron Mercer Date: Tue Nov 3 13:49:30 2009 +0000 qlge: Add firmware/driver sub-command support. These sub-commands are issued by another (FCoE) function requesting an operation on a shared resource. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 32a5b2a0d516ba4056d9e9b8b14e34bef3f68921 Author: Ron Mercer Date: Tue Nov 3 13:49:29 2009 +0000 qlge: Fix indentations. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d7d3756c5b1277fafd132ce7a2211b388c3b5bd2 Author: Rusty Russell Date: Tue Nov 3 14:58:38 2009 +1030 cpumask: Use modern cpumask style in Xen Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge LKML-Reference: <200911031458.38406.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit ce7c42710e2dd133f10b7fc9ed9c73bdd2435f7a Author: Rusty Russell Date: Tue Nov 3 14:53:52 2009 +1030 cpumask: Avoid cpumask_t in arch/x86/kernel/apic/nmi.c Ingo wants the certainty of a static cpumask (rather than a cpumask_var_t), but cpumask_t will some day be undefined to avoid on-stack declarations. This is what DECLARE_BITMAP/to_cpumask() is for. Signed-off-by: Rusty Russell LKML-Reference: <200911031453.52394.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit acc3f5d7cabbfd6cec71f0c1f9900621fa2d6ae7 Author: Rusty Russell Date: Tue Nov 3 14:53:40 2009 +1030 cpumask: Partition_sched_domains takes array of cpumask_var_t Currently partition_sched_domains() takes a 'struct cpumask *doms_new' which is a kmalloc'ed array of cpumask_t. You can't have such an array if 'struct cpumask' is undefined, as we plan for CONFIG_CPUMASK_OFFSTACK=y. So, we make this an array of cpumask_var_t instead: this is the same for the CONFIG_CPUMASK_OFFSTACK=n case, but requires multiple allocations for the CONFIG_CPUMASK_OFFSTACK=y case. Hence we add alloc_sched_domains() and free_sched_domains() functions. Signed-off-by: Rusty Russell Cc: Peter Zijlstra LKML-Reference: <200911031453.40668.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit e2c880630438f80b474378d5487b511b07665051 Author: Rusty Russell Date: Tue Nov 3 14:53:15 2009 +1030 cpumask: Simplify sched_rt.c find_lowest_rq() wants to call pick_optimal_cpu() on the intersection of sched_domain_span(sd) and lowest_mask. Rather than doing a cpus_and into a temporary, we can open-code it. This actually makes the code slightly clearer, IMHO. Signed-off-by: Rusty Russell Acked-by: Gregory Haskins Cc: Steven Rostedt LKML-Reference: <200911031453.15350.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 09879b99d44d701c603935ef2549004405d7f8f9 Author: Hiroshi Shimamoto Date: Wed Nov 4 12:58:15 2009 +0900 x86: Gitignore: arch/x86/lib/inat-tables.c Ignore generated file arch/x86/lib/inat-tables.c. Signed-off-by: Hiroshi Shimamoto Acked-by: Masami Hiramatsu LKML-Reference: <4AF0FBD7.7000501@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 77b44d1b7c28360910cdbd427fb62d485c08674c Author: Masami Hiramatsu Date: Tue Nov 3 19:12:47 2009 -0500 tracing/kprobes: Rename Kprobe-tracer to kprobe-event Rename Kprobes-based event tracer to kprobes-based tracing event (kprobe-event), since it is not a tracer but an extensible tracing event interface. This also changes CONFIG_KPROBE_TRACER to CONFIG_KPROBE_EVENT and sets it y by default. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001247.3454.14131.stgit@harusame> Signed-off-by: Ingo Molnar commit 91365bbe4f8c39a821f390f785d606304d6dee3c Author: Masami Hiramatsu Date: Tue Nov 3 19:12:38 2009 -0500 perf/probes: Rename perf probe events group name Rename the group name of perf probe events to 'probe'. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001238.3454.70508.stgit@harusame> Signed-off-by: Ingo Molnar commit a225a1d911f0e434dc0407df29fd08e4388f3fa4 Author: Masami Hiramatsu Date: Tue Nov 3 19:12:30 2009 -0500 perf/probes: Fall back to non-dwarf if possible Fall back to non-dwarf probe point if the probe definition may not need dwarf analysis, when perf can't find vmlinux/debuginfo. This might skip some inlined code of target function. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001229.3454.63987.stgit@harusame> Signed-off-by: Ingo Molnar commit a7f4328b91fb6e71dbe1fa4d46f3597c9555014d Author: Masami Hiramatsu Date: Tue Nov 3 19:12:21 2009 -0500 perf/probes: Improve error messages Improve error messages in perf-probe so that users can figure out problems easily. Reported-by: Ingo Molnar Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001221.3454.52030.stgit@harusame> Signed-off-by: Ingo Molnar commit c43f9d1e61e265c6bfafdd65c7f07c8d71a7efc3 Author: Masami Hiramatsu Date: Tue Nov 3 19:12:13 2009 -0500 perf/probes: Update Documentation/perf-probe.txt Update Documentation/perf-probe.txt accoding to recent syntax changes. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001212.3454.19415.stgit@harusame> Signed-off-by: Ingo Molnar commit 45a5c8bad827ebb9c9798becc15bce2e804d49e0 Author: Dhaval Giani Date: Wed Nov 4 03:15:44 2009 +0530 sched: Add USER_SCHED to feature removal list Peter Zijlstra suggested that we remove USER_SCHED at: http://lkml.org/lkml/2009/3/21/67 Removing USER_SCHED removes a lot of code from the scheduler and simplifies the code. We already have the ability to do user based classification which is tightened using PAM in userspace. Schedule USER_SCHED for removal in 2.6.34 Signed-off-by: Dhaval Giani Acked-by: Peter Zijlstra Cc: Balbir Singh Cc: Bharata B Rao Cc: Serge E. Hallyn Cc: Srivatsa Vaddagiri LKML-Reference: <20091103214544.GI5495@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 2643ce11457a99a85c5bed8dd631e35968e6ca5a Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 21:46:10 2009 -0200 perf symbols: Factor out buildid reading routine So that we can run it without having a DSO instance. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1257291970-8208-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a2e71271535fde493c32803b1f34789f97efcb5e Merge: 6d7aa9d b419148 Author: Ingo Molnar Date: Wed Nov 4 11:54:15 2009 +0100 Merge commit 'v2.6.32-rc6' into perf/core Conflicts: tools/perf/Makefile Merge reason: Resolve the conflict, merge to upstream and merge in perf fixes so we can add a dependent patch. Signed-off-by: Ingo Molnar commit 9824a2b728b63e7ff586b9fd9293c819be79f0f3 Author: Hiroshi Shimamoto Date: Wed Nov 4 16:16:54 2009 +0900 sched: Remove unused cpu_nr_migrations() cpu_nr_migrations() is not used, remove it. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF12A66.6020609@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 2a2bb3142d326bb28b03875cabfc49baaac9a14a Author: Hiroshi Shimamoto Date: Wed Nov 4 16:16:10 2009 +0900 sched: Remove unused time_sync_thresh declaration time_sync_thresh had been removed. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF12A3A.5050200@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 1477b6a7edd9ffa7bba4f9779ce9a76ce92761ed Author: Hiroshi Shimamoto Date: Wed Nov 4 16:14:16 2009 +0900 sched: Remove unused __schedule() declaration __schedule() had been removed. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF129C8.3030008@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 1168df7e1cbfa4b45ba2bfd982ff535df50c273c Author: Anssi Hannula Date: Wed Nov 4 00:57:35 2009 +0200 HID: pidff - fix unnecessary loop iterations on reset When encountering a strange value in the pool report, pidff_reset will always refetch the report 20 times, even if one of the retries results in a sane value. This is because a temporary variable being used to store the value is not being updated inside the loop. Fix it by using the value directly in the loop. Reported-by: Roel Kluin Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 9dcaa7b25f2c8f6a0485854cd3641f585a154072 Author: Rafael Ignacio Zurita Date: Tue Nov 3 17:16:27 2009 -0300 ALSA: sh: add SuperH DAC audio driver for ALSA V4 This is a port of the sound/oss/sh_dac_audio.c driver. The driver uses an on-chip 8-bit D/A converter, which has a speaker connected to one of its channels, found in several ancient HP machines. For interrupts it uses a high-resolution timer (hrtimer). Tested on SH7709 based hp6xx (HP Jornada 680/690 and HP Palmtop 620lx/660lx). Also, since OSS Emulation works, the old OSS sound/oss/sh_dac_audio.c driver would be obsolete soon, and it could be removed. Signed-off-by: Rafael Ignacio Zurita Acked-by: Paul Mundt Signed-off-by: Takashi Iwai commit 476d42f138ba82389a92a894d8a630a70d36278f Author: H Hartley Sweeten Date: Wed Nov 4 09:10:33 2009 +0100 block/scsi_ioctl.c: quiet sparse noise Quiet sparse noise about symbol's not being declared. Symbol blk_default_cmd_filter is only used locally and should be static. The function blk_scsi_ioctl_init() is a fs_initcall and should also be static. Signed-off-by: H Hartley Sweeten Cc: James Bottomley Signed-off-by: Jens Axboe commit cc56f7de7f00d188c7c4da1e9861581853b9e92f Author: Changli Gao Date: Wed Nov 4 09:09:52 2009 +0100 sendfile(): check f_op.splice_write() rather than f_op.sendpage() sendfile(2) was reworked with the splice infrastructure, but it still checks f_op.sendpage() instead of f_op.splice_write() wrongly. Although if f_op.sendpage() exists, f_op.splice_write() always exists at the same time currently, the assumption will be broken in future silently. This patch also brings a side effect: sendfile(2) can work with any output file. Some security checks related to f_op are added too. Signed-off-by: Changli Gao Signed-off-by: Jens Axboe commit f21121cde6e617b90cd03ce083652ca543004dc2 Author: Hideyuki Sasaki Date: Wed Nov 4 09:09:28 2009 +0100 block/ps3: fix slow VRAM IO The current PS3 VRAM driver uses msleep() to wait for completion of RSX DMA transfers between system memory and VRAM. Depending on the system timing, the processing delay and overhead of this msleep() call can significantly impact VRAM driver IO. To avoid the condition, add a short duration (200 usec max) udelay() polling loop before entering the msleep() polling loop. Signed-off-by: Hideyuki Sasaki Signed-off-by: Geoff Levand Acked-by: Jim Paris Cc: Geert Uytterhoeven Signed-off-by: Jens Axboe commit e00ef7997195e4f8e10593727a6286e2e2802159 Author: Jens Axboe Date: Wed Nov 4 08:54:55 2009 +0100 cfq-iosched: get rid of the coop_preempt flag We need to rework this logic post the cooperating cfq_queue merging, for now just get rid of it and Jeff Moyer will fix the fall out. Signed-off-by: Jens Axboe commit b6d0137d6156db54a9e6ff74458ed4342a45abb5 Merge: 5c1a56b 51bb296 Author: Paul Mundt Date: Wed Nov 4 16:10:35 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 5c1a56b5f616f7063f91eb85f0ea209658f387dc Author: Paul Mundt Date: Wed Nov 4 15:59:04 2009 +0900 video: sh_mobile_lcdcfb: Don't attempt to map zero-length scatterlists. More aggressive DMA mapping debugging has uncovered a long-standing buglet in the way that the sh_mobile_lcdcfb driver implements its deferred I/O callback. When used as a console driver the acceleration routines are called by the kernel which subsequently cause the deferred I/O work to be scheduled, resulting in the deferred I/O callback being entered without any dirty pages on the pagelist (the normal case for userspace accesses). It's also possible to get in to this situation via explicit calling of fsync() when nothing has dirtied the region. Unfortunately it's not sufficient to skip over the callback when the pagelist is empty given the console driver use case, so instead the callback has to conditionalize the work for panel updates and DMA mapping depending on whether anything is resident on the pagelist or not. Reported-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 9016332014404ae1dca7198f93804ac67ba9e918 Author: Roel Kluin Date: Mon Nov 2 16:14:42 2009 +0000 sh: Make sure indexes are positive The indexes are signed, make sure they are not negative when we read array elements. Signed-off-by: Roel Kluin Signed-off-by: Paul Mundt commit c4b973f532206e1a67b1beae654b44c8be26fc44 Author: Magnus Damm Date: Mon Nov 2 09:31:03 2009 +0000 sh: Add RWDT save/restore code for sh7724 R-standby Add sh7724 code to save and restore RWDT state during R-standby. Without this patch the watchdog will generate a reset shortly after resuming from R-standby. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a37c6c7aec38a693f87ee5ccc6e60a5b3ee700f2 Author: Paul Mundt Date: Wed Nov 4 11:44:21 2009 +0900 sh: mach-se: Convert SE7722 FPGA to dynamic IRQ allocation. This gets rid of the arbitrary set of vectors used by the SE7722 FPGA interrupt controller and witches 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 fe3e78e073d25308756f38019956061153267769 Author: Mark Brown Date: Tue Nov 3 22:13:13 2009 +0000 ASoC: Factor out snd_soc_init_card() snd_soc_init_card() is always called as the last part of the CODEC probe function so we can factor it out into the core card setup rather than have each CODEC replicate the code to do the initialiastation. This will be required to support multiple CODECs per card. Signed-off-by: Mark Brown commit 2624d5fa67a5d3d720613a4ab0672e8c387ba806 Author: Mark Brown Date: Tue Nov 3 21:56:13 2009 +0000 ASoC: Move sysfs and debugfs functions to head of soc-core.c A fairly hefty change in diff terms but no actual code changes, will be used by the next commit. Signed-off-by: Mark Brown commit 529697c5463d941445db18e9526e7fc76a18e503 Author: Mark Brown Date: Tue Nov 3 22:13:30 2009 +0000 ASoC: Staticise wm8727 driver structure Signed-off-by: Mark Brown commit e7fec0bbf13b9bc2869a18e66f0cda7bb7f559f0 Author: Inaky Perez-Gonzalez Date: Tue Oct 27 14:33:45 2009 -0700 wimax/i2400m: fix inverted value in i2400ms_bus_setup() Fix inverted setting of 'retries'; when we are in the probe() path, we should retry to enable the function only once; otherwise until it times out. Signed-off-by: Inaky Perez-Gonzalez commit 20d57f8e2553fa6f5cd382131b7f18e91c7141fc Author: Inaky Perez-Gonzalez Date: Mon Oct 26 09:27:02 2009 -0700 wimax/i2400m: fix SDIO debugfs dentry name The SDIO specific debugfs dentry was being misnamed "i2400m-usb" instead of "i2400m-sdio". Signed-off-by: Inaky Perez-Gonzalez commit 5a039e78522502067a68c969fb87fba1e39bc2a6 Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:31:31 2009 -0700 wimax/i2400m: fix bad assignment of return value in i2400mu_tx_bulk_out The function was always setting the return value to the amount of bytes transferred, overwriting the error code in error paths. Signed-off-by: Inaky Perez-Gonzalez commit faf57162e462eafe87458e21bf641f9d138f8171 Author: Inaky Perez-Gonzalez Date: Tue Oct 20 11:10:59 2009 +0900 wimax/i2400m: handle USB stalls When the device stalls, clear it and retry; if it keeps failing too often, reset the device. This specially happens when running on virtual machines; the real hardware doesn't seem to trip on stalls too much, except for a few reports in the mailing list (still to be confirmed this is the cause, although it seems likely. NOTE: it is not clear if the URB has to be resubmitted fully or start only at the offset of the first transaction sent. Can't find documentation to clarify one end or the other. Tests that just resubmit the whole URB seemed to work in my environment. Signed-off-by: Inaky Perez-Gonzalez commit fae92216da87d1c78aa51c4503acb312a47266e9 Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:48:36 2009 -0700 wimax/i2400m: don't retry SDIO enable in probe() paths The iwmc3200 has a quirk where retrying SDIO enable during the probe() path causes bad interactions with the TOP function controller that causes a reset storm. The workaround is simply not to retry an SDIO enable in said path (and still do in the reset / reinitialization paths). The driver does so by checking i2400ms->debugfs_dentry to see if it has been initialized; if not, it is in the probe() path. Document said fact in i2400ms->debugfs_entry. Signed-off-by: Inaky Perez-Gonzalez commit 02eb41ef2a8631022fd90e096c57562dec9e7a9a Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:45:07 2009 -0700 wimax/i2400m: correctly identify all iwmc3200-based SKUs Different paths of the i2400m SDIO driver need to take care of a few SKU-specific quirks. For the ones that are common to to all the iwmc3200 based devices, introduce i2400ms->iwmc3200 [set in i2400ms_probe()], so it doesn't have to check against the list of iwmc3200 SKU IDs on each quirk site. Signed-off-by: Inaky Perez-Gonzalez commit 296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8 Author: Inaky Perez-Gonzalez Date: Tue Oct 20 11:09:25 2009 +0900 wimax/i2400m: Fix USB timeout specifications (to ms from HZ) The USB code was incorrectly specifiying timeouts to be in jiffies vs msecs. On top of that, lower it to 200ms, as 1s is really too long (doesn't allow the watchdog to trip a reset if the device timesout too often). Signed-off-by: Inaky Perez-Gonzalez commit 5ab5a7215a0cfd40572a9f09276ebcb071ee6fb7 Author: Inaky Perez-Gonzalez Date: Thu Oct 15 18:16:08 2009 +0900 wimax/i2400m: fix device getting stuck in IDLE mode The i2400m, when conected, will negotiate with the WiMAX basestation to put the link in IDLE mode when it is not being used. Upon RX/TX traffic, the link has to be restablished and that might require some crypto handshakes and maybe a DHCP renew. This process might take up to 20 (!) seconds and in some cases we were seeing network watchdog warnings that weren't needed. So the network watchdog timeout is updated to be slightly above that 20s threshold. As well, the driver itself will double check if the device is stuck in IDLE mode -- if that happens, the device will be reset (in this case the queue is also woken up to remove bogus--once the device is reset--warnings). Signed-off-by: Inaky Perez-Gonzalez commit c931ceeb780560ff652a8f9875f88778439ee87e Author: Inaky Perez-Gonzalez Date: Mon Oct 19 16:24:56 2009 +0900 wimax/i2400m: introduce i2400m_reset(), stopping TX and carrier Currently the i2400m driver was resetting by just calling i2400m->bus_reset(). However, this was missing stopping the TX queue and downing the carrier. This was causing, for the corner case of the driver reseting a device that refuses to go out of idle mode, that a few packets would be queued and more than one reset would go through, making the recovery a wee bit messy. To avoid introducing the same cleanup in all the bus-specific driver, introduced a i2400m_reset() function that takes care of house cleaning and then calling the bus-level reset implementation. The bulk of the changes in all files are just to rename the call from i2400m->bus_reset() to i2400m_reset(). Signed-off-by: Inaky Perez-Gonzalez commit 55a662d6468005ec3cd799fbd8d0ad03dfae6d2a Author: Inaky Perez-Gonzalez Date: Mon Oct 19 23:11:26 2009 +0900 wimax/i2400m: implement passive mode as a module option Some versions of the user space Intel WiMAX daemon need to have full control over the device initialization sequence. By setting the module option i2400.passive_mode to 1, the driver defers all device configuration and initialization to user space. Signed-off-by: Inaky Perez-Gonzalez commit 125c4f221a5352ae08aef2898055b879ad963f01 Author: Jens Axboe Date: Tue Nov 3 21:25:45 2009 +0100 cfq-iosched: fix merge error We ended up with testing the same condition twice, pretty pointless. Remove that first if. Signed-off-by: Jens Axboe commit 2058297d2d045cb57138c33b87cfabcc80e65186 Merge: 150e6c6 4b27e1b Author: Jens Axboe Date: Tue Nov 3 21:14:39 2009 +0100 Merge branch 'for-linus' into for-2.6.33 Conflicts: block/cfq-iosched.c Signed-off-by: Jens Axboe commit 150e6c67f4bf6ab51e62defc41bd19a2eefe5709 Merge: 4f570f9 5869619 Author: Jens Axboe Date: Tue Nov 3 21:12:10 2009 +0100 Merge branch 'cfq-2.6.33' into for-2.6.33 commit 97829de5a3b88899c5f3ac8802d11868bf4180ba Author: Brian Gerst Date: Tue Nov 3 14:02:05 2009 -0500 x86, 64-bit: Fix bstep_iret jump This jump should be unconditional. Signed-off-by: Brian Gerst LKML-Reference: <1257274925-15713-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 97eaf5300b9d0cd99c310bf8c4a0f2f3296d88a3 Author: Frederic Weisbecker Date: Sun Oct 18 15:33:50 2009 +0200 perf/core: Add a callback to perf events A simple callback in a perf event can be used for multiple purposes. For example it is useful for triggered based events like hardware breakpoints that need a callback to dispatch a triggered breakpoint event. v2: Simplify a bit the callback attribution as suggested by Paul Mackerras Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: "K.Prasad" Cc: Alan Stern Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Paul Mackerras Cc: Mike Galbraith Cc: Paul Mundt commit 6d7aa9d721c8c640066142fd9534afcdf68d7f9d Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 15:52:18 2009 -0200 perf symbols: Initialize dso->loaded Brown paper bag bug introduced in: 66bd8424cc05e800db384053bf7ab967e4658468 ("perf tools: Delay loading symtabs till we hit a map with it") Without this we were not loading any symtabs that happened to be on a DSO for which the allocated memory for ->loaded was !0. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1257270738-5669-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit c1e530178540df26eb39f10a972d06f96302ceb4 Author: Thiago Farina Date: Tue Nov 3 08:28:45 2009 -0500 perf: Clean up trivial style issues in builtin-help.c Pointed out by checkpatch. Signed-off-by: Thiago Farina Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <1257254925-5423-1-git-send-email-tfransosi@gmail.com> Signed-off-by: Ingo Molnar commit 41a48d14f6991020c9bb6b93e289ca5b411ed09a Author: Paul Mundt Date: Mon Oct 5 19:23:06 2009 +0900 x86/hw-breakpoints: Actually flush thread breakpoints in flush_thread(). flush_thread() tries to do a TIF_DEBUG check before calling in to flush_thread_hw_breakpoint() (which subsequently clears the thread flag), but for some reason, the x86 code is manually clearing TIF_DEBUG immediately before the test, so this path will never be taken. This kills off the erroneous clear_tsk_thread_flag() and lets flush_thread_hw_breakpoint() actually get invoked. Presumably folks were getting lucky with testing and the free_thread_info() -> free_thread_xstate() path was taking care of the flush there. Signed-off-by: Paul Mundt Acked-by: "K.Prasad" Cc: Ingo Molnar Cc: Alan Stern LKML-Reference: <20091005102306.GA7889@linux-sh.org> Signed-off-by: Frederic Weisbecker commit fb0459d75c1d0a4ba3cafdd2c754e7486968a676 Author: Arjan van de Ven Date: Fri Sep 25 12:25:56 2009 +0200 perf/core: Provide a kernel-internal interface to get to performance counters There are reasons for kernel code to ask for, and use, performance counters. For example, in CPU freq governors this tends to be a good idea, but there are other examples possible as well of course. This patch adds the needed bits to do enable this functionality; they have been tested in an experimental cpufreq driver that I'm working on, and the changes are all that I needed to access counters properly. [fweisbec@gmail.com: added pid to perf_event_create_kernel_counter so that we can profile a particular task too TODO: Have a better error reporting, don't just return NULL in fail case.] v2: Remove the wrong comment about the fact perf_event_create_kernel_counter must be called from a kernel thread. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: "K.Prasad" Cc: Alan Stern Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt Cc: Jan Kiszka Cc: Avi Kivity LKML-Reference: <20090925122556.2f8bd939@infradead.org> Signed-off-by: Frederic Weisbecker commit 01dd95827726534230d8f03f7e6faafe24e49260 Author: Huang Ying Date: Tue Nov 3 10:55:20 2009 -0500 crypto: ghash-intel - Fix irq_fpu_usable usage When renaming kernel_fpu_using to irq_fpu_usable, the semantics of the function is changed too, from mesuring whether kernel is using FPU, that is, the FPU is NOT available, to measuring whether FPU is usable, that is, the FPU is available. But the usage of irq_fpu_usable in ghash-clmulni-intel_glue.c is not changed accordingly. This patch fixes this. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 12e4db4790b1bd2b7ec70eb2a1386c00fc683740 Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 11:29:07 2009 -0200 perf probe: Annotate variable initialization Annotate away this false positive warning on older GCCs: cc1: warnings being treated as errors builtin-probe.c: In function ‘parse_probe_event’: builtin-probe.c:72: warning: ‘nc’ is used uninitialized in this function Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Masami Hiramatsu LKML-Reference: <1257254947-16789-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a489ca355efaf9efa4990b0f8f30ab650a206273 Author: Arjan van de Ven Date: Mon Nov 2 16:59:15 2009 -0800 x86: Make sure we also print a Code: line for show_regs() show_regs() is called as a mini BUG() equivalent in some places, specifically for the "scheduling while atomic" case. Unfortunately right now it does not print a Code: line unlike a real bug/oops. This patch changes the x86 implementation of show_regs() so that it calls the same function as oopses do to print the registers as well as the Code: line. Signed-off-by: Arjan van de Ven LKML-Reference: <20091102165915.4a980fc0@infradead.org> Signed-off-by: Ingo Molnar commit 4029a91f0c82ae16e5b10b36da51c470895deedf Author: Chen Liqin Date: Mon Oct 26 11:09:29 2009 +0800 asm-generic: Fix typo in asm-generic/unistd.h. >>From 9741f7928ef35416e49f329a64e623a109de5c2d Mon Sep 17 00:00:00 2001 From: Chen Liqin Date: Mon, 26 Oct 2009 10:50:50 +0800 Subject: [PATCH] asm-generic: Fix typo in asm-generic/unistd.h. Fixed __NR_ftruncate and __NR_ftruncate64 define in asm-generic/unistd.h. Signed-off-by: Chen Liqin Signed-off-by: Arnd Bergmann commit 0a5549ed163520787f76b7515dfe9d9aa1c7ae37 Author: Arnd Bergmann Date: Tue Jun 23 22:52:51 2009 +0200 lib/checksum: fix one more thinko When do_csum gets unaligned data, we really need to treat the first byte as an even byte, not an odd byte, because we swap the two halves later. Found by Mike's checksum-selftest module. Reported-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit 20c1f641bb80fb272dec959a5caabed92e5a422e Author: Arnd Bergmann Date: Tue Jun 23 21:37:26 2009 +0200 lib/checksum.c: make do_csum optional Mike Frysinger suggested that do_csum should be optional so that an architecture can use the generic checksum code but still provide an optimized fast-path for the most critical function. This can mean an implementation using inline assembly, or in case of Alpha one using 64-bit arithmetic in C. Cc: Mike Frysinger Signed-off-by: Arnd Bergmann commit c44ba9f6684946b156335da6a6d55f0b8cf7cb72 Author: Arnd Bergmann Date: Tue Jun 23 21:22:58 2009 +0200 lib/checksum.c: use 32-bit arithmetic consistently The use of 'unsigned long' variables in the 32-bit part of do_csum() is confusing at best, and potentially broken for long input on 64-bit machines. This changes the code to use 'unsigned int' instead, which makes the code behave in the same (correct) way on both 32 and 64 bit machines. Reported-by: Linus Torvalds Signed-off-by: Arnd Bergmann commit 3b0d65969b549b796abc6f0230f6142fed365d49 Author: Herbert Xu Date: Tue Nov 3 09:11:15 2009 -0500 crypto: ghash-intel - Add PSHUFB macros Add PSHUFB macros instead of repeating byte sequences, suggested by Ingo. Signed-off-by: Herbert Xu Acked-by: Ingo Molnar commit 59131d8e0ae91f2e94909e0795923c4c7ee7eb8c Merge: 012abee 4f570f9 Author: Philipp Reisner Date: Tue Nov 3 10:59:10 2009 +0100 Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block into for-2.6.33 commit a02b7b7a138c7b1bc08e0e749ecbb613eadb6d41 Author: Atsushi Nemoto Date: Mon Nov 2 04:34:47 2009 +0000 tc35815: Kill unused code - TC35815_DMA_SYNC_ONDEMAND is always enabled. - WORKAROUND_LOSTCAR is always enabled. - WORKAROUND_100HALF_PROMISC is always enabled. - GATHER_TXINT is always enabled. - TC35815_USE_PACKEDBUFFER is always disabled. - NO_CHECK_CARRIER is always disabled. Signed-off-by: David S. Miller commit c6a2dbbadee65345a226aa15a9cbe5b70ae912e7 Author: Atsushi Nemoto Date: Mon Nov 2 04:34:46 2009 +0000 tc35815: Kill non-napi code Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 7a8b3372e29ff58ebdf94def26703afabd287f11 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:40 2009 +0000 gianfar: Basic Support for programming hash rules This patch provides basic hash rules programming via the ethtool interface. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 46ceb60ca80fa07703bc6eb8f4651f900dff5a82 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:34 2009 +0000 gianfar: Add Multiple group Support This patch introduces multiple group support for etsec2.0 devices. Multiple group support is provided by mapping the set of enabled queues to different groups and then programming the per group regsiters imask, ievent, rstat, tstat. The queues corresponding to a group are indicated by programming isrg (interrupt steering) registers. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 2e0246c72fa2e2b61865a2d5aaff1cc9155b9447 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:28 2009 +0000 gianfar: Add support etsec2.0 registers. This patch adds support for etsec2.0 regsiters Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 1d2397d742b7a2b39b2f09dd9da3b9d1463f55e9 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:22 2009 +0000 fsl_pq_mdio: Add Suport for etsec2.0 devices. This patch adds mdio support for etsec2.0 devices. Modified the fsl_pq_mdio structure to include the new mdio members. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9de83 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:15 2009 +0000 gianfar: Add Multiple Queue Support This patch introduces multiple Tx and Rx queues. The incoming packets can be classified into different queues based on filer rules (out of scope of this patch). The number of queues enabled will be based on a DTS entries fsl,num_tx_queues and fsl,num_rx_queues. Although we are enabling multiple queues, the interrupt coalescing is on per device level (etsec-1.7 doesn't support multiple rxics and txics). Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit f4983704a63b3764418905a77d48105a8cbce97f Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:09 2009 +0000 gianfar: Introduce logical group support. This patch introduces the group structure. The elements of this structure are the interrupt lines, their corresponding names, the register memory map. The elements for this group are factored out from the gfar_private structure. The introduction of group structure will help in providing support for newer versions of etsec. Currently, the support is present only for single group and single tx/rx queues. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit a12f801d4b349bc57622584e70e45a4ccbef53b6 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:00 2009 +0000 gianfar: Add per queue structure support This patch introduces per tx and per rx queue structures. Earlier the members of these structures were inside the gfar_private structure. Moving forward if we want to support multiple queues, we need to refactor the gfar_private structure so that introduction of multiple queues is easier. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 123b43e9716115302a0095e14f2c545811712715 Author: Matt Carlson Date: Mon Nov 2 14:33:03 2009 +0000 tg3: Update version to 3.103 This patch updates the tg3 version to 3.103. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 52fae0837153e86e4dabaf5df517a0b8b7a20bd7 Author: Matt Carlson Date: Mon Nov 2 14:32:38 2009 +0000 tg3 / broadcom: Optionally disable TXC if no link This patch adds code to disable the TXC and RXC reference clocks if link is not available. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c704dc23cac0e433796bfe0a1fe2f1a64da11ac7 Author: Matt Carlson Date: Mon Nov 2 14:32:12 2009 +0000 tg3 / broadcom: Add APD support for GPHYs This patch adds an RXC auto power-down feature to the code that supports the gphys. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 32e5a8d651c0dbb02bf82ca954206282e44c4b11 Author: Matt Carlson Date: Mon Nov 2 14:31:39 2009 +0000 tg3 / broadcom: Add code to disable rxc refclk The 5785 does not use the RXC reference clock. Turning it off is desirable as it saves power. By default, the 50610 enables the RXC reference clock and the 50610M disables it. Presumably this is one of the reasons why the hardware architect chose one over the other. Adding a "rx reference clock disable" flag is not the ideal way to describe the option, as it would force the MAC using a 50610M to set the flag. Ideally we want the flags to represent opt-in behavior that deviates from hardware defaults. Furthermore, the lack of a "disable" flag implies that the requester wants the rx reference clock enabled, which doesn't necessarily follow. By presenting the option as a passive statement (rx reference clock unused) rather than a command, I hope to convey an opt-in option to disable the rx reference clock that falls back to hardware defaults if not set. A secondary benefit of this is that it keeps the intelligence about phy defaults in the broadcom module where it belongs and allows the broadcom module more latitude should a bug arise. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit cdd4e09d692bd4f3457b3789279005e112b7696d Author: Matt Carlson Date: Mon Nov 2 14:31:11 2009 +0000 tg3 / broadcom: Refine AC131 APD support Auto power-down (APD) support is a power-saving feature. It should be selectively enabled since it might expose MAC bugs. This patch changes the code to enable APD only if the PHY_BRCM_AUTO_PWRDWN_ENABLE flag is set. The tg3 driver was changed to set this bit. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 63a14ce449dd6d647de2725809159eb072b2c44f Author: Matt Carlson Date: Mon Nov 2 14:30:40 2009 +0000 tg3 / broadcom: Add PHY_BRCM_CLEAR_RGMII_MODE flag Broadcom 50610M parts changed the default definitions of the RGMII mode shadow register. The 5785 needs the RGMII mode selection bits [4:3] cleared. The default value of the remaining bits in this register are zero. Rather than unnecessarily burn an extra bit in the dev_flags member in an attempt to enumerate all possible combinations, this patch take a more course grained approach and labels the option as "clear all bits". Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 8649f13d2d810406da444a6101906041b796fbde Author: Matt Carlson Date: Mon Nov 2 14:30:00 2009 +0000 broadcom: Consolidate dev_flags definitions This patch moves all the dev_flags enumerations outside the broadcom.c file to include/linux/brcmphy.h. The existing flags were not used yet and have been re-enumerated to avoid conflicts. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c73430d04ec75962e20e186d34c40b6d999f0968 Author: Matt Carlson Date: Mon Nov 2 14:29:34 2009 +0000 tg3: Add 50610M phy ID for 5785 This patch adds the 50610M phy ID for 5785. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 219c6efefaa3f5cd05db52cda50402b2e1c9ae21 Author: Matt Carlson Date: Mon Nov 2 14:28:33 2009 +0000 broadcom: Fix slow link problem When a 50610 or 50610M is paired against particular remote partners, link is slow to come up. This patch works around the problem. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 47b1b53b41d63f27b308981fde307d415e514431 Author: Matt Carlson Date: Mon Nov 2 14:28:04 2009 +0000 broadcom: Isolate phy dsp accesses This patch consolidates the code that requires the SMDSP clock to be enabled into a single function that (hopefully) makes the dependency obvious. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 303fc9218246a748304c005e629d658927cf12d0 Author: Matt Carlson Date: Mon Nov 2 14:27:34 2009 +0000 tg3: Extend loopback test timeout This patch extends the loopback test timeout from 250 usec to 350 usec. When the 5785 is paired against an AC131 phy, the older timeout is just a little too close to the expected performance based on timings. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c3df0748ee43101dfc5c94d1f61ddfca0ff5baa4 Author: Matt Carlson Date: Mon Nov 2 14:27:02 2009 +0000 tg3: 5785: Set port mode to MII when link down This patch sets the port mode to MII when the link is down for the 5785. Setting the port mode to MII instead of GMII saves power. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 0e5f784c77197edf29d2770b518dc78777d5a480 Author: Matt Carlson Date: Mon Nov 2 14:26:38 2009 +0000 tg3: Add AC131 power down support The AC131 does not respect the power down bit (bit 11) of the MII Control Register (reg 0x0). Instead, software is required to put the phy into standby power down mode through the shadow register set. This patch implements support for the AC131 standby power down mode. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 788a035e6061a66c6c77059c417fdc6234e140ff Author: Matt Carlson Date: Mon Nov 2 14:26:03 2009 +0000 tg3: Improve 5785 PCIe performance This patch improves 5785 performance by allowing the write DMA engine to request larger DMA burst sizes than it otherwise would. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit a21771dd189b340328c573da9e005068e8a74c53 Author: Matt Carlson Date: Mon Nov 2 14:25:31 2009 +0000 tg3: Add more PCI DMA map error checking This patch adds code to check the status of pci_map_single() before allowing rx buffers to be used. It also converts the pci_map_single() call in tg3_run_loopback() to use skb_dma_map() instead. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 52cdf8526fe24f11d300b75458ddee017f3f4c88 Author: Matt Carlson Date: Mon Nov 2 14:25:06 2009 +0000 tg3: Prevent a PCIe tx glitch This patch prevents a PCIe tx glitch by allowing the transmitter to go to a low power state. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 3f0e3ad72393db9c2932a2ca86cc1a49294bbc63 Author: Matt Carlson Date: Mon Nov 2 14:24:36 2009 +0000 tg3: Convert PHY_ADDR => TG3_PHY_MII_ADDR This patch renames the PHY_ADDR preprocessor definition. The following patch will identify a new member on the MDIO bus, so we want this preprocessor definition to be a little more descriptive. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f40386c8452f9eead9c5906bfffaaf59f3dc748f Author: Matt Carlson Date: Mon Nov 2 14:24:02 2009 +0000 tg3: Fix disappearing 57780 devices Under certain power saving conditions, 57780 asic rev devices might disappear from the system. The fix is to disallow the PCIe PLL from powering down. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 92c6b8d16a36df3f28b2537bed2a56491fb08f11 Author: Matt Carlson Date: Mon Nov 2 14:23:27 2009 +0000 tg3: Fix 5906 transmit hangs The 5906 has trouble with fragments that are less than 8 bytes in size. This patch works around the problem by pivoting the 5906's transmit routine to tg3_start_xmit_dma_bug() and introducing a new SHORT_DMA_BUG flag that enables code to detect and react to the problematic condition. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0e1406dd404ce55dbe8d68b4b5e2aed7e5c75fdb Author: Matt Carlson Date: Mon Nov 2 12:33:33 2009 +0000 tg3: Assign flags to fixes in start_xmit_dma_bug This patch adds a flag for each bug workaround in tg3_start_xmit_dma_bug(). This is prep work for the following patch. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f5ba35023697e54a24487bcd822194390a333893 Author: Dmitry Torokhov Date: Mon Nov 2 21:57:40 2009 -0800 Input: synaptic_i2c - make unnecessarily global functions static Signed-off-by: Dmitry Torokhov commit e74c2e81fc9e1e674f2747c85fe8cfeaaafa55f6 Author: Dmitry Torokhov Date: Mon Nov 2 21:57:39 2009 -0800 Input: mark custom_data in ff_periodic_effect as __user The custom_data pointer in ff_periodict_effect structure is a userspace pointer and should be marked as such. Signed-off-by: Dmitry Torokhov commit 462265bf494c4f2a2f6e06480590becadecbfea7 Author: Thomas Gleixner Date: Mon Nov 2 21:16:28 2009 -0800 watchdog: Remove BKL from rio watchdog driver cycle_kernel_lock() was added with the BKL pushdown. The rio driver indeed needs that because riowd_device is initialized after misc_register(). So an open(), write/ioctl() which happens to get between misc_register returning and riowd_device initialization would dereference a NULL pointer. Move riowd_device initialization before misc_register() and get rid of cycle_kernel_lock(). Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 49ab972aea7fca7b94f9df0f1f077fdab40a825d Author: Thomas Gleixner Date: Mon Nov 2 21:15:59 2009 -0800 sparc: Remove BKL from apc commit ab772027 (sparc: arch/sparc/kernel/apc.c to unlocked_ioctl) added lock/unlock_kernel() to the apc ioctl code. The code needs no serialization at all. Neither put/get_user nor the read/write access to the sbus devices require it. Remove BKL. cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it as well. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 31bde71c202722a76686c3cf69a254c8a912275a Author: Matt Domsch Date: Tue Nov 3 12:05:50 2009 +1100 tpm: autoload tpm_tis based on system PnP IDs The tpm_tis driver already has a list of supported pnp_device_ids. This patch simply exports that list as a MODULE_DEVICE_TABLE() so that the module autoloader will discover and load the module at boottime. Signed-off-by: Matt Domsch Acked-by: Rajiv Andrade Signed-off-by: Andrew Morton Signed-off-by: James Morris commit fa867e7355a1bdcd9bf7d55ebe9296f5b9c4028a Author: Juuso Oikarinen Date: Mon Nov 2 20:22:13 2009 +0200 wl1271: Generalize command response reading Responses to firmware commands are read in by the command transmission function, as part of command flow. Previously responses were read in multiple places. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ad150e966e987edcf737e1871d9e44a30d1aa58d Author: Juuso Oikarinen Date: Mon Nov 2 20:22:12 2009 +0200 wl1271: Correct endianness-handling of command status Correct the endianness-handling of the firmware command result status handling code. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 19ad0715d8d9acc259ef02f83df767df2cf1eafe Author: Juuso Oikarinen Date: Mon Nov 2 20:22:11 2009 +0200 wl1271: Add retry implementation for PSM entries PSM entries can fail (transmitting the corresponding null-func may not be heard by the AP.) Previously, this scenario was not detected, and out-of-sync between STA and AP could occur. Add retry implementation for the entries to recover from the situation. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3b775b4b27818130291e7716f3ce1e24664004c9 Author: Juuso Oikarinen Date: Mon Nov 2 20:22:10 2009 +0200 wl1271: Check result code of commands Check the result code of all commands, and return an error code if the firmware reports an error in execution. Previously this error would go ignored in most cases. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 605351e2220bd7960a55d6d7903f87f11f419f4e Author: Juuso Oikarinen Date: Mon Nov 2 20:22:09 2009 +0200 wl1271: Increase TX power value Currently, to avoid distortions, the TX power level has been hardcoded to a low value. The value is slightly too low for good functionality, so we increase it from 7dB to 12dB. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c6317a548d839e6f518649a4e7e9aa30b55d509a Author: Juuso Oikarinen Date: Mon Nov 2 20:22:08 2009 +0200 wl1271: Remove excess null-data template settings The null-data template (nullfunc) is dependent on the BSSID of the current AP only, so it needs to be updated only when the BSSID changes. Removed excess setting of the template. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 584991dccfd347cd2e1675ab262998f6c335d3c0 Author: Johannes Berg Date: Mon Nov 2 13:32:03 2009 +0100 cfg80211: validate scan channels Currently it is possible to request a scan on only disabled channels, which could be problematic for some drivers. Reject such scans, and also ignore disabled channels that are given. This resuls in the scan begin/end event only including channels that are actually used. This makes the mac80211 check for disabled channels superfluous. At the same time, remove the no-IBSS check from mac80211 -- nothing says that we should not find any networks on channels that cannot be used for an IBSS, even when operating in IBSS mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6c085227bd7168fd84976479218f81bf35b5acd7 Author: Jouni Malinen Date: Sun Nov 1 11:31:45 2009 +0200 mac80211_hwsim: Send ACK frames on the hwsim0 interface Report successful transmissions (receiver awake and on the same channel) by generating ACK frames on the hwsim0 interface. This makes it easier to figure out from packet capture logs whether frames were delivered or not. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 70541839dd2eacb521fa4f8515ab696599b36ea3 Author: Jouni Malinen Date: Sun Nov 1 11:30:48 2009 +0200 mac80211_hwsim: Check idle state on TX Track the idle state for hwsim radios and reject TX if mac80211 is trying to transmit something when the radio is supposed to be idle. In addition, do not deliver frames if the receiving radio is in the idle state. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c5f8289cd9b2e31fca506cb82f4aaa5ffc468602 Author: Jouni Malinen Date: Sun Nov 1 11:18:49 2009 +0200 cfg80211: Fix WEXT compat siwauth wpa and group cipher Neither of these commands should clear the current configuration value if they return error. Furthermore, cfg80211_set_cipher_group() should be able to handle IW_AUTH_CIPHER_NONE without reporting error. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 93a59d7527147e3656664aa3179f8d19de256081 Author: Christian Lamparter Date: Sat Oct 31 22:59:27 2009 +0100 p54: disable channels with incomplete calibration data sets James Grossmann [1] reported that p54 spews out confusing messages instead of preventing the mayhem from happening. the reason is that "p54: generate channel list dynamically" is not perfect. It didn't discard incomplete channel data sets and therefore p54 advertised to support them as well. [1]: http://marc.info/?l=linux-wireless&m=125699830215890 Cc: Larry Finger Reported-by: James Grossmann Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6d3560d4fc9c5b9fe1a07a63926ea70512c69c32 Author: Johannes Berg Date: Sat Oct 31 07:44:08 2009 +0100 mac80211: fix scan abort sanity checks Since sometimes mac80211 queues up a scan request to only act on it later, it must be allowed to (internally) cancel a not-yet-running scan, e.g. when the interface is taken down. This condition was missing since we always checked only the local->scanning variable which isn't yet set in that situation. Reported-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1933ac4d9377ed44caba45abe1531ec1bc14bb63 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:18 2009 -0700 iwlwifi: add wimax/wifi coexist support for 6x50 series For 6x50 series, it is wimax/wifi combo device, so driver need to enable the wimax/wifi co-exist function and send the coexist event priority table to uCode for operation. The priority table will be used by uCode to determine what is the proper action it should take when co-exist with WiMAX. For example, when WiFi runs a scan, it must own radio exclusively, therefore will disconnect WiMAX if WiMAX is connected. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3f3e0376bb14ac7bfd8ac3e9824b2ad04d945e18 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:17 2009 -0700 iwlwifi: add SM PS support for 6x50 series Spatial Multiplexing Power Save was disabled to achieve better throughput while in power save mode by activating all the rx chains all the time. By doing so, the device power consumption is high. Enable static/dynamic spatial multiplexing power save if device support it, which can lower the power consumption without impact throughput. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe1bcbfda77bf6fa3bbad8bf26b9e9ab23fbe345 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:16 2009 -0700 iwlwifi: coex API data structure Add data structure define for COEX_MEDIUM_NOTIFICATION and COEX_EVENT_CMD host commands. COEX_MEDIUM_NOTIFICATION is notification from uCode to host to indicate medium changes. COEX_EVENT_CMD is from host to uCode for coex event request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f2f21b4928489e1cf6c289d2f429e75c6dee61b5 Author: Reinette Chatre Date: Fri Oct 30 14:36:15 2009 -0700 iwlwifi: print warning when sending host command fails More information than the "-EIO" return code will be useful here. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ad13f8ce76814b37842c15301287efd607c6d26 Author: Reinette Chatre Date: Fri Oct 30 14:36:14 2009 -0700 iwlagn: move rate scale initialization to init function This fits better in how the callbacks operate (alloc does allocation and init does initialization). This also helps if we later want to do our own initialization without relying on the mac80211 allocation. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 62a94926183374d8414ab2ec633d9fe9530644ec Author: Reinette Chatre Date: Fri Oct 30 14:36:13 2009 -0700 iwl3945: store station rate scale information in mac80211 station structure Currently the rate scale information is pointed to from the mac80211 station structure but since that is the only member we might as well make it part of the structure. Also move the rate scaling initialization to the init function, no need to do it when we allocate the structure. This fits with how mac80211 deals with rate scaling information (it always calls init after allocation) and makes it easier for us to later call initialization directly. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9a9ca65fbfa1cd14a6c016b793d61492f9f613d0 Author: Reinette Chatre Date: Fri Oct 30 14:36:12 2009 -0700 iwlwifi: split adding broadcast station from others In preparation for some station management changes we split the addition of a broadcast station from the other stations. Later we will rely on mac80211 to direct all management (addition/removal) of all stations except the broadcast station. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 89f186a8b64a4c90a219cfd94c26de5cfea54b84 Author: Reinette Chatre Date: Fri Oct 30 14:36:11 2009 -0700 iwlwifi: move iwl_[un]init_drv to iwlagn Since iwlagn is the only user of these functions, move it to this module. This results in a bit more code moving than just these functions since the functions only used by them are also moved and we need to export the symbols previously available to them directly. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c33de6256a07869b48830e3a26fb6942ea8c4f79 Author: Reinette Chatre Date: Fri Oct 30 14:36:10 2009 -0700 iwlwifi: unmap memory before use Handling responses to driver originated commands include passing the original command buffer to the caller. At this time it is possible for a callback to be invoked that is passed this command buffer and thus likely to access it. We need to make sure that the memory associated with that buffer is not DMA mapped at the time. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2e61da29d92df864dc5eec81d774199b02d7023 Author: Ben Cahill Date: Fri Oct 30 14:36:09 2009 -0700 iwlagn: update write pointers for all tx queues after wakeup Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c72cd19fab7983e97a1a41b7158e0b9f87a7fe96 Author: Ben Cahill Date: Fri Oct 30 14:36:08 2009 -0700 iwlagn: Clarify FH_TX interrupt Add/clarify comments and debug messages for interrupt used only for uCode load Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a6c5c731c3f783f60ed79dcf41efa8b5b3af2f22 Author: Ben Cahill Date: Fri Oct 30 14:36:07 2009 -0700 iwlagn: invoke L0S workaround for 6000/1000 series Invoke workaround to avoid instability in L0->L0S->L1 transition on PCIe bus. Workaround disables L0S state so device moves directly from L0->L1. Workaround needed on all devices since and including 4965; add to 6000/1000. Describe bug and workaround better in comments. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 88521364cc04b67f36748983545b9fe1d4ba4a15 Author: Ben Cahill Date: Fri Oct 30 14:36:06 2009 -0700 iwlwifi: remove power-wasting calls to apm_ops.init() To save power, don't run apm_ops.init() until needed at "up" time. EEPROM (5000 and earlier devices) may be read without running apm_ops.init(), but OTP reads (6000 and newer devices) require a powered-up chip. Therefore, remove apm_ops.init() from the general path in XXXX_pci_probe(), and call it only if device uses OTP. Once done with OTP read, call apm_ops.stop() to reset chip and save power until "up" time comes around. NOTE: This patch depends on removal of priv->lock from iwl_apm_stop(); lock does not get initialized until later in flow. See patch "remove unneeded locks from apm_stop()". Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5220af0c3b44f5d6e32661e5bb49154c514dbf4f Author: Ben Cahill Date: Fri Oct 30 14:36:05 2009 -0700 iwlwifi: remove unneeded locks from apm_stop() and stop_master() Since priv->reg_lock was added to keep multi-access register manipulation atomic, priv->lock protection is no longer needed. Remove this from iwl_apm_stop_master() and iwl_apm_stop(). Add warning of timeout when polling for busmaster disablement confirmation, and some comments. NOTE: This is needed to enable use of apm_ops.stop() within iwl_eeprom_init(); priv->lock does not get initialized until after this flow. See patch "remove power-wasting calls to apm_ops.init()" Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ebeb5a676c864acf59caa166b3cc0a13b7cff93 Author: Reinette Chatre Date: Fri Oct 30 14:36:04 2009 -0700 iwlwifi: provide firmware version By setting the firmware version in wiphy it is possible to obtain this information via ethtool. Some examples, # ethtool -i wlan1 driver: iwlagn version: 2.6.32-rc5-wl-56840-g26d8540 firmware-version: 228.57.2.23 bus-info: 0000:03:00.0 # ethtool -i wlan0 driver: iwl3945 version: 2.6.32-rc5-wl-56840-g26d8540 firmware-version: 15.28.2.8 bus-info: 0000:02:00.0 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9aa4aee30f4d155fc91abbaecfef9b3bb759699e Author: Johannes Berg Date: Thu Oct 29 08:43:48 2009 +0100 mac80211: make CALL_TXH a statement The multi-line code in this macro wasn't wrapped in do {} while (0) so we cannot use it in an if() branch safely in the future -- fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf Author: Andrey Yurovsky Date: Tue Oct 27 16:51:40 2009 -0700 libertas: remove internal buffers from GSPI driver This patch removes the internal command and data buffers that the GSPI driver maintained and instead relies on the Libertas core to synchronize access to the command and data ports as with the other interface drivers. This cleanup reduces the GSPI driver's memory footprint and should improve performance by removing the need to copy to these internal buffers. This also simplifies the bottom half of the interrupt handler. This is an incremental cleanup: after removing the redundant buffers, we can further improve the driver to use a threaded IRQ handler instead of maintaining its own thread. However I would like a few folks to test the buffer removal first and make sure that I'm not introducing regressions. Tested on Blackfin BF527 with DMA disabled due to an issue with the SPI host controller driver in the current bleeding-edge Blackfin kernel. I would appreciate it if someone with working DMA could test this patch and provide feedback. Signed-off-by: Andrey Yurovsky Tested-by: George Shore Acked-by: Dan Williams Signed-off-by: John W. Linville commit 900b20d5900045fb9b48f2fb3d80cbdbae3f44c0 Author: Ingo Molnar Date: Mon Nov 2 19:25:25 2009 +0100 perf tools: Fix missing symtabs printouts Fix: util/map.c: In function ‘map__find_symbol’: util/map.c:97: error: field precision should have type ‘int’, but argument 3 has type ‘size_t’ Also clean up some line wrap damage - we dont line-wrap printk messages. Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b3f5a272a33ef06a37cd44703c46ec916b8a1c93 Author: Peter Ujfalusi Date: Mon Nov 2 14:34:54 2009 +0200 ASoC: TWL4030: Make sure, that the codec is powered on startup Set the codec->bias_level to SND_SOC_BIAS_OFF before changing the initial bias level to STANDBY. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e7d23dde9b7ebb575e2bcee2abefc9ec1e4adde9 Author: Suresh Siddha Date: Wed Oct 28 18:46:58 2009 -0800 x86_64, cpa: Use only text section in set_kernel_text_rw/ro set_kernel_text_rw()/set_kernel_text_ro() are marking pages starting from _text to __start_rodata as RW or RO. With CONFIG_DEBUG_RODATA, there might be free pages (associated with padding the sections to 2MB large page boundary) between text and rodata sections that are given back to page allocator. So we should use only use the start (__text) and end (__stop___ex_table) of the text section in set_kernel_text_rw()/set_kernel_text_ro(). Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024821.164525222@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 55ca3cc1746335bb6ef1d3894ddb6d0c729b3518 Author: Suresh Siddha Date: Wed Oct 28 18:46:57 2009 -0800 x86_64, ftrace: Make ftrace use kernel identity mapping to modify code On x86_64, kernel text mappings are mapped read-only with CONFIG_DEBUG_RODATA. So use the kernel identity mapping instead of the kernel text mapping to modify the kernel text. Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024821.080941108@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 502f660466ba7a66711ffdf414b1f7f1131dcbf7 Author: Suresh Siddha Date: Wed Oct 28 18:46:56 2009 -0800 x86, cpa: Fix kernel text RO checks in static_protection() Steven Rostedt reported that we are unconditionally making the kernel text mapping as read-only. i.e., if someone does cpa() to the kernel text area for setting/clearing any page table attribute, we unconditionally clear the read-write attribute for the kernel text mapping that is set at compile time. We should delay (to forbid the write attribute) and enforce only after the kernel has mapped the text as read-only. Reported-by: Steven Rostedt Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024820.996634347@sbs-t61.sc.intel.com> [ marked kernel_set_to_readonly as __read_mostly ] Signed-off-by: Ingo Molnar commit 4dae560f97fa438f373b53e14b30149c9e44a600 Author: Ananth N Mavinakayanahalli Date: Fri Oct 30 19:23:10 2009 +0530 kprobes: Sanitize struct kretprobe_instance allocations For as long as kretprobes have existed, we've allocated NR_CPUS instances of kretprobe_instance structures. With the default value of CONFIG_NR_CPUS increasing on certain architectures, we are potentially wasting kernel memory. See http://sourceware.org/bugzilla/show_bug.cgi?id=10839#c3 for more details. Use a saner num_possible_cpus() instead of NR_CPUS for allocation. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Cc: Jim Keniston Cc: fweisbec@gmail.com LKML-Reference: <20091030135310.GA22230@in.ibm.com> Signed-off-by: Ingo Molnar commit d70a5402f9c2e2671b809363616b3508b4c5a565 Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:25 2009 -0200 perf tools: Improve message about missing symtabs for deleted DSOs Instead of: no symbols found in /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so (deleted), maybe install a debug package? no symbols found in /usr/lib/gstreamer-0.10/libgstaudioconvert.so (deleted), maybe install a debug package? We now emit: /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so was updated, restart the long running apps that use it! /usr/lib/gstreamer-0.10/libgstaudioconvert.so was updated, restart the long running apps that use it! Which is far less misleading about what the cause of the symbol mismatch is. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 00a192b395b0606ad0265243844b3cd68e73420a Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:24 2009 -0200 perf tools: Simplify the symbol priv area mechanism Before we were storing this in the DSO, but in fact this is a property of the 'symbol' class, not something that will vary among DSOs, so move it to a global variable and initialize it using the existing symbol__init routine. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit afb7b4f08e274cecd8337f9444affa288a9cd4c1 Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:23 2009 -0200 perf tools: Factor out the map initialization Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 89933dee5b17c09f2673c2bfd853625a848f91f5 Author: Neil Jones Date: Mon Nov 2 15:14:17 2009 +0000 ASoC: Add support for the WM8727 DAC. Add support for the Wolfson Microelectronics WM8727 DAC, this is a simple non-configurable DAC. Signed-off-by: Neil Jones Signed-off-by: Mark Brown commit c5e0cb3ddc5f14cedcfc50c0fb3b5fc6b56576da Author: Lai Jiangshan Date: Wed Oct 28 08:14:48 2009 -0700 rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls Currently, rcu_irq_exit() is invoked only for CONFIG_NO_HZ, while rcu_irq_enter() is invoked unconditionally. This patch moves rcu_irq_exit() out from under CONFIG_NO_HZ so that the calls are balanced. This patch has no effect on the behavior of the kernel because both rcu_irq_enter() and rcu_irq_exit() are empty for !CONFIG_NO_HZ, but the code is easier to understand if the calls are obviously balanced in all cases. Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney 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: <12567428891605-git-send-email-> Signed-off-by: Ingo Molnar commit 5231a68614b94f60e8f6c56bc6e3d75955b9e75e Author: Suresh Siddha Date: Mon Oct 26 14:24:36 2009 -0800 x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs() To ensure that we handle all the pending interrupts (destined for this cpu that is going down) in the interrupt subsystem before the cpu goes offline, fixup_irqs() does: local_irq_enable(); mdelay(1); local_irq_disable(); Enabling interrupts is not a good thing as this cpu is already offline. So this patch replaces that logic with, mdelay(1); check APIC_IRR bits Retrigger the irq at the new destination if any interrupt has arrived via IPI. For IO-APIC level triggered interrupts, this retrigger IPI will appear as an edge interrupt. ack_apic_level() will detect this condition and IO-APIC RTE's remoteIRR is cleared using directed EOI(using IO-APIC EOI register) on Intel platforms and for others it uses the existing mask+edge logic followed by unmask+level. We can also remove mdelay() and then send spuriuous interrupts to new cpu targets for all the irqs that were handled previously by this cpu that is going offline. While it works, I have seen spurious interrupt messages (nothing wrong but still annoying messages during cpu offline, which can be seen during suspend/resume etc) Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230002.043281924@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit b3ec0a37a7907813bb4fb85a2d94102c152470b7 Author: Suresh Siddha Date: Mon Oct 26 14:24:35 2009 -0800 x86: Use EOI register in io-apic on intel platforms IO-APIC's in intel chipsets support EOI register starting from IO-APIC version 2. Use that when ever we need to clear the IO-APIC RTE's RemoteIRR bit explicitly. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.947855317@sbs-t61.sc.intel.com> [ Marked use_eio_reg as __read_mostly, fixed small details ] Signed-off-by: Ingo Molnar commit a5e74b841930bec78a4684ab9f208b2ddfe7c736 Author: Suresh Siddha Date: Mon Oct 26 14:24:34 2009 -0800 x86: Force irq complete move during cpu offline When a cpu goes offline, fixup_irqs() try to move irq's currently destined to the offline cpu to a new cpu. But this attempt will fail if the irq is recently moved to this cpu and the irq still hasn't arrived at this cpu (for non intr-remapping platforms this is when we free the vector allocation at the previous destination) that is about to go offline. This will endup with the interrupt subsystem still pointing the irq to the offline cpu, causing that irq to not work any more. Fix this by forcing the irq to complete its move (its been a long time we moved the irq to this cpu which we are offlining now) and then move this irq to a new cpu before this cpu goes offline. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.848830905@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 23359a88e7eca3c4f402562b102f23014db3c2aa Author: Suresh Siddha Date: Mon Oct 26 14:24:33 2009 -0800 x86: Remove move_cleanup_count from irq_cfg move_cleanup_count for each irq in irq_cfg is keeping track of the total number of cpus that need to free the corresponding vectors associated with the irq which has now been migrated to new destination. As long as this move_cleanup_count is non-zero (i.e., as long as we have n't freed the vector allocations on the old destinations) we were preventing the irq's further migration. This cleanup count is unnecessary and it is enough to not allow the irq migration till we send the cleanup vector to the previous irq destination, for which we already have irq_cfg's move_in_progress. All we need to make sure is that we free the vector at the old desintation but we don't need to wait till that gets freed. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.752968906@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 84e21493a3b28c9fefe99fe827fc0c0c101a813d Author: Suresh Siddha Date: Mon Oct 26 14:24:32 2009 -0800 x86, intr-remap: Avoid irq_chip mask/unmask in fixup_irqs() for intr-remapping In the presence of interrupt-remapping, irqs will be migrated in the process context and we don't do (and there is no need to) irq_chip mask/unmask while migrating the interrupt. Similarly fix the fixup_irqs() that get called during cpu offline and avoid calling irq_chip mask/unmask for irqs that are ok to be migrated in the process context. While we didn't observe any race condition with the existing code, this change takes complete advantage of interrupt-remapping in the newer generation platforms and avoids any potential HW lockup's (that often worry Eric :) Signed-off-by: Suresh Siddha Acked-by: Eric W. Biederman Cc: garyhade@us.ibm.com LKML-Reference: <20091026230001.661423939@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 7a7732bc0f7c46f217dbec723f25366b6285cc42 Author: Suresh Siddha Date: Mon Oct 26 14:24:31 2009 -0800 x86: Unify fixup_irqs() for 32-bit and 64-bit kernels There is no reason to have different fixup_irqs() for 32-bit and 64-bit kernels. Unify by using the superior 64-bit version for both the kernels. Signed-off-by: Suresh Siddha Signed-off-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.562512739@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 5e9b397292ca0b9409dced33e3a22ec993377064 Author: Li Zefan Date: Mon Nov 2 08:51:13 2009 +0800 tracing: Fix to use __always_unused attribute ____ftrace_check_##name() is used for compile-time check on F_printk() only, so it should be marked as __unused instead of __used. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Linus Torvalds LKML-Reference: <4AEE2D01.4010305@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7b2a35132ad0a70902dcd2844c27ed64cda0ce9b Author: Li Zefan Date: Mon Nov 2 08:50:52 2009 +0800 compiler: Introduce __always_unused I wrote some code which is used as compile-time checker, and the code should be elided after compile. So I need to annotate the code as "always unused", compared to "maybe unused". Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Linus Torvalds LKML-Reference: <4AEE2CEC.8040206@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 01e6b953ada927093c4d162f634200a20323c537 Author: Ron Mercer Date: Fri Oct 30 12:13:34 2009 +0000 qlge: Change naming on vlan API. Change name on vlan_rx_add, kill, register to match other driver API. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 9dfbbaa6b0b9f7c4d6c9dc3a59006f44e6521138 Author: Ron Mercer Date: Fri Oct 30 12:13:33 2009 +0000 qlge: Add ethtool self-test. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 8401707ff645521e9f21cbb8fe3b138f60e85680 Author: Konrad Eisele Date: Mon Aug 31 22:08:13 2009 +0000 sparc,leon: Sparc-Leon SMP support Support SMP for a Sparc-Leon multiprocessor system. Add Leon specific SMP code to arch/sparc/kernel/leon_smp.c. Signed-off-by: Konrad Eisele Signed-off-by: David S. Miller commit 536b2e92f1b7a86e177aeced097e4c051eeebe7d Author: Eric Dumazet Date: Mon Nov 2 12:21:06 2009 +0100 ipv6: no more dev_put() in datagram_send_ctl() Avoids touching device refcount in datagram_send_ctl(), thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 16ba5e8e7c01d2da87ff1d17e83545f164665b5c Author: Eric Dumazet Date: Mon Nov 2 12:10:39 2009 +0100 ipv6: no more dev_put() in inet6_bind() Avoids touching device refcount in inet6_bind(), thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f1a28eab20076542322fcab3efa016834bd732f2 Author: Eric Dumazet Date: Mon Nov 2 11:21:37 2009 +0100 ip6tnl: less dev_put() calls Using dev_get_by_index_rcu() in ip6_tnl_rcv_ctl() & ip6_tnl_xmit_ctl() avoids touching device refcount. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 654d1f8a019dfa06df8355248e1ce222f303b88d Author: Eric Dumazet Date: Mon Nov 2 10:43:32 2009 +0100 packet: less dev_put() calls - packet_sendmsg_spkt() can use dev_get_by_name_rcu() to avoid touching device refcount. - packet_getname_spkt() & packet_getname() can use dev_get_by_index_rcu() to avoid touching device refcount too. tpacket_snd() & packet_snd() can not use RCU yet because they can sleep when allocating skb. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0f83d639d84c99a775c60696dbde77372c2cf4ac Author: Manuel Lauss Date: Sat Oct 31 20:15:08 2009 +0100 ASoC: au1x: convert to platform drivers. Convert psc-ac97,i2s to platform drivers similar to the davinci ones. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit 4f570f995f68ef77aae7e5a441222f59232f2d0e Author: Alberto Bertogli Date: Mon Nov 2 11:40:16 2009 +0100 Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq() So remove both the comment and the inline requirement, going back to the inline hint. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit dddb74519aec2081204d203a97578c9fc4e9fb64 Author: Corrado Zoccolo Date: Mon Nov 2 10:40:37 2009 +0100 cfq-iosched: simplify prio-unboost code Eliminate redundant checks. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 1178f66eaea968d093cafd37c226ebeaa70d56cf Author: Eric Dumazet Date: Sun Nov 1 19:51:22 2009 +0000 pppoe: RCU locking in get_item_by_addr() Use dev_get_by_name_rcu() instead of dev_get_by_name(), to avoid touching device refcount in hotpath. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 05e8689c9a3a208bf75b60662778d81e23eac460 Author: Eric Dumazet Date: Sun Nov 1 19:45:16 2009 +0000 ifb: RCU locking avoids touching dev refcount Avoids touching dev refcount in hotpath Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3710becf8a58a5c6c4e797e3a3c968c161abdb41 Author: Eric Dumazet Date: Sun Nov 1 19:42:09 2009 +0000 net: RCU locking for simple ioctl() All ioctls() implemented by dev_ifsioc_locked() : SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFHWADDR, SIOCGIFSLAVE, SIOCGIFMAP, SIOCGIFINDEX & SIOCGIFTXQLEN can use RCU lock instead of dev_base_lock rwlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 685c7944055b9de51ff509719070afae92b3dbe1 Author: Eric Dumazet Date: Sun Nov 1 19:31:03 2009 +0000 icmp: icmp_send() can avoid a dev_put() We can avoid touching device refcount in icmp_send(), using dev_get_by_index_rcu() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c148fc2e30c988f7e3ac91738b2c03f1cef44849 Author: Eric Dumazet Date: Sun Nov 1 19:23:04 2009 +0000 ipv4: inetdev_by_index() switch to RCU Use dev_get_by_index_rcu() instead of __dev_get_by_index() and dev_base_lock rwlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9fdce099bb72df534daa6193318feaec177998fc Author: Eric W. Biederman Date: Fri Oct 30 14:51:13 2009 +0000 veth: Fix unregister_netdevice_queue for veth I tested the recent unregister many changes and got a weird, nasty and seemingly unrelasted kernel oops. Changing unregister_netdevice_queue to use list_move_tail fixes the problem for me. ip link add type veth rmmod veth ls /sys/class/net/ showed one of the veth devices still present. A subsequent ip link oopsed the box. Signed-off-by: "Eric W. Biederman" Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 72c9528bab94cc052d00ce241b8e85f5d71e45f0 Author: Eric Dumazet Date: Fri Oct 30 07:11:27 2009 +0000 net: Introduce dev_get_by_name_rcu() Some workloads hit dev_base_lock rwlock pretty hard. We can use RCU lookups to avoid touching this rwlock (and avoid touching netdevice refcount) netdevices are already freed after a RCU grace period, so this patch adds no penalty at device dismantle time. However, it adds a synchronize_rcu() call in dev_change_name() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68d8287ce1e1da3c99881385a93e74f68c454fc2 Author: Figo.zhang Date: Fri Oct 30 03:05:11 2009 +0000 NET:KS8695: add API for get rx interrupt bit 1. Add API Add k8695_get_rx_enable_bit() for get Rx interrupt enable/status bit. 2. add some comment or document about some functions and variables. 3. update driver version to "1.02" 4. add napi_enable() and napi_disable() in open/close file method. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 3c912b6edaac56cb451e7571c95c15cbb6bd0c81 Author: Stephen Rothwell Date: Mon Nov 2 16:17:22 2009 +1100 x86: Fix user return notifier put_cpu_var() invocation Today's linux-next build (x86_64 allmodconfig) failed like this: kernel/user-return-notifier.c: In function 'fire_user_return_notifiers': kernel/user-return-notifier.c:45: error: expected expression before ')' token Introduced by commit 7c68af6e32c73992bad24107311f3433c89016e2 ("core, x86: Add user return notifiers") from the tip and kvm trees but revealed by commit e0fdb0e050eae331046385643618f12452aa7e73 ("percpu: add __percpu for sparse") from the percpu tree. Before that percpu tree commit, "put_cpu_var()" would compile without error (even though it really needs a parameter). Signed-off-by: Stephen Rothwell Cc: Avi Kivity Cc: Peter Zijlstra Cc: Tejun Heo Cc: Rusty Russell Cc: Christoph Lameter LKML-Reference: <20091102161722.eea4358d.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit 45b9deaf14e74543371aa8faea69c14e27b038c6 Author: Paul Mundt Date: Mon Nov 2 15:43:20 2009 +0900 sh: intc: Handle legacy IRQ reservation in vector map. Different CPUs will have different starting vectors, with varying amounts of reserved or unusable vector space prior to the first slot. This introduces a legacy vector reservation system that inserts itself in between the CPU vector map registration and the platform specific IRQ setup. This works fine in practice as the only new vectors that boards need to establish on their own should be dynamically allocated rather than arbitrarily assigned. As a plus, this also makes all of the converted platforms sparseirq ready. Signed-off-by: Paul Mundt commit 3d0de414423a20af741b692243317f423827489b Author: Magnus Damm Date: Fri Oct 30 06:26:04 2009 +0000 sh: Remove unused WP signal for SDHI0 and KFR2R09 Get rid of the unused WP signal for SDHI0 on KFR2R09. This because yc304 on KFR2R09 is a Micro SD slot which does not implement the WP signal. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8b431a7e662396c4f873d01a2be73500259e100b Author: Magnus Damm Date: Fri Oct 30 06:22:03 2009 +0000 sh: Add SDHI1 support to the AP325RXA board Update the SDHI platform data for the AP325RXA board to include support for the CN7 Micro SD Card slot. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1ce7b039b5029ab698f9d64c0ad603794bc31ae7 Author: Paul Mundt Date: Mon Nov 2 10:30:26 2009 +0900 sh: intc: dynamic IRQ support. This adds support for dynamic IRQ allocation/deallocation for all parts using the SH-style vectored IRQs. While this is not inherently INTC-specific, the INTC code is the main tie-in for vectored IRQ registration, and is the only place that a full view of the utilized vector map is possible. The implementation is fairly straightforward, implementing a flat IRQ map where each registered vector is reserved, allowing us to scan for holes and dynamically wire up IRQs lazily later on in the boot stage. This piggybacks on top of sparseirq in order to make the best use of the available vector space. Dynamic IRQs can be used for any number of things, ranging from MSI in the SH-X3 PCIe case down to demux vectors for board FPGAs and system controllers that presently allocate an arbitrary range. In the latter case, this also allows those platforms to use sparseirq without blowing up, which brings us one step closer to enabling sparseirq as the default for all platform and CPU combinations. Signed-off-by: Paul Mundt commit 3507d612366a4e81226295f646410130a1f62a5c Author: Rajiv Andrade Date: Thu Sep 10 17:09:35 2009 -0300 tpm_tis: TPM_STS_DATA_EXPECT workaround Some newer Lenovo models are shipped with a TPM that doesn't seem to set the TPM_STS_DATA_EXPECT status bit when sending it a burst of data, so the code understands it as a failure and doesn't proceed sending the chip the intended data. In this patch we bypass this bit check in case the itpm module parameter was set. This patch is based on Andy Isaacson's one: http://marc.info/?l=linux-kernel&m=124650185023495&w=2 It was heavily discussed how should we deal with identifying the chip in kernel space, but the required patch to do so was NACK'd: http://marc.info/?l=linux-kernel&m=124650186423711&w=2 This way we let the user choose using this workaround or not based on his observations on this code behavior when trying to use the TPM. Fixed a checkpatch issue present on the previous patch, thanks to Daniel Walker. Signed-off-by: Rajiv Andrade Acked-by: Eric Paris Tested-by: Seiji Munetoh Signed-off-by: James Morris commit 2d06ef7f42ed8c9969c9aa84e95df5d5c6378327 Author: Herbert Xu Date: Sun Nov 1 12:49:44 2009 -0500 crypto: ghash-intel - Hard-code pshufb Old gases don't have a clue what pshufb stands for so we have to hard-code it for now. Reported-by: Andrew Morton Signed-off-by: Herbert Xu commit bcc2c6b7cb320d10c7fcccd87dce87f4384b4332 Author: Stas Sergeev Date: Sun Nov 1 11:13:19 2009 +0100 ALSA: snd-pcsp: add nopcm mode Currently, if the high-res timers are unavailable, snd-pcsp does not initialize. People who choose it over pcspkr, loose their console beeps in that case and get annoyed. With this patch, the console beeps remain regardless of the high-res timers. Additionally, the "nopcm" modparam is added to forcibly disable the PCM capabilities of the driver. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit e87a3dd33eab30b4db539500064a9584867e4f2c Merge: b14f5de 3d00941 Author: Takashi Iwai Date: Sun Nov 1 11:11:07 2009 +0100 Merge branch 'fix/misc' into topic/misc commit b2c0a2ac3e59f4764c59c23bd90b571e44256030 Author: Stefan Richter Date: Thu Oct 15 21:16:53 2009 +0200 firewire: cdev: reduce stack usage by ioctl_dispatch Replace a hardcoded buffer size by a sizeof union {}. This shrinks the stack-allocated ioctl argument buffer from 256 to 40 bytes. (This is not much, but subsequent stack usage particularly by the queue_iso ioctl handler adds up.) The new form is also easier to keep up to date than a hardcoded size if more ioctls are added. Signed-off-by: Stefan Richter commit 19593ffdb6daa6ba691d247a2400cece12687c52 Author: Stefan Richter Date: Wed Oct 14 20:40:10 2009 +0200 firewire: ohci: 0 may be a valid DMA address I was told that there are obscure architectures with non-coherent DMA which may DMA-map to bus address 0. We shall not use 0 as a magic number of uninitialized bus address variables. The packet->payload_length > 0 test cannot be used either (except in at_context_queue_packet) because local requests are not DMA-mapped regardless of payload_length. Hence add a state flag to struct fw_packet. Signed-off-by: Stefan Richter commit 5b189bf3633c3b73d4f08124a86f3e019953d412 Author: Stefan Richter Date: Wed Oct 14 20:37:36 2009 +0200 firewire: core: WARN on wrong usage of core transaction functions In the code path which creates request packets, clearly mark a switch branch which must never be reached with a WARN. In the code path which creates response packets, replace a BUG by a friendlier to debug WARN. Signed-off-by: Stefan Richter commit d521b63b27e3a397e0ef7ca86b6e813861083c83 Author: Andy Grover Date: Fri Oct 30 08:51:57 2009 +0000 RDS/IB+IW: Move recv processing to a tasklet Move receive processing from event handler to a tasklet. This should help prevent hangcheck timer from going off when RDS is under heavy load. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf Author: Andy Grover Date: Fri Oct 30 08:51:56 2009 +0000 RDS: Do not send congestion updates to loopback connections This issue was discovered by HP's Pradeep and fixed in OFED 1.3, but not fixed in later versions, since the fix's implementation was not immediately applyable to the later code. This patch should do the trick for 1.4+ codebases. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 433d308dd85e506bb6529177cc0f997627d87ed6 Author: Andy Grover Date: Fri Oct 30 08:51:55 2009 +0000 RDS: Fix panic on unload Remove explicit destruction of passive connection when destroying active end of the connection. The passive end is also on the device's connection list, and will thus be cleaned up properly. Panic was caused by trying to clean it up twice. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 86357b19bcabd9355937f3fb84f90ba9fe76a5d3 Author: Andy Grover Date: Fri Oct 30 08:51:54 2009 +0000 RDS: Fix potential race around rds_i[bw]_allocation "At rds_ib_recv_refill_one(), it first executes atomic_read(&rds_ib_allocation) for if-condition checking, and then executes atomic_inc(&rds_ib_allocation) if the condition was not satisfied. However, if any other code which updates rds_ib_allocation executes between these two atomic operation executions, it seems that it may result race condition. (especially when rds_ib_allocation + 1 == rds_ib_sysctl_max_recv_allocation)" This patch fixes this by using atomic_inc_unless to eliminate the possibility of allocating more than rds_ib_sysctl_max_recv_allocation and then decrementing the count if the allocation fails. It also makes an identical change to the iwarp transport. Reported-by: Shin Hong Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 244546f0d3101c5441f5b14cfe8a79d62679eaea Author: Andy Grover Date: Fri Oct 30 08:54:53 2009 +0000 RDS: Add GET_MR_FOR_DEST sockopt RDS currently supports a GET_MR sockopt to establish a memory region (MR) for a chunk of memory. However, the fastreg method ties a MR to a particular destination. The GET_MR_FOR_DEST sockopt allows the remote machine to be specified, and thus support for fastreg (aka FRWRs). Note that this patch does *not* do all of this - it simply implements the new sockopt in terms of the old one, so applications can begin to use the new sockopt in preparation for cutover to FRWRs. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit d2d8cda7fc0b7a133492e70332217a7f20757615 Author: Larry Finger Date: Fri Oct 30 11:58:21 2009 -0500 b43legacy: Fix DMA TX bounce buffer copying This patch is adapted from the submission by Michael Buesch for a bounce-buffer copying problem with b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e6e898cfea5f35d64f850277e7fa295c386cf953 Author: Johannes Berg Date: Fri Oct 30 15:48:43 2009 +0100 mac80211: remove bogus code It's not right to do something here when returning an error, and hostapd should never have relied on it as it only fixes up a small part of the problem anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff9458d3ec179831ebe6966a8aa014ccb3907dc6 Author: Johannes Berg Date: Fri Oct 30 12:56:02 2009 +0100 mac80211: remove sent_ps_buffered This variable is set once, and tested once. However, the code path that can set it is mutually exclusive with the code path that tests it, so the test is always true. Thus we also don't need to set it either and can just remove the variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 22403def134e2c1017cb04ae9129a38e841b2d8c Author: Johannes Berg Date: Fri Oct 30 12:55:03 2009 +0100 mac80211: also drop qos-nullfunc frames silently We drop nullfunc frames, but not qos-nullfunc frames, even though those could be used for PS state control as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e7d17cf4f7e1b8d06575b6db2397c99c151674b8 Author: Luciano Coelho Date: Thu Oct 29 13:20:04 2009 +0200 wl1271: fix init loop timeout The check after the loop which checks whether the initialization timed-out was wrong. If the initialization would succeed exactly in the 20000th time (the value set for INIT_LOOP), the driver would bail out and claim that initialization failed. Reported-by: Juha Leppanen Signed-off-by: Luciano Coelho Reviewed-by: Janne Ylalehto Signed-off-by: John W. Linville commit 62b517cb3e974624a2958ad0b603ebb59cd96e16 Author: Johannes Berg Date: Thu Oct 29 12:19:21 2009 +0100 mac80211: unconditionally set IEEE80211_TX_CTL_SEND_AFTER_DTIM When mac80211 is asked to buffer multicast frames in AP mode, it will not set the flag indicating that the frames should be sent after the DTIM beacon for those frames buffered in software. Fix this little inconsistency by always setting that flag in the buffering code path. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c27f2fded51948edf40007f4f31350e9e0c6ba23 Author: Johannes Berg Date: Thu Oct 29 08:41:25 2009 +0100 mac80211: deprecate qual value This value is unused by mac80211, because it was only be used by wireless extensions, and turned out to not be useful there because the quality value needs to be comparable between scan results and the current value which is impossible when the qual value is calculated taking into account noise, for example. Since it is unused anyway, this patch deprecates it in the hope that drivers will remove their sometimes quite expensive calculations of the value. I'm open to actual uses of the value, but the best way of using it seems to be what the Intel drivers do which should probably be generalised if we have noise values from the hardware. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eddcbb94f75c3e8944503e9f13c1d29acd0d7052 Author: Johannes Berg Date: Thu Oct 29 08:30:35 2009 +0100 mac80211: introduce ieee80211_beacon_get_tim() Compared to ieee80211_beacon_get(), the new function ieee80211_beacon_get_tim() returns information on the location and length of the TIM IE, which some drivers need in order to generate the TIM on the device. The old function, ieee80211_beacon_get(), becomes a small static inline wrapper around the new one to not break all drivers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 750266646befe42ee8a3a9f9b6f692174635c5b8 Author: Randy Dunlap Date: Wed Oct 28 16:08:32 2009 -0700 wireless: airo_cs needs WEXT_SPY airo_cs uses spy interfaces so it needs to select WEXT_SPY. ERROR: "iw_handler_set_thrspy" [drivers/net/wireless/airo.ko] undefined! ERROR: "wireless_spy_update" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_get_spy" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_get_thrspy" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_set_spy" [drivers/net/wireless/airo.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 8ce0b5892460c670b71b7a0bf96549f5e7a63d6c Author: Zhu Yi Date: Wed Oct 28 13:13:52 2009 -0700 mac80211: make align adjustment code support paged SKB This fixed a BUG_ON in __skb_trim() when paged rx is used in iwlwifi driver. Yes, the whole mac80211 stack doesn't support paged SKB yet. But let's start the work slowly from small code snippets. Reported-and-tested-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ddcd4c08188dc512ceb08bcc3f4f830c2dbfb5ce Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:46 2009 -0400 ath9k_hw: make ath9k_phy_modify_rx_buffer() static To do this we reorder callers in order in which they are called. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a77658286105c8be3741305c5dcf4c319746817f Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:45 2009 -0400 ath9k_hw: Fix and complete force bias for AR5416 Force bias is a fix for usage of AR5416 radios on the 2.4 GHz band for orientation sensitivity. This was only partially implemented with the ath9k_hw_decrease_chain_power() but first -- this was being called for all chipsets which is not correct and second -- it was missing the actual orientation code. We now ensure to only enable force bias only for AR5416 and BUG_ON() on other chipsets. Although ath9k_hw_decrease_chain_power() was enabled for newer chipsets I suspect that it never ran unless the EEPROM had ATH9K_ANT_FIXED_A or ATH9K_ANT_FIXED_B for antenna diversity. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 896ff260351f736f0d9d32f4fd36257f3e75bd97 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:44 2009 -0400 ath9k_hw: remove unused modesIndex param from ath9k_hw_write_regs() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ae478cf69e9e49a88e0fe8beaffbcba2f97b5209 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:43 2009 -0400 ath9k_hw: make spur mitigation a callback This only differs between single-chip solutions and non single-chip solutions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e16393bbb17e828aa433be9909462f9a61e4cbdb Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:42 2009 -0400 ath9k_hw: order phy.c code and integrate spur mitigation This reorders phy.c routines in the order in the order in which they are used and also moves the spur mitigation helpers for each type of chip into phy.c as they are RF related. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e68a060b5d88a72c06ec87864d20bea3f2a40629 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:41 2009 -0400 ath9k_hw: use a callback for frequency change This avoids a branch on every channel change. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0a3b7bac673ee9462f5defe808609746d27af50d Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:40 2009 -0400 ath9k_hw: make both analog channel change routines return int This allows us to later define a callback for both. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dc51dd503953a8bed545d10eb89fb3340a98879b Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:39 2009 -0400 ath9k_hw: rename ath9k_hw_rf_free() to ath9k_hw_rf_free_ext_banks() This clarifies this is only required for external radios. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 431ba3c6dce0256eafde43af221504f99a2fcc0a Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:38 2009 -0400 ath9k_hw: simplify ath9k_hw_rf_alloc_ext_banks() This is calling an allocation and checking for it, simplify this process in a macro. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 574d6b122d37549bc2817a4939d238f3d8b41da4 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:37 2009 -0400 ath9k_hw: simplify rf attach and rename to ath9k_hw_rf_alloc_ext_banks() ath9k_hw_rfattach() was just calling a helper and this helper was doing nothing for single-chip devices, and for non single-chip devices it is just allocating memory for banks to program the RF registers at a later time. Simplify this by having the hw initialization call the rf bank allocation directly for external radios. Also, propagate an -ENOMEM properly now upon failure. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b67b4397cfbfca8f5c4fff2a36e00d81ef6a28c2 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:36 2009 -0400 ath9k_hw: bail out early on ath9k_hw_init_rf() We a huge branch for old hardware and nothing for newer hardware. Instead of doing this just bail out early for newer hardware. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 131d1d036ac7e7c8ad063581b57ba3bb5f7c881d Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:35 2009 -0400 ath9k_hw: start documenting 802.11n RF anlong front ends Document what we can about the RF analog front ends (radios) of Atheros 802.11n devices. What should be clearer now is the what we do for old pre AR5416 and AR5418 MAC based devices in comparison to the modern sigle-chip 802.11n solutions. All devices after AR9280 are single chip and require less programming -- the RF registers no longer need to be initialized as they all have the RF analog front end embedded together with the MAC/BB; this includes the AR9271. Older devices such as the ones with the AR5416 MACs (PCI) or AR5418 MACs (PCI-E) have an external 2.4 GHz AR2133 radio or a dual band 2.4 GHz / 5 GHz AR5133 radio. These external radios require additional programming of the RF registers. Clarify which parts are for what devices and which code is shared. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c75724d1747230abdd37d0594ac5277b867befd4 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:34 2009 -0400 ath9k_hw: change the way we initialize the pll for ar9271 We adjust the core clock for ar9271 to 117 MHz; this also requires us to adjust the baud divider based on the targetted baud rate. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8564328d85f69121744d8337124857a2e726239b Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:33 2009 -0400 ath9k_hw: update register initialization/reset values for ar9271 This update the register initialization/reset values (aka initvals) for ar9271 based on the last recommended values on 2009-06-04 by our systems engineering team. The changes account for: * Supporting ar9271 1.0 and ar9271 1.1 together, the difference is bb_spectral_scan_ena, for 1.0 we'll set this to 0x1. * Ensuring we get the correct noise floor values -115 ~ -118 when we enable bb_enable_ant_div_lnadiv=0 and mc_tx_def_ant_sel=1. Previous to this we would get noise floor values in the range -50 ~ -80. To fix settings for the registers: - bb_ch1_xatten1_db - bb_ch1_xatten2_db - bb_ch1_xatten1_margin - bb_ch1_xatten2_margin - bb_ch1_gain_force - bb_ch1_xatten2_hyst_margin - bb_ch1_xatten1_hyst_margin - bb_ch1_max_oc_gain * 0x8120[2] mc_mic_new_location_enable is changed to 0x1. The MAC team suggest to set this value. * 0x9910[0] bb_spectral_scan_ena is changed to 0x0. For ar9271 1.1 we don't need to enable this bit. Cc: Stephen Chen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0cab6559f878f328906949c5c20cbbc411cddeb7 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:32 2009 -0400 ath9k_hw: modify the rf control register for ar9271 revision 1.0 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f1f93cddfe713d20e9004c29a02e9c183e460a53 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:26 2009 -0700 Staging: netwave: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 5cc49ab71a879f71f45b8c1bb6b1f883674a0dff Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:25 2009 -0700 Staging: wavelan: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit bcecf0ff98b4b55d65c8b0442803bd6b66f3d796 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:24 2009 -0700 Staging: arlan: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit bc7601c38b5051fcc3c88f68437b2daace4aff53 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:23 2009 -0700 Staging: strip: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 133d7c6a504c672011ebc24b26e05b15f7410c07 Author: John W. Linville Date: Wed Oct 28 16:29:30 2009 -0400 wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig With the WLAN_PRE80211 drivers moved to drivers/staging, this distinction becomes unnecessary. Signed-off-by: John W. Linville commit 4b5783549730da21d88b41dce9a2b738afa44abc Author: John W. Linville Date: Wed Oct 28 16:16:38 2009 -0400 netwave: move driver to staging Move the netwave driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 0234f84ebb00d36c48062befa5436eef36b71ccd Author: John W. Linville Date: Wed Oct 28 16:06:56 2009 -0400 wavelan: move driver to staging Move the wavelan driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit e38879efd336fb78b288dcebdc9ca030fd24f449 Author: John W. Linville Date: Tue Oct 20 13:53:08 2009 +0900 arlan: move driver to staging Move the arlan driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 955015bb0b42167d14f776ff5947ae2463a974dc Author: John W. Linville Date: Tue Oct 20 13:38:11 2009 +0900 strip: move driver to staging Move the strip ("Starmode Radio IP") driver to drivers/staging. For several years this driver has only seen API "bombing-run" changes, and few people ever had the hardware. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 0869aea0eb711982cd2b8bebf41b3c0191c89cde Author: Johannes Berg Date: Wed Oct 28 10:03:35 2009 +0100 mac80211: remove RX_FLAG_RADIOTAP While there may be a case for a driver adding its own bits of radiotap information, none currently does. Also, drivers would have to copy the code to generate the radiotap bits that now mac80211 generates. If some driver in the future needs to add some driver-specific information I'd expect that to be in a radiotap vendor namespace and we can add a different way of passing such data up and having mac80211 include it. Additionally, rename IEEE80211_CONF_RADIOTAP to IEEE80211_CONF_MONITOR since it's still used by b43(legacy) to obtain per-frame timestamps. The purpose of this patch is to simplify the RX code in mac80211 to make it easier to add paged skb support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a86b9c78ebd0397eb953493c68ea9e194e7023c Author: Johannes Berg Date: Wed Oct 28 09:58:52 2009 +0100 mac80211: fix radiotap header generation In commit 601ae7f25aea58f208a7f640f6174aac0652403a Author: Bruno Randolf Date: Thu May 8 19:22:43 2008 +0200 mac80211: make rx radiotap header more flexible code was added that tried to align the radiotap header position in memory based on the radiotap header length. Quite obviously, that is completely useless. Instead of trying to do that, use unaligned accesses to generate the radiotap header. To properly do that, we also need to mark struct ieee80211_radiotap_header packed, but that is fine since it's already packed (and it should be marked packed anyway since its a wire format). Cc: Bruno Randolf Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d36ec58239eec44d77839ef6c25108efcbbb58c Author: Johannes Berg Date: Tue Oct 27 20:59:55 2009 +0100 mac80211: split hardware scan by band There's currently a very odd bug in mac80211 -- a hardware scan that is done while the hardware is really operating on 2.4 GHz will include CCK rates in the probe request frame, even on 5 GHz (if the driver uses the mac80211 IEs). Vice versa, if the hardware is operating on 5 GHz the 2.4 GHz probe requests will not include CCK rates even though they should. Fix this by splitting up cfg80211 scan requests by band -- recalculating the IEs every time -- and requesting only per-band scans from the driver. Apparently this bug hasn't been a problem yet, but it is imaginable that some older access points get confused if confronted with such behaviour. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b59f04cbf8ab4dce63f0d2ed658624b0ad21c67d Author: Johannes Berg Date: Tue Oct 27 20:56:21 2009 +0100 mac80211: remove outdated comment This comment hasn't been a real TODO item for a long time now since we fixed that quite a while ago. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d130eb498c75095297debbca596b19fcdc823924 Author: Johannes Berg Date: Tue Oct 27 20:53:58 2009 +0100 mac80211_hwsim: don't register CCK rates on 5ghz This buglet confused me a lot just now ... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1d9c185d67e61737562befdc6b0c4f19b6a85be6 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:37 2009 -0400 ath9k_hw: remove bogus register write on ath9k_hw_9271_pa_cal() An extra register was being written to for PA calibration making the hardware unresponsive, remove it. Hardware reset should now complete fine on ar9271. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ec11bb88f977321f117865b4d21079bbacc474ee Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:36 2009 -0400 ath9k_hw: correct AR_PHY_SPECTRAL_SCAN register offset We had 0x9912 but AR_PHY_SPECTRAL_SCAN is 0x9910. By using the 0x9912 we were making the hardware unresponsive. This allows us to move forward with hardware reset on ar9271 on the ath9k_htc driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 11158472c4ea7a4817d85912c491afa36a244192 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:35 2009 -0400 ath9k_hw: add AR9271 single chip name mapping Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f934c4d9de85571ff792360aa72dd26e00e1afc7 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:34 2009 -0400 ath9k_hw: distinguish single-chip solutions on initial probe print Devices with external radios have revisions which we can count on. On single chip solutions these EEPROM values for these radio revision also exist but are not meaningful as the radios are embedded onto the same chip. Each single-chip device evolves together as one device. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2da4f01a0938b688f92f9ee380013cfb8653510f Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:33 2009 -0400 ath9k_hw: move mac name and rf name helpers to hw code These are shared between ath9k and the future ath9k_htc driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c8746f9db8b1f644695050703e2d38cd5964ba7 Author: Kalle Valo Date: Tue Oct 27 17:36:25 2009 +0200 wl1251: enable power save wl1251 supports power save and it can be enabled now. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a9685338ab9d331c25ca92b0e8a92631e14c6b45 Author: Kalle Valo Date: Tue Oct 27 17:36:17 2009 +0200 mac80211: fix dynamic power save for devices with nullfunc support in hw In TX path it was assumed that dynamic power save works only if IEEE80211_HW_PS_NULLFUNC_STACK is set. But is not the case, there are devices which have nullfunc support in hardware but need mac80211 to handle dynamic power save timers, TI's wl1251 is one of them. The fix is to not check for IEEE80211_HW_PS_NULLFUNC_STACK in is_dynamic_ps_enabled(), instead check IEEE80211_HW_SUPPORTS_PS and IEEE80211_HW_SUPPORTS_DYNAMIC_PS flags and act accordingly. Tested with wl1251. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit ed620590de15021f6baf08ca098c90f47470efd7 Author: Kalle Valo Date: Tue Oct 27 17:36:09 2009 +0200 mac80211: refactor dynamic power save check Refactor dynamic power save checks to a function of it's own for better readibility. No functional changes. Signed-off-by: Kalle Valo Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 7bcfaf2f431c09c51fe776fc06638b25d3b421c5 Author: Johannes Berg Date: Tue Oct 27 12:59:03 2009 +0100 cfg80211/mac80211: use debugfs_remove_recursive We can save a lot of code and pointers in the structs by using debugfs_remove_recursive(). First, change cfg80211 to use debugfs_remove_recursive() so that drivers do not need to clean up any files they added to the per-wiphy debugfs (if and only if they are ok to be accessed until after wiphy_unregister!). Then also make mac80211 use debugfs_remove_recursive() where necessary -- it need not remove per-wiphy files as cfg80211 now removes those, but netdev etc. files still need to be handled but can now be removed without needing struct dentry pointers to all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c0d6100da3ee9b0f0cc46add9bb8a8161299a92 Author: Gábor Stefanik Date: Sun Oct 25 16:26:36 2009 +0100 b43: LP-PHY: Begin implementing calibration & software RFKILL support This implements the following calibration functions: -Set TX IQCC -Set TX Power by Index -PR41573 workaround (incomplete, needs PHY reset) -Calc RX IQ Comp -PHY Cordic -Run Samples -Start/Stop TX Tone -part of PAPD Cal TX Power -RX I/Q Calibration -The basic structure of the periodic calibration wrapper Software RFKILL (required by calibration) is also implemented in this round. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 6639104bd826e0b1388c69a6b7564fffc636c8a8 Author: Eric W. Biederman Date: Thu Oct 29 23:58:54 2009 +0000 bond: Get the rtnl_link_ops support correct - Don't call rtnl_link_unregister if rtnl_link_register fails - Set .priv_size so we aren't stomping on uninitialized memory when we use netdev_priv, on bond devices created with ip link add type bond. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ec87fd3b4e111e8bc367d247a963e27e5b86df26 Author: Eric W. Biederman Date: Thu Oct 29 14:18:26 2009 +0000 bond: Add support for multiple network namespaces Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 88ead977109da926a03068e277869ea8fedd170d Author: Eric W. Biederman Date: Thu Oct 29 14:18:25 2009 +0000 bond: Implement a basic set of rtnl link ops This implements a basic set of rtnl link ops and takes advantage of the fact that rtnl_link_unregister kills all of the surviving devices to all us to kill bond_free_all. A module alias is added so ip link add can pull in the bonding module. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit c67dfb299e05a132154b9bfaae4a83de478ffaa9 Author: Eric W. Biederman Date: Thu Oct 29 14:18:24 2009 +0000 bond: Simplify bond device destruction Manually inline the code from bond_deinit to bond_uninit. bond_uninit is the only caller and it is short. Move the call of bond_release_all from the netdev notifier into bond_uninit. The call site is effectively the same and performing the call explicitly allows all the paths for destroying a bonding device to behave the same way. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 30c15ba9936a17d743f90eb3e2f6fa82acddc5f3 Author: Eric W. Biederman Date: Thu Oct 29 14:18:23 2009 +0000 bond: Simplify bond_create. Stop calling dev_get_by_name to see if the bond device already exists. register_netdevice already does that. Stop calling bond_deinit if register_netdevice fails as bond_uninit is guaranteed to be called if bond_init succeeds. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6151b3d435feeeae7487032fcd5c8c7f281ba05c Author: Eric W. Biederman Date: Thu Oct 29 14:18:22 2009 +0000 bond: Simply bond sysfs group creation This patch delegates the work of creating the sysfs groups to the netdev layer and ultimately to the device layer. This closes races between uevents. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 0c509a6c9393b27a8c5a01acd4a72616206cfc24 Author: Eric W. Biederman Date: Thu Oct 29 14:18:21 2009 +0000 net: Allow devices to specify a device specific sysfs group. This isn't beautifully abstracted, but it is simple, simplifies uses and so far is only needed for the bonding driver. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6c508c62f90240ef58300a5e12093ee769a44364 Author: Eero Nurkkala Date: Fri Oct 30 13:34:03 2009 +0200 ASoC: refactor snd_soc_update_bits() Introduce a wrapper call snd_soc_update_bits_locked() that will take the codec mutex. This call is used when the codec mutex is not already taken. Drivers calling snd_soc_update_bits() may wish to make sure the codec mutex is taken from the driver. Signed-off-by: Eero Nurkkala Signed-off-by: Mark Brown commit 8538a119bfb9031c402a33fc65c276ab9bfafdd5 Author: Eero Nurkkala Date: Fri Oct 30 13:34:02 2009 +0200 ASoC: remove io_mutex Remove the io_mutex. It has a drawback of serializing all accesses to snd_soc_update_bits() even when multiple codecs are in use. In addition, it fails to actually do its task - during snd_soc_update_bits(), dapm_update_bits() may also be accessing the same register which may result in an outdated register value. Signed-off-by: Eero Nurkkala Signed-off-by: Mark Brown commit 23c4a8812a17f0af2b573a63fc991baa7d3570ed Author: Takashi Iwai Date: Fri Oct 30 13:21:49 2009 +0100 ALSA: hda - Switch to polling mode before disabling MSI When any codec communication error happens, try to switch to the polling mode first before turning off MSI. MSI gets more stable nowadays, thus we should keep it on as much as possible. Signed-off-by: Takashi Iwai commit b14f5de731ae657d498d18d713c6431bfbeefb4b Author: Krzysztof Helt Date: Sun Oct 25 11:10:01 2009 +0100 ALSA: es18xx: remove snd_audiodrive structure Remove intermediate snd_audiodrive structure between snd_card structure and snd_es18xx. This reduces size of source code and binary driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 3c76b4d69bedde5b9e7e42612a7d2ede4ab7fd8d Author: Krzysztof Helt Date: Sun Oct 25 11:05:19 2009 +0100 ALSA: es18xx: remove snd_card pointer from snd_es18xx structure The snd_card pointer is redundant and code can be easily changed to work without it. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit b7d5d946e50116f4150542f881ac90ac74c28165 Author: Krzysztof Helt Date: Sat Oct 24 17:47:33 2009 +0200 sound: remove OSS Ensoniq SoundScape driver The OSS driver for Ensoniq SoundScape cards is broken after conversion to mutexes and a new ALSA snd-sscape driver handles all devices handled by the OSS one. The ALSA driver was tested with these cards: Spea V7 MediaFX Ensoniq Soundscape Elite Ensoniq Soundscape VIVO (this card is not handled by the OSS driver) Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 6a5f96ce72b9e1a4bf06422df53fa819947d2293 Author: Takashi Iwai Date: Fri Oct 30 12:31:39 2009 +0100 ALSA: hda - Add a proper ifdef to a debug code Added a proper ifdef CONFIG_SND_DEBUG_VERBOSE to avoid a compile warning: sound/pci/hda/patch_intelhdmi.c:406: warning: ‘hdmi_get_channel_count’ defined but not used Signed-off-by: Takashi Iwai commit 84ed1a1942e8c28fb4c23a6235ec48672fc43e49 Author: Roel Kluin Date: Fri Oct 23 16:03:08 2009 +0200 ALSA: Cleanup redundant tests on unsigned The variables are unsigned so the test `>= 0' is always true, the `< 0' test always fails. In these cases the other part of the test catches wrapped values. In dac_audio_write() there does not occur a test for wrapped values, but the test appears redundant. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 36dd5c4afff825fca1b6ccde678f51d6933a6850 Author: Lydia Wang Date: Tue Oct 20 13:18:04 2009 +0800 ALSA: VIA HDA: Add support for VT1818S. Add support for VT1818S codec, which is similiar with VT1708S. Signed-off-by: Lydia Wang Signed-off-by: Takashi Iwai commit fd080b2d8a6a13992b4b1b6300e1befdb9e089f2 Author: Wu Fengguang Date: Fri Oct 30 11:46:22 2009 +0100 ALSA: hda - remove static intelhdmi configurations Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit f424367c3a393ca8b9669ceaa5b7f959d83bb14c Author: Wu Fengguang Date: Fri Oct 30 11:45:35 2009 +0100 ALSA: hda - auto parse intelhdmi cvt/pin configurations Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 69fb346896b4265c0cbcbd2fdd1a97ae09fe198d Author: Wu Fengguang Date: Fri Oct 30 11:45:04 2009 +0100 ALSA: hda - get intelhdmi max channels from widget caps Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 54a25f87e943fc77f57e86849897ad6602519286 Author: Wu Fengguang Date: Fri Oct 30 11:44:26 2009 +0100 ALSA: hda - vectorize intelhdmi The Intel IbexPeak HDMI codec supports 2 converters and 3 pins, which requires converting the cvt_nid/pin_nid to arrays. The active pin number (the one connected with a live HDMI monitor/sink) will be dynamically identified on hotplug events. It exports two HDMI devices, so that user space can choose the A/V pipe for sending the audio samples. It's still undefined behavior when there are two active monitors connected and routed to the same audio converter. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ddb8152b054e357907f57fb5ae65d494a3c79065 Author: Wu Fengguang Date: Fri Oct 30 11:43:03 2009 +0100 ALSA: hda - reorder intelhdmi prepare/cleanup callbacks No behavior change. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 70ca35fb42680fc4315d4a01f6c77c9a9962199c Author: Wu Fengguang Date: Fri Oct 30 11:42:18 2009 +0100 ALSA: hda - use pcm prepare/cleanup callbacks for intelhdmi Remove pcm callbacks open/close in favor of the prepare/cleanup. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 7bedb011ef4db93b15049ece8d50b29d6fe6af9d Author: Wu Fengguang Date: Fri Oct 30 11:41:44 2009 +0100 ALSA: hda - remove intelhdmi dependency on multiout We'll be managing multiple HDMI audio sources/sinks on our own. So remove multiout dependency from intelhdmi. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 6797cf2bfcbf2fa1fd05c0b785dc1402f73e2ce5 Author: Wu Fengguang Date: Fri Oct 30 11:40:40 2009 +0100 ALSA: hda - convert intelhdmi global references to local parameters No behavior change. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 92608badc519a8c1f65d93743396517aaa582b53 Author: Wu Fengguang Date: Fri Oct 30 11:40:03 2009 +0100 ALSA: hda - allow up to 4 HDMI devices The new Intel HDMI codec supports 2 independant HDMI/DisplayPort pipes. We'll be exporting them as 2 pcm devices. So bump up the allowed number of HDMI devices. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit f5d6def5c642587434c42722c57fb65642f61038 Author: Wu Fengguang Date: Fri Oct 30 11:38:26 2009 +0100 ALSA: hda - vectorize get_empty_pcm_device() This unifies the code and data structure, and makes it easy to add more HDMI devices. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 98078bf90495729e59edbec088d00b9d98f4cc0f Merge: 07102f3 b214f11 Author: Mark Brown Date: Fri Oct 30 10:36:23 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 07102f3cefc93aa742af91186830e282c0347e41 Author: Kuninori Morimoto Date: Fri Oct 30 12:02:44 2009 +0900 ASoC: sh: FSI: Add capture support Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit 9ddc9aa910687a8787dbbdc53dcd48e738b197d9 Author: Kuninori Morimoto Date: Fri Oct 30 12:02:39 2009 +0900 ASoC: sh: FSI: Remove DMA support SuperH FSI device have the hardware limitation to use DMA. If DMA is used, LCD output will be broken. Maybe there are some solution. But I don't know how to do it now. This patch remove DMA support and use soft transfer. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit 739b47f1e5aa3b36eadd7906cc6b41f0175c6ed1 Author: Wu Fengguang Date: Fri Oct 30 11:34:19 2009 +0100 ALSA: hda - select IbexPeak handler for Calpella An earlier patch merely adds id for 0x80862804. It has 2/3 cvt/pin nodes and shall be tied to the IbexPeak handler. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 0bd8d53656da72bc065766b5f2a05ca738020b8a Author: Eric Dumazet Date: Fri Oct 30 01:40:11 2009 -0700 net: use hlist_for_each_entry() Small cleanup of __dev_get_by_name() and __dev_get_by_index() to use hlist_for_each_entry() : They'll look like their _rcu variant. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 24540535d33f72505807be3e7ef2e94f3726f971 Author: Eric Dumazet Date: Fri Oct 30 01:00:27 2009 -0700 veth: Fix veth_dellink method In commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b (net: add a list_head parameter to dellink() method), I forgot to actually use this parameter in veth_dellink. I remember feeling a bit uncomfortable about veth_close(), because it does : netif_carrier_off(dev); netif_carrier_off(priv->peer); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 29906f6a427d2004a515ebbcdc7b28bae8f6c19c Author: Patrick McHardy Date: Thu Oct 29 23:43:00 2009 -0700 vlan: cleanup multiple unregistrations The temporary copy of the VLAN group is not neccessary since the lower device is already in the process of being unregistered, if it was neccessary the memset of the global group would introduce a race condition. With this removed, the changes to the original code are only a few lines, so remove the new function and move the code back into vlan_device_event(). Signed-off-by: Patrick McHardy Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 588e050887c5f00a39b056848ea58c8b496beab0 Author: Benjamin Herrenschmidt Date: Fri Oct 30 16:59:44 2009 +1100 powerpc/8xx: Fix build breakage with sparse irq changes Signed-off-by: Benjamin Herrenschmidt commit cc393317c42ab75cc3ac36548a6b85ce60460c3f Author: Olof Johansson Date: Tue Oct 6 05:52:50 2009 +0000 powerpc: pasemi_defconfig update pasemi_defconfig hasn't been updated for a year. Mostly a refresh of defaults, but this also disables 64K pages. Signed-off-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit 99ca177ae4d31c3fbbea7ffb213b9724e4c26233 Author: Jean Delvare Date: Wed Oct 14 05:31:32 2009 +0000 powerpc/therm_adt746x: Don't access non-existing register The ADT746x don't have any register at sub-address 0, so better use an existing register for the initial test read. Signed-off-by: Jean Delvare Cc: Colin Leroy Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit cd015707176820b86d07b5dffdecfefdd539a497 Author: Michael Ellerman Date: Tue Oct 13 19:45:03 2009 +0000 powerpc: Enable sparse irq_descs on powerpc Defining CONFIG_SPARSE_IRQ enables generic code that gets rid of the static irq_desc array, and replaces it with an array of pointers to irq_descs. It also allows node local allocation of irq_descs, however we currently don't have the information available to do that, so we just allocate them on all on node 0. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 750ab112919220a1d14491ae210b689bcb7d6d66 Author: Michael Ellerman Date: Tue Oct 13 19:45:00 2009 +0000 powerpc: Rearrange and fix show_interrupts() for sparse irq_descs Move the default case out of the if, ie. when we're just displaying an irq. And consolidate all the odd cases at the top, ie. printing the header and footer. And in the process cope with sparse irq_descs. Signed-off-by: Michael Ellerman Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 76f1d94f3ebdee0d14cab4d87bdeed1cf9badb17 Author: Michael Ellerman Date: Tue Oct 13 19:44:56 2009 +0000 powerpc: Make virq_debug_show() cope with sparse irq_descs Signed-off-by: Michael Ellerman Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 32c105c3781d32c55429fbac493602028913390a Author: Thomas Gleixner Date: Wed Oct 14 22:54:46 2009 +0000 powerpc/nvram_64: Mark init code __init Mark all functions which are only called from nvram_init() __init. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit fd62c6c448669a946e94fbb0ad179918b2233e3d Author: Thomas Gleixner Date: Wed Oct 14 22:54:40 2009 +0000 powerpc/nvram_64: Check nvram_error_log_index in nvram_clear_error_log() nvram_clear_error_log() calls ppc_md.nvram_write() even when nvram_error_log_index is -1 (invalid). The nvram_write() function does not check for a negative offset. Check nvram_error_log_index as the other nvram log functions do. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit ae7dd0208f62f1d6db4c49b85e54fa7bbed0ea4e Author: Thomas Gleixner Date: Wed Oct 14 22:54:36 2009 +0000 powerpc/nvram_64: Remove unused code nvram_find_partition() has no user. The call site was removed in the arch/powerpc move, but the function stayed. Remove it. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 0682d6c1044e8a54aafdc6282d44c0c436da208f Author: Michael Neuling Date: Wed Oct 21 20:15:43 2009 +0000 powerpc: Fix potential compile error irqs_disabled_flags irqs_disabled_flags is #defined in linux/irqflags.h when CONFIG_TRACE_IRQFLAGS_SUPPORT is enabled. 64 and 32 bit always have CONFIG_TRACE_IRQFLAGS_SUPPORT enabled so just remove irqs_disabled_flags. This fixes the case when someone needs to include both linux/irqflags.h and asm/hw_irq.h. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 0895ecda79428df48501e48dd0a868e0c8e1aae2 Author: David Gibson Date: Mon Oct 26 19:24:31 2009 +0000 powerpc/mm: Bring hugepage PTE accessor functions back into sync with normal accessors The hugepage arch code provides a number of hook functions/macros which mirror the functionality of various normal page pte access functions. Various changes in the normal page accessors (in particular BenH's recent changes to the handling of lazy icache flushing and PAGE_EXEC) have caused the hugepage versions to get out of sync with the originals. In some cases, this is a bug, at least on some MMU types. One of the reasons that some hooks were not identical to the normal page versions, is that the fact we're dealing with a hugepage needed to be passed down do use the correct dcache-icache flush function. This patch makes the main flush_dcache_icache_page() function hugepage aware (by checking for the PageCompound flag). That in turn means we can make set_huge_pte_at() just a call to set_pte_at() bringing it back into sync. As a bonus, this lets us remove the hash_huge_page_do_lazy_icache() function, replacing it with a call to the hash_page_do_lazy_icache() function it was based on. Some other hugepage pte access hooks - huge_ptep_get_and_clear() and huge_ptep_clear_flush() - are not so easily unified, but this patch at least brings them back into sync with the current versions of the corresponding normal page functions. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit 883a3e523672ebba2ec3969837ba02af4f70fae2 Author: David Gibson Date: Mon Oct 26 19:24:31 2009 +0000 powerpc/mm: Split hash MMU specific hugepage code into a new file This patch separates the parts of hugetlbpage.c which are inherently specific to the hash MMU into a new hugelbpage-hash64.c file. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit d1837cba5d5d5458c09f0a2849db2d3c203cb8e9 Author: David Gibson Date: Mon Oct 26 19:24:31 2009 +0000 powerpc/mm: Cleanup initialization of hugepages on powerpc This patch simplifies the logic used to initialize hugepages on powerpc. The somewhat oddly named set_huge_psize() is renamed to add_huge_page_size() and now does all necessary verification of whether it's given a valid hugepage sizes (instead of just some) and instantiates the generic hstate structure (but no more). hugetlbpage_init() now steps through the available pagesizes, checks if they're valid for hugepages by calling add_huge_page_size() and initializes the kmem_caches for the hugepage pagetables. This means we can now eliminate the mmu_huge_psizes array, since we no longer need to pass the sizing information for the pagetable caches from set_huge_psize() into hugetlbpage_init() Determination of the default huge page size is also moved from the hash code into the general hugepage code. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit a4fe3ce7699bfe1bd88f816b55d42d8fe1dac655 Author: David Gibson Date: Mon Oct 26 19:24:31 2009 +0000 powerpc/mm: Allow more flexible layouts for hugepage pagetables Currently each available hugepage size uses a slightly different pagetable layout: that is, the bottem level table of pointers to hugepages is a different size, and may branch off from the normal page tables at a different level. Every hugepage aware path that needs to walk the pagetables must therefore look up the hugepage size from the slice info first, and work out the correct way to walk the pagetables accordingly. Future hardware is likely to add more possible hugepage sizes, more layout options and more mess. This patch, therefore reworks the handling of hugepage pagetables to reduce this complexity. In the new scheme, instead of having to consult the slice mask, pagetable walking code can check a flag in the PGD/PUD/PMD entries to see where to branch off to hugepage pagetables, and the entry also contains the information (eseentially hugepage shift) necessary to then interpret that table without recourse to the slice mask. This scheme can be extended neatly to handle multiple levels of self-describing "special" hugepage pagetables, although for now we assume only one level exists. This approach means that only the pagetable allocation path needs to know how the pagetables should be set out. All other (hugepage) pagetable walking paths can just interpret the structure as they go. There already was a flag bit in PGD/PUD/PMD entries for hugepage directory pointers, but it was only used for debug. We alter that flag bit to instead be a 0 in the MSB to indicate a hugepage pagetable pointer (normally it would be 1 since the pointer lies in the linear mapping). This means that asm pagetable walking can test for (and punt on) hugepage pointers with the same test that checks for unpopulated page directory entries (beq becomes bge), since hugepage pointers will always be positive, and normal pointers always negative. While we're at it, we get rid of the confusing (and grep defeating) #defining of hugepte_shift to be the same thing as mmu_huge_psizes. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit a0668cdc154e54bf0c85182e0535eea237d53146 Author: David Gibson Date: Wed Oct 28 16:27:18 2009 +0000 powerpc/mm: Cleanup management of kmem_caches for pagetables Currently we have a fair bit of rather fiddly code to manage the various kmem_caches used to store page tables of various levels. We generally have two caches holding some combination of PGD, PUD and PMD tables, plus several more for the special hugepage pagetables. This patch cleans this all up by taking a different approach. Rather than the caches being designated as for PUDs or for hugeptes for 16M pages, the caches are simply allocated to be a specific size. Thus sharing of caches between different types/levels of pagetables happens naturally. The pagetable size, where needed, is passed around encoded in the same way as {PGD,PUD,PMD}_INDEX_SIZE; that is n where the pagetable contains 2^n pointers. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit f71dc176aa06359681c30ba6877ffccab6fba3a6 Author: David Gibson Date: Mon Oct 26 19:24:31 2009 +0000 powerpc/mm: Make hpte_need_flush() correctly mask for multiple page sizes Currently, hpte_need_flush() only correctly flushes the given address for normal pages. Callers for hugepages are required to mask the address themselves. But hpte_need_flush() already looks up the page sizes for its own reasons, so this is a rather silly imposition on the callers. This patch alters it to mask based on the pagesize it has looked up itself, and removes the awkward masking code in the hugepage caller. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit 8be8cf5b47f72096e42bf88cc3afff7a942a346c Author: Brian King Date: Mon Oct 19 05:51:34 2009 +0000 powerpc: Add kdump support to Collaborative Memory Manager When running Active Memory Sharing, the Collaborative Memory Manager (CMM) may mark some pages as "loaned" with the hypervisor. Periodically, the CMM will query the hypervisor for a loan request, which is a single signed value. When kexec'ing into a kdump kernel, the CMM driver in the kdump kernel is not aware of the pages the previous kernel had marked as "loaned", so the hypervisor and the CMM driver are out of sync. Fix the CMM driver to handle this scenario by ignoring requests to decrease the number of loaned pages if we don't think we have any pages loaned. Pages that are marked as "loaned" which are not in the balloon will automatically get switched to "active" the next time we touch the page. This also fixes the case where totalram_pages is smaller than min_mem_mb, which can occur during kdump. Signed-off-by: Brian King Signed-off-by: Benjamin Herrenschmidt commit 6cff46f4bc6cc4a8a4154b0b6a2e669db08e8fd2 Author: Michael Ellerman Date: Tue Oct 13 19:44:51 2009 +0000 powerpc: Remove get_irq_desc() get_irq_desc() is a powerpc-specific version of irq_to_desc(). That is reason enough to remove it, but it also doesn't know about sparse irq_desc support which irq_to_desc() does (when we enable it). Signed-off-by: Michael Ellerman Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 59e3f837023d446924791f76fbdd4bcf8e09efcc Author: Michael Ellerman Date: Tue Oct 13 19:44:47 2009 +0000 powerpc/pseries: Use irq_has_action() in eeh_disable_irq() Rather than open-coding our own check, use irq_has_action() to check if an irq has an action - ie. is "in use". irq_has_action() doesn't take the descriptor lock, but it shouldn't matter - we're just using it as an indicator that the irq is in use. disable_irq_nosync() will take the descriptor lock before doing anything also. Signed-off-by: Michael Ellerman Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 551b81f26ffc2135b8490babad1a9ab12d617e8d Author: Michael Ellerman Date: Tue Oct 13 19:44:44 2009 +0000 powerpc: Make NR_IRQS a CONFIG option The irq_desc array consumes quite a lot of space, and for systems that don't need or can't have 512 irqs it's just wasted space. The first 16 are reserved for ISA, so the minimum of 32 is really 16 - and no one has asked for more than 512 so leave that as the maximum. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d35ef90bf9e7cab9aa85e9c0724bd1ac6f784601 Author: Anton Vorontsov Date: Mon Oct 12 05:50:41 2009 +0000 of/platform: Implement support for dev_pm_ops Linux power management subsystem supports vast amount of new PM callbacks that are crucial for proper suspend and hibernation support in drivers. This patch implements support for dev_pm_ops, preserving support for legacy callbacks. Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 3d541c4b7f6efd55a98189afd1b2f1c9d048c1b3 Author: Benjamin Herrenschmidt Date: Thu Sep 24 19:30:05 2009 +0000 powerpc/chrp: Use the same RTAS daemon as pSeries The CHRP code has some fishy timer based code to scan the RTAS event log, which uses a 1KB stack buffer and doesn't even use the results. The pSeries code as a nicer daemon that allows userspace to read the event log and basically uses the same RTAS interface This patch moves rtasd.c out of platform/pseries and makes it usable by CHRP, after removing the old crufty event log mechanism in there. The nvram logging part of the daemon is still only available on 64-bit since the underlying nvram management routines aren't currently shared. Signed-off-by: Benjamin Herrenschmidt commit 188917e183cf9ad0374b571006d0fc6d48a7f447 Author: Benjamin Herrenschmidt Date: Thu Sep 24 19:29:13 2009 +0000 powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink Some of the stuff in /proc/ppc64 such as the RTAS bits are actually useful to some 32-bit platforms. Rename the file, and create a symlink on 64-bit for backward compatibility Signed-off-by: Benjamin Herrenschmidt commit 64eb38a6e9732f45d518b9e522d613195c930e8f Author: Anton Vorontsov Date: Mon Oct 5 07:44:27 2009 +0000 powerpc: Make it possible to select hibernation on all PowerPCs Just as with kexec, hibernation may fail even on well-tested platforms: some PCI device, a driver of which doesn't play well with hibernation, is enough to break resuming. Hibernation code is not much platform dependent, and hiding features only because these were not verified on a particular hardware is counterproductive: we just prevent the features from being widely tested. For example, with this patch I just tested hibernation on a MPC83xx board, and it works quite well, modulo a few drivers that need some fixing. So, let's make it possible to select hibernation support for all PowerPCs, then let's wait for any possible bug reports, and actually fix (or just collect ;-) the bugs instead of hiding them. If some platforms really can't stand hibernation, we can make a blacklist, with proper comments why exactly hibernation doesn't work, whether it is possible to fix, and what needs to be done to fix it. CONFIG_HIBERNATION is still =n by default, so the commit doesn't change anything apart from ability to set it to =y. I'm not sure if EXPERIMENTAL dependency is needed, I'd rather not add it for a few reasons: 1) It doesn't matter much, for distro kernels user has no clue that some feature is experimental. Majority of defconfigs enable EXPERIMENTAL anyway (90 vs. 4, which, btw, means that EXPERIMENTAL is overused in Kconfigs); 2) EXPERIMENTAL is a good thing for features that change default behaviour of a kernel, while for hibernation user has to explicitly issue 'echo disk > /sys/power/state' to trigger any hibernation bugs; 3) Per init/Kconfig, EXPERIMENTAL is a good thing to scare and discourage users from 'widespread use of a feature', while we want to encourage that use. Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 7424639af480a05cac428ec7e7e38a11d6ff5734 Author: Michael Ellerman Date: Mon Jun 22 15:56:39 2009 +0000 powerpc/ps3: Use pr_devel() in ps3/mm.c The non-debug case in ps3/mm.c uses pr_debug(), so that the compiler still does type checks etc. and doesn't complain about unused variables in the non-debug case. However with DEBUG=n and CONFIG_DYNAMIC_DEBUG=y there's still code generated for those pr_debugs(). size before: text data bss dec hex filename 17553 4112 88 21753 54f9 arch/powerpc/platforms/ps3/mm.o size after: text data bss dec hex filename 7377 776 88 8241 2031 arch/powerpc/platforms/ps3/mm.o Signed-off-by: Michael Ellerman Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit e22f628395432b967f2f505858c64450f7835365 Author: Alexey Dobriyan Date: Sun Sep 6 23:31:25 2009 +0000 Convert /proc/device-tree/ to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: Benjamin Herrenschmidt commit f0816ce39d8de7646301aac52cc7351a2424d97f Author: Oliver Neukum Date: Thu Oct 29 05:07:12 2009 +0000 convert kaweth to use usb_reset_configuration() For USB 3.0 it is necessary that all drivers use the standard API to reset a configuration. This removes a home-grown implementation. Signed-off-by: Oliver Neukum Hi David, please take this for the next merge window. Regards Oliver Signed-off-by: David S. Miller commit 43ab85021e8286e1641928ab3cc542dd1e8c7f94 Author: roel kluin Date: Wed Oct 14 05:26:30 2009 +0000 ax25: unsigned cannot be less than 0 in ax25_ctl_ioctl() struct ax25_ctl_struct member `arg' is unsigned and cannot be less than 0. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit ac958154e9e1548933fe97e4ecbceb30e01e4a6f Author: Stephen Hemminger Date: Thu Oct 29 06:37:10 2009 +0000 sky2: version 1.26 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0f5aac7070a01ec757ed243febe4fff7c944c4d2 Author: Stephen Hemminger Date: Thu Oct 29 06:37:09 2009 +0000 sky2: 88E8059 support Tentative support for newer Marvell hardware including the Yukon-2 Optima chip. Do not have hatdware to test this yet, code is based on vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 877c8570fb00ad0529b07f8193cc098ac0193d03 Author: Stephen Hemminger Date: Thu Oct 29 06:37:08 2009 +0000 sky2: workarounds for Yukon-2 supreme Changes related to support of Yukon supreme chip. Don't have this chip version to test on, these are reverse engineered from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d6b54d241c558483302616ac1d997806795513e4 Author: Stephen Hemminger Date: Thu Oct 29 06:37:07 2009 +0000 sky2: fix receive pause thresholds Program the receive pause thresholds differently depending on chip version. This cloned from from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e91cd2e65f22a80af87367178bed4957fdc45ecd Author: Stephen Hemminger Date: Thu Oct 29 06:37:06 2009 +0000 sky2: add register definitions for new chips This adds infrastructure for the newer chip versions and workarounds. Extracted from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e30a4ac243b1fd2714675fd451e718d9940b1bdd Author: Stephen Hemminger Date: Thu Oct 29 06:37:05 2009 +0000 sky2: add SK-9E21M device id This is a new ID that just showed up in latest vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 58ee987e2fd8acff6263d194d8fa43267cc8b1c9 Author: Magnus Damm Date: Fri Oct 30 04:24:48 2009 +0000 sh: Add KFR2R09 specific memory pre/post R-standby code Add R-standby support to the KFR2R09 sdram code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bb3e0eed9dd51987c7462bae2880a3d4d750c55a Author: Magnus Damm Date: Fri Oct 30 04:24:40 2009 +0000 sh: Add R-standby sleep mode support Add R-standby specific bits to the SuperH Mobile sleep code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 03625e7107cde46e2851557ec06426799e6ae7f2 Author: Magnus Damm Date: Fri Oct 30 04:24:32 2009 +0000 sh: Use RSMEM for sleep code on sh7724 Use RSMEM instead of ILMEM for sleep mode code storage on SH7724. This allows us to use R-standby mode on SH7724. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 99675a7a45ed3cec54d6e1d11f13bcaacaf0909b Author: Magnus Damm Date: Fri Oct 30 04:24:23 2009 +0000 sh: Add MMU and Cache handling sleep mode code Add MMU and cache handling functionality to the SuperH Mobile sleep code. The MMU and cache registers are saved and restored. The MMU is disabled and the cache is flushed and disabled before entering sleep modes if the SUSP_SH_MMU flag is set. This flag should be set in the case of R-standby and most likely for future U-standby support as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 02bf89347c7d6a6aeae64f02536dac038c402fce Author: Magnus Damm Date: Fri Oct 30 04:24:15 2009 +0000 sh: Keep track of allowed sleep modes Add code to keep track of supported sleep modes. This to only export cpuidle modes that are backed by board support code. Also, do not allow suspend-to-ram if sdram board code is missing. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 323ef8dba67fb7b9c709457bd0374d88cfb8f25f Author: Magnus Damm Date: Fri Oct 30 04:24:07 2009 +0000 sh: Rework SuperH Mobile sleep mode code Rework the SuperH Mobile sleep code from including board specific code to allowing each board to provide pre/post code snippets. These snippets should contain sdram management code to enter and leave self-refresh. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eb0cd9e88c6a6561055b32a17d44d8918aecc3c7 Author: Magnus Damm Date: Fri Oct 30 04:23:59 2009 +0000 sh: Add Ecovec24 specific memory pre/post sleep code Add self-refresh handling code for the Ecovec24 board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 86c7d03a0fe4241e64eb19b86544647c8ee4bac9 Author: Magnus Damm Date: Fri Oct 30 04:23:51 2009 +0000 sh: Add ap325rxa specific memory pre/post sleep code Add self-refresh handling code for the AP325RXA board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53528928d1260747c294b63218d9886c74df4c31 Author: Magnus Damm Date: Fri Oct 30 04:23:42 2009 +0000 sh: Move ap325rxa board code into separate directory Move the AP325RXA board code from a single board file to a separate directory. This to make it easy to add support for sdram sleep mode code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c3c6336504c59d9febc30de199dfee6a65a5d6ae Author: Ben Hutchings Date: Thu Oct 29 07:21:33 2009 +0000 sfc: Enable heuristic selection between page and skb RX buffers Now that we can tell whether GRO is being applied, this heuristic is effective once more. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 18e1d2beb6c2307d3cab7ecb44fd3d4382adcf6a Author: Ben Hutchings Date: Thu Oct 29 07:21:24 2009 +0000 sfc: Feed GRO result into RX allocation policy and interrupt moderation When GRO is successfully merging received packets, we should allocate raw page buffers rather than skbs that will be discarded by GRO. Otherwise, we should allocate skbs. GRO also benefits from higher interrupt moderation, so increase the score for mergeable RX packets. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c7c4b3b6e976b95facbb723951bdcd554a3530a4 Author: Ben Hutchings Date: Thu Oct 29 21:36:53 2009 -0700 gro: Change all receive functions to return GRO result codes This will allow drivers to adjust their receive path dynamically based on whether GRO is being applied successfully. Currently all in-tree callers ignore the return values of these functions and do not need to be changed. Signed-off-by: Ben Hutchings Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 5b252f0c2f98df21fadf0f6cf189b87a0b938228 Author: Ben Hutchings Date: Thu Oct 29 07:17:09 2009 +0000 gro: Name the GRO result enumeration type This clarifies which return and parameter types are GRO result codes and not RX result codes. Signed-off-by: Ben Hutchings Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01 Merge: 38bfd8f b5dd884 Author: David S. Miller Date: Thu Oct 29 21:28:59 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 13fa551b5eb1752c6974a81ef19f369220972cf2 Author: Magnus Damm Date: Thu Oct 29 10:52:31 2009 +0000 sh: Add migor specific memory pre/post sleep code Add self-refresh handling code for the Migo-R board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3b9f2952a3eda738f5f2d7610b76e284cbac581f Author: Magnus Damm Date: Thu Oct 29 10:52:23 2009 +0000 sh: Add ms7724se specific memory pre/post sleep code Add self-refresh handling code for the MS7724SE board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 67e522d0f91349127b3e0e536578be484cdb3367 Author: Magnus Damm Date: Thu Oct 29 10:52:15 2009 +0000 sh: Add kfr2r09 specific memory pre/post sleep code Add self-refresh handling code for the KFR2R09 board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 159f8cd99ea0e3613cbb6aeea574af438f33d8d7 Author: Magnus Damm Date: Thu Oct 29 10:52:06 2009 +0000 sh: Allow boards to register memory pre/post sleep code Add code to allow boards registering self-contained functions for going to/from self-refresh. At this point the board code is unused. When all supported boards have been converted then the new sleep code will make use of these functions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit da14909eb0749c2788fc704be6dbdebb620602f6 Author: Magnus Damm Date: Thu Oct 29 10:51:57 2009 +0000 sh: Add sh7724 notifier for R-standby save/restore Make use of the recently added notifier chains for sh7724 r-standby register save/restore handling. At this point only the BSC and INTC are handled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 49f42644fd01bc7bd9b6b0a080fee1a89dc66665 Author: Magnus Damm Date: Thu Oct 29 10:51:48 2009 +0000 sh: Add notifiers chains for cpu/board code This patch adds atomic notifier chains for pre/post sleep events. Useful for cpu code and boards that need to save and restore register state before and after entering a sleep mode. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eb3118f652ea7751ecf6a7e467bb637895e3be3b Author: Matt Fleming Date: Thu Oct 29 21:53:30 2009 +0000 sh: Do not apply virt_to_phys() to a physical address The variable 'phys' already contains the physical address to flush. It is not a virtual address and should not be passed to virt_to_phys(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 67e646cd7b51e1d5847fb506d4419d436ea25fda Author: Anuj Aggarwal Date: Fri Oct 30 00:22:39 2009 +0530 ASoC: Modifying Kconfig/Makefile for AM3517 EVM Modifying the Kconfig and Makefile in sound/soc/omap folder to add support for OMAP3517 / AM3517 EVM in Alsa SoC. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit 89e9abe78151de4d62fefe3976f6ef9f1f086e53 Author: Anuj Aggarwal Date: Fri Oct 30 00:22:30 2009 +0530 ASoC: Adding OMAP3517 / AM3517 EVM support in ASOC Adding support for OMAP3517 / AM3517 EVM in Alsa SoC. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit 5975c725dfd6f7d36f493ab1453fbdbd35c1f0e3 Author: Serge E. Hallyn Date: Thu Oct 29 11:40:17 2009 -0500 define convenient securebits masks for prctl users (v2) Hi James, would you mind taking the following into security-testing? The securebits are used by passing them to prctl with the PR_{S,G}ET_SECUREBITS commands. But the defines must be shifted to be used in prctl, which begs to be confused and misused by userspace. So define some more convenient values for userspace to specify. This way userspace does prctl(PR_SET_SECUREBITS, SECBIT_NOROOT); instead of prctl(PR_SET_SECUREBITS, 1 << SECURE_NOROOT); (Thanks to Michael for the idea) This patch also adds include/linux/securebits to the installed headers. Then perhaps it can be included by glibc's sys/prctl.h. Changelog: Oct 29: Stephen Rothwell points out that issecure can be under __KERNEL__. Oct 14: (Suggestions by Michael Kerrisk): 1. spell out SETUID in SECBIT_NO_SETUID* 2. SECBIT_X_LOCKED does not imply SECBIT_X 3. add definitions for keepcaps Oct 14: As suggested by Michael Kerrisk, don't use SB_* as that convention is already in use. Use SECBIT_ prefix instead. Signed-off-by: Serge E. Hallyn Acked-by: Andrew G. Morgan Acked-by: Michael Kerrisk Cc: Ulrich Drepper Cc: James Morris Signed-off-by: James Morris commit c4b8ac2c1aee1398b9378b8730bac56294b3410b Author: Li Hong Date: Wed Oct 28 13:07:43 2009 +0800 tracing: Exit with error if a weak function is used in recordmcount.pl If a weak function is used as a relocation reference for mcount callers and that function is overridden, it will cause ftrace to fail at run time. The current code should prevent a weak function from being used, but if one is, the code should exit with an error to fail at compile time. Signed-off-by: Li Hong LKML-Reference: <20091028050743.GH30758@uhli> Signed-off-by: Steven Rostedt commit 6092858c60f168c1950f8ad73880d54271696ec5 Author: Li Hong Date: Wed Oct 28 13:07:03 2009 +0800 tracing: Move conditional into update_funcs() in recordmcount.pl Move all the condition validations into the function update_funcs(). Also update_funcs should not die if $ref_func is undefined for there may be more than one valid section in an object file. Signed-off-by: Li Hong LKML-Reference: <20091028050703.GG30758@uhli> Signed-off-by: Steven Rostedt commit 306dcf47d28aaf9aedfafb17a602768584cfc0f2 Author: Li Hong Date: Wed Oct 28 13:06:19 2009 +0800 tracing: Add regex for weak functions in recordmcount.pl Add a variable to contain the regex needed to find weak functions in the 'nm' output. This will allow other archs to easily override it. Also rename the regex variable $nm_regex to $local_regex to be more descriptive. Signed-off-by: Li Hong LKML-Reference: <20091028050619.GF30758@uhli> Signed-off-by: Steven Rostedt commit db24c7dcf42f78629d89b34e5d5a98ed56ea2ff5 Author: Li Hong Date: Wed Oct 28 13:05:23 2009 +0800 tracing: Move mcount section search to front of loop in recordmcount.pl Move the mcount section check to the beginning of the objdump read loop. This makes the code easier to follow since the search for the mcount section is performed first before the mcount callers are processed. Signed-off-by: Li Hong LKML-Reference: <20091028050523.GE30758@uhli> Signed-off-by: Steven Rostedt commit 7b7edc27683e20624f4daf17c76041719184201c Author: Li Hong Date: Wed Oct 28 13:04:21 2009 +0800 tracing: Fix objcopy revision check in recordmcount.pl The current logic to check objcopy's version is incorrect. This patch fixes the algorithm and disables the use of local functions as a reference if the objcopy version does not support static to global conversions. Also remove some usused variables. Signed-off-by: Li Hong LKML-Reference: <20091028050421.GD30758@uhli> Signed-off-by: Steven Rostedt commit bdd3b052c63b2c19a0118937f500985c01a19956 Author: Li Hong Date: Wed Oct 28 13:03:32 2009 +0800 tracing: Check absolute path of input file in recordmcount.pl The ftrace.c file may reference the mcount function and this may interfere with the recordmcount.pl processing. To avoid this, the code does not process the kernel/trace/ftrace.o. But currently the check is against a relative path. This patch modifies the check to succeed if the path is an absolute path. Signed-off-by: Li Hong LKML-Reference: <20091028050332.GC30758@uhli> Signed-off-by: Steven Rostedt commit e2d753fac5b3954a3b6001f98479f0435fe7c868 Author: Li Hong Date: Tue Oct 27 14:57:33 2009 +0800 tracing: Correct the check for number of arguments in recordmcount.pl The number of arguments passed into recordmcount.pl is 10, but the code checks if only 7 are passed in. Signed-off-by: Li Hong LKML-Reference: <20091027065733.GB22032@uhli> Signed-off-by: Steven Rostedt commit d49f6aa76d24c60a52530474cb662e8ad9f09471 Author: Li Hong Date: Wed Oct 28 13:01:38 2009 +0800 tracing: Amend documentation in recordmcount.pl to reflect implementation The documentation currently says we will use the first function in a section as a reference. The actual algorithm is: choose the first global function we meet as a reference. If there is none, choose the first local one. Change the documentation to be consistent with the code. Also add several other clarifications. Signed-off-by: Li Hong LKML-Reference: <20091028050138.GA30758@uhli> Signed-off-by: Steven Rostedt commit 345a32296b1f9f6121379e0240915e0e2be2dbf5 Author: Mikael Pettersson Date: Thu Oct 29 11:46:56 2009 -0700 iop: implement sched_clock() This adds a better sched_clock() to the IOP platform, implemented using its new clocksource support. Tested on n2100, compile-tested for all plat-iop machines. [dan.j.williams@intel.com: allow early cp6 access] Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 980f2296b5a8dfe589f023fd34229dcfdcf280fa Author: Mikael Pettersson Date: Thu Oct 29 11:46:55 2009 -0700 iop: enable generic time This updates the IOP platform to use the kernel's generic time framework. With clockevent support in place, this reduces to selecting GENERIC_TIME and removing the platform's private timer ->offset() operation (iop_gettimeoffset). Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 469d30448dad13600cdd246024f9db8e80614c45 Author: Mikael Pettersson Date: Thu Oct 29 11:46:54 2009 -0700 iop: clockevent support This updates the IOP platform to expose the interrupting timer 0 as a clockevent object. The timer interrupt handler is changed to call the clockevent ->event_handler() instead of timer_tick(), and ->set_next_event() and ->set_mode() operations are added to allow the mode of the timer to be updated (required for ONESHOT/NOHZ mode). Timer 0 must now be properly initialised, which requires a new write_tcr0() function from the mach-specific code. The mode of timer 0 must be read at the start of ->set_mode(), which requires a new read_tmr0() function from the mach- specific code. Initial setup of timer 0 is also rewritten to be more robust. Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit a91549a8f27e63e0e537fe1c20d4845581de894f Author: Mikael Pettersson Date: Thu Oct 29 11:46:54 2009 -0700 iop: clocksource support This updates the IOP platform to expose the free-running timer 1 as a clocksource object. This timer is now also properly initialised, which requires a new write_tcr1() function from the mach-specific code. Apart from the explicit initialisation, there is no functional change in how timer 1 is programmed. Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 8798a694da59486e4a3ff0abeec183202fb34c20 Author: Michael Reed Date: Fri Oct 9 14:15:59 2009 -0500 [SCSI] scsi_transport_fc: remove invalid BUG_ON I was doing some large lun count testing with 2.6.31 and hit a BUG_ON() in fc_timeout_deleted_rport(), and it seems like it should have been just a matter of time before someone did. It seems invalid to set port_state under lock, then expect it to remain set after releasing the lock. Another thread called fc_remote_port_add() when the lock was released, changing the port_state. This patch removes the BUG_ON and moves the test of the port_state to inside the host_lock. It's been running for several weeks now with no ill effect. Signed-off-by: Michael Reed Acked-by: James Smart Signed-off-by: James Bottomley commit ad63082626f99651d261ccd8698ce4e997362f7e Author: Mike Christie Date: Mon Sep 28 15:50:52 2009 -0500 [SCSI] fix propogation of integrity errors When the Integrity check is done in scsi_io_completion it will set error to -EILSEQ. However, at this point error is no longer used, and blk_end_request_err has -EIO hardcoded. It looks like there was just porting mistake with this patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3e695f89c5debb735e4ff051e9e58d8fb4e95110 and we meant to send error upwards, so this patch changes the hard coded EIO to the error variable. I have only boot tested this patch. Signed-off-by: Mike Christie Acked-by: Martin K. Petersen Signed-off-by: James Bottomley commit cce9c8aed7d3ac0a14815e99b4602ae6c854a0ba Author: Ed Lin Date: Mon Sep 28 22:58:36 2009 -0800 [SCSI] stex: update version to 4.6.0000.4 Update version to 4.6.0000.4. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 9eb46d2a08de537e14e92216bf18e7cb541d2f67 Author: Ed Lin Date: Mon Sep 28 22:58:33 2009 -0800 [SCSI] stex: add support for reset request from firmware Add support for reset request from firmware for controllers of st_shasta and st_yel type. Code adjustments necessary for this change are also included. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit cbacfb5fd9a4689b55157753b8ba4455415fb85c Author: Ed Lin Date: Mon Sep 28 22:58:17 2009 -0800 [SCSI] stex: add small dma buffer support The controllers of st_seq and st_vsc type can work if only small dma buffer is available, with a reduced firmware feature set. Add support for this case. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 080bb708ad8f21ea743d1a9233fbc62af0feb10b Author: Kashyap, Desai Date: Wed Oct 7 11:28:50 2009 +0530 [SCSI] mptfusion: Bump version to 3.04.13 Bump version 3.04.13. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 9b53b39243cf23a0b68eaa16c37ce16eada69a46 Author: Kashyap, Desai Date: Wed Oct 7 11:27:40 2009 +0530 [SCSI] mptspi: Fix for incorrect data underrun errata Errata: Certain conditions on the scsi bus may casue the 53C1030 to incorrectly signal a SCSI_DATA_UNDERRUN to the host. Workaround 1: For an Errata on LSI53C1030 When the length of request data and transfer data are different with result of command (READ or VERIFY), DID_SOFT_ERROR is set. Workaround 2: For potential trouble on LSI53C1030. It is checked whether the length of request data is equal to the length of transfer and residual. MEDIUM_ERROR is set by incorrect data. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e39e145dfb78d4e20d89139d2576306b4279c126 Author: Kashyap, Desai Date: Wed Oct 7 11:26:54 2009 +0530 [SCSI] mptctl : Remove printk which floods unnecessary messages to var/log/message Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit a0b7736828f7615823a7dec680632656d9a9edde Author: Yang, Bo Date: Tue Oct 6 14:55:09 2009 -0600 [SCSI] megaraid_sas: Update version number and documentation Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 7218df69e3609d1fcf4d83cf8f3fc89dbfbf82a8 Author: Yang, Bo Date: Tue Oct 6 14:52:20 2009 -0600 [SCSI] megaraid_sas: use the firmware boot timeout when waiting for commands use the constant MEGASAS_RESET_WAIT_TIME when waiting for firmware commands to complete (currently 3 minutes). Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 7b2519afa1abd1b9f63aa1e90879307842422dae Author: Yang, Bo Date: Tue Oct 6 14:52:20 2009 -0600 [SCSI] megaraid_sas: fix 64 bit sense pointer truncation The current sense pointer is cast to a u32 pointer, which can truncate on 64 bits. Fix by using unsigned long instead. Signed-off-by Bo Yang Cc: stable@kernel.org Signed-off-by: James Bottomley commit 7e8a75f4dfbff173977b2f58799c3eceb7b09afd Author: Yang, Bo Date: Tue Oct 6 14:50:17 2009 -0600 [SCSI] megaraid_sas: Add the support for updating the OS after adding/removing the devices from FW Driver will update the OS devices after adding and deleting the device from FW. When driver receive add or delete AEN from FW, driver will send the DCMD cmd to get the System PD list from FW. Then driver will check if this device already in the OS: If add event and OS don't have the device (but it is in the list), driver add the device to OS, otherwise driver will not add. If remove event, driver will check the list, if is not in the list, but OS have the device, driver will remove the device. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 0c79e681eef10810a5ed41a2eb1dce244ab1c37d Author: Yang, Bo Date: Tue Oct 6 14:47:35 2009 -0600 [SCSI] megaraid_sas: Fix the fix for fw hang caused by megaraid sas application Add a lock to the skinny firmware initialisation sequence to prevent the two stage write being non atomic if multiple instances use it. Add a flag to the driver shutdown sequence to prevent aen ioctls being called after shutdown begins. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit f4c9a1317d32bb0af7546ef0c1dcc3be52dc8d0a Author: Yang, Bo Date: Tue Oct 6 14:43:28 2009 -0600 [SCSI] megaraid_sas: add the IEEE SGE support to SAS2 controller To increase the performance, megaraid sas driver added the IEEE SGE support to support SAS2 controller. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 7bebf5c79cb62766c76c6c1b9c77b86496fd363e Author: Yang, Bo Date: Tue Oct 6 14:40:58 2009 -0600 [SCSI] megaraid_sas: allocate the application cmds to sas2 controller MegaRAID SAS2 controller ioctl can't use 32 cmd for applications. Driver need to divide different number of cmds to IO and application. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 044833b572b96afe91506a0edec42efd84ba4939 Author: Yang, Bo Date: Tue Oct 6 14:33:06 2009 -0600 [SCSI] megaraid_sas: report system PDs to OS When OS issue inquiry, it will check driver's internal pd_list. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 81e403ce3c6a34cd705bf54d4cdeefdeb7068a8d Author: Yang, Bo Date: Tue Oct 6 14:27:54 2009 -0600 [SCSI] megaraid_sas: infrastructure to get PDs from FW Add system PDs to OS. Driver implemented the get_pd_list function to get the system PD from FW. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 879111224d0784eab623fe8130a1f4481e0e1966 Author: Yang, Bo Date: Tue Oct 6 14:31:54 2009 -0600 [SCSI] megaraid_sas: Add new megaraid SAS 2 controller support to the driver Add the new megaraid sas 2 controller to the driver. megaraid sas2 is LSI next generation SAS products. driver add the interface to support this product. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 72c4fd36dc7f755a5245ef2495fe27d5084d776d Author: Yang, Bo Date: Tue Oct 6 14:20:59 2009 -0600 [SCSI] megaraid_sas: add sysfs for AEN polling update the sysfs parameter to tell application driver support AEN poll Signed-off-by Bo Yang Signed-off-by: James Bottomley commit c35188377f12e5e0a74f18c3dfdd67baf88db514 Author: Yang, Bo Date: Tue Oct 6 14:18:02 2009 -0600 [SCSI] megaraid_sas: Add poll mechanism to megaraid sas driver Add Poll_wait mechanism to SAS-2 MegaRAID SAS Linux driver. Driver will wakeup poll after the driver get event from MegaRAID SAS FW. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 8d56825321339f0ef7ad08eb58332e1836881e3b Author: Yang, Bo Date: Tue Oct 6 14:12:21 2009 -0600 [SCSI] megaraid_sas: tape drive support fix Add the Tape drive fix to the megaraid_sas driver: If the command is for the tape device, set the FW pthru timeout to the os layer timeout value. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 153f251e477f41dab0314c4cd2004b9e7ebac4eb Author: Kashyap, Desai Date: Wed Sep 23 17:40:05 2009 +0530 [SCSI] mpt2sas: Bump version 03.100.03.00 Bump version to 03.100.03.00 Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e7d59c17a70e59a052d29467bbefb23ce700dcd4 Author: Kashyap, Desai Date: Wed Sep 23 17:36:52 2009 +0530 [SCSI] mpt2sas: No link rate change, do not call update links nor unblock device (1) target resets are sending link change rate events with no link rate change -> thus said the driver was modified so when there is no link rate change, we don't need to call mpt2sas_transport_update_links nor _scsih_ublock_io_device. (2) There were changes made in _scsih_sas_topology_change_event_debug to change the debug strings so they are more clear. Also the link rate change information was added to display the new and previous link rate. for the MPI2_EVENT_SAS_TOPOLOGY_CHANGE_LIST event when the ExpStatus is set to zero, display "responding" instead of "unknown status". Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 744090d38b47ed8ead8f68b6f0c65866c0b9b17a Author: Kashyap, Desai Date: Mon Oct 5 15:56:56 2009 +0530 [SCSI] mpt2sas : Add support for RAID Action System Shutdown Initiated at OS shutdown (1) Added new function _scsih_ir_shutdown. This function will issue the MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED request via MPI2_FUNCTION_RAID_ACTION. The function will wait 10 seconds for reply message frame, then print out the ioc status and loginfo. This function is only called when there are raid volumes present. (2) Add shutdown callback in the struct pci_driver object scsih_driver. This will be called only when the system is shutting down. From this function, we will call _scsih_ir_shutdown mentioned above. (3) Add support in _scsih_remove to call _scsih_ir_shutdown. The function _scsih_remove will be called when the driver is unloaded (and system is still running). scsih internal command contex is added to send internal message frames from mpt2sas_scsih.c. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 8ffc457ed6fe33728657a0cfb7509b90d554c21f Author: Kashyap, Desai Date: Wed Sep 23 17:35:41 2009 +0530 [SCSI] mpt2sas: Freeze the sdev IO queue when firmware sends internal dev reset When receiving the MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET event, the driver will set the tm_busy flag in the sdev private host data, When tm_busy flag is set, the driver will return SCSI_MLQUEUE_DEVICE_BUSY, effectly freezing the IO to the device. The tm_busy flag is cleared with the MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET event. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 463217bfecbf5d17a30133a55553d94aa9fc255e Author: Kashyap, Desai Date: Mon Oct 5 15:53:06 2009 +0530 [SCSI] mpt2sas : PPC (power pc) endian bug fix's (1) EEDP(End to End data protection) was not working. This was due to not setting EEDP BlockSize and Flags to little endian format in the message frame. (2) Some expander sysfs attributes were not getting set properly. The sas format was not getting set due to endian issues with sas_format field in the struct rep_manu_reply. Since sas_format was not set properly, the component_vendor_id, component_revision_id, and component_id were not set. (3) In _transport_smp_handler: we don't need to convert the smid from little endian to cpu prior to calling mpt2sas_base_free_smid, because its allready in cpu format. (4) Some loginfos and ioc status were not xonverted from little endian to cpu. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit ec9472c74c3074541ea8389517f406b5c7ad0632 Author: Kashyap, Desai Date: Wed Sep 23 17:34:13 2009 +0530 [SCSI] mpt2sas: mpt2sas_base_get_sense_buffer_dma should be returning little endian cpu_to_le64 when calculating the physical dma address. This will properly handle endianess on big endian systems. The return value of this function was changed from dma_addr_t to __le64. Remove the typecasting of u32 when setting the SenseBufferLowAddress, since its already in __le32 format. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e4e7c7ed3485bc530499158e28539e00d47f9ef2 Author: Kashyap, Desai Date: Wed Sep 23 17:33:14 2009 +0530 [SCSI] mpt2sas: Return DID_TRANSPORT_DISRUPTED in nexus loss,SCSI_MLQUEUE_DEVICE_BUSY if device is busy 1 Its observed that the OS was sending request to the driver after it had been put into blocking state, so the driver was modified to return SCSI_MLQUEUE_DEVICE_BUSY. 2. Driver will return DID_TRANSPORT_DISRUPTED when sdev is haivng nexus loss. This occurrs when sdev is blocked, between the MPI2_EVENT_SAS_TOPO_RC_DELAY_NOT_RESPONDING and MPI2_EVENT_SAS_TOPO_RC_TARG_NOT_RESPONDING events. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 96b681c6ad3f2f5013c0ffc558969ee6ac8c450b Author: Kashyap, Desai Date: Wed Sep 23 17:32:06 2009 +0530 [SCSI] mpt2sas: Retrieve the ioc facts prior to putting the controller into READY state The driver needs to retrieve the ioc facts prior to putting the controller into READY state. The current design is calling ioc facts after putting the controller into READY state, which means the driver is sending a diag reset instead of message unit reset becuase the capability information is not yet available. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit ec6c2b43b08f29e08ed5440abae1ec18d80fa8b7 Author: Kashyap, Desai Date: Wed Sep 23 17:31:01 2009 +0530 [SCSI] mpt2sas: Added new info messages for IR and Expander events. (1) for the MPI2_EVENT_IR_OPERATION_STATUS event, add support to print "background init" or "make data consistent" for debugging purposes. If the RAIDOperation is set to a value not defined, then don't print anything (2) for the MPI2_EVENT_SAS_DEVICE_STATUS_CHANGE event, add support to print "expander reduced functionality" and "expander reduced functionality complete", which are new events. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e0077d607f716f68d15ab6fbf3d9f4c41434142d Author: Kashyap, Desai Date: Wed Sep 23 17:30:22 2009 +0530 [SCSI] mpt2sas: Limit the max_depth to 32 for SATA devices which are not part of volume Added sanity check in _scsih_change_queue_depth to limit the max_depth to 32 for SATA devices. This is only for physical devices not part of a volume. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit a8ebd76c49fa45d93a736ae0b0f192b554cc8c3f Author: Kashyap, Desai Date: Wed Sep 23 17:29:29 2009 +0530 [SCSI] mpt2sas: Added support to set the TimeStamp when sending ioc_init Added support to set the TimeStamp when sending ioc_init. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 1b01fe3aa58b114b2dc296676023451c6434561e Author: Kashyap, Desai Date: Wed Sep 23 17:28:59 2009 +0530 [SCSI] mpt2sas: Add Extended Type for Diagnostic Buffer support Added tests for registry entries of EXBuffSize, EXImmed, and EXType to support the new Extended diag buffer type. Modified code where necessary to handle the new ExtendedType field in the F/W diagnostic Post and Release messages. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 32e0eb569df09a8cb790cf370ee498721d88e5c6 Author: Kashyap, Desai Date: Wed Sep 23 17:28:09 2009 +0530 [SCSI] mpt2sas: Added command line option diag_buffer_enable. Added command line option diag_buffer_enable. When the command line option is set, the driver will automatically post diag buffers at driver load time. The command line option diag_buffer_enable is bitwise, so it's possible to enable both and/or snapshot + trace buffers. For trace, the driver will allocate 1MB buffer, whereas for snapshot its 2MB. The purpose for this is so the enduser doesn't have to manually use an application to setup diag buffers for debugging firmware related issues. Here is some examples trace: # insmod mpt2sas.ko diag_buffer_enable=1 snapshot: # insmod mpt2sas.ko diag_buffer_enable=2 both trace and snapshot: # insmod mpt2sas.ko diag_buffer_enable=3 Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit cef7a12cd1e0647ce2b566a76bbf4cd132b9118d Author: Kashyap, Desai Date: Wed Sep 23 17:27:41 2009 +0530 [SCSI] mpt2sas: Fixed some of the comment Fixed some of the comments sections for some of the function so "@ioc: pointer to scsi command object" was changed to "@ioc: per adapter object" Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit fa7f31673583a6e0876f8bb420735cdd8a3ffa57 Author: Kashyap, Desai Date: Wed Sep 23 17:26:58 2009 +0530 [SCSI] mpt2sas: Support for stopping driver when Firmware encounters Added command line option and shost sysfs attribute called mpt2sas_fwfault_debug. When enduser writes a "1" to this parameter, this will enable support in the driver for debugging firmware timeout related issues. This handling was added in three areas (a) scsi error handling callback called task_abort, (b) IOCTL interface, and (c) other timeouts that result in diag resets, such as manufacturing config pages. When this support is enabled, the driver will provide dump_stack to console, halt controller firmware, and panic driver. The end user probably would want to setup serial console redirection so the dump stack can be seen. Here are the three methods for enable this support: (a) # insmod mpt2sas.ko mpt2sas_fwfault_debug=1 (b) # echo 1 > /sys/module/mpt2sas/parameters/mpt2sas_fwfault_debug (c) # echo 1 > /sys/class/scsi_host/host#/fwfault_debug (where # is the host number) Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 9fec5f9fc2fbe7c6e39db01ae296528d9a20a5b1 Author: Kashyap, Desai Date: Wed Sep 23 17:26:20 2009 +0530 [SCSI] mpt2sas: Adding MPI Headers - revision L The new headers contain the following changes: (1) Added IO Unit Page 7. (2) Added new device ids for SAS2208. (3) Added SAS IO Unit Page 5. (4) Added partial and slumber power management capable flags to SAS Device Page 0 Flags field. (5) Added PhyInfo defines for power condition. (6) Added Ethernet configuration pages. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit db27136a89d061bf9dceb28953a61a8ef862ca7f Author: Kashyap, Desai Date: Wed Sep 23 17:24:27 2009 +0530 [SCSI] mpt2sas: New device SAS2208 support is added Added device ids range for { 0x80 - 87 } , modified mpi/mpi2_cnfg.h containing MPI2_MFGPAGE_DEVID_SAS2208_X. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 9982f59450930138eb0bf9a4ebf865e8c06ba705 Author: Kashyap, Desai Date: Wed Sep 23 17:23:07 2009 +0530 [SCSI] mpt2sas: Add support in the driver to check for valid response info Add support in the driver to check for valid response info in the scsi state, then check to see if the response code is MPI2_SCSITASKMGMT_RSP_INVALID_FRAME; when this condition occurrs, the driver will return DID_SOFT_ERROR. A return code of DID_SOFT_ERROR will result in a retry at the scsi-mid layer level. An additional change added to obtain the response code from the 1st byte of the response info instead of last. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit a28eb222e3890a4ce190a430e24c483d2b5bb13b Author: Kashyap, Desai Date: Wed Sep 23 17:22:37 2009 +0530 [SCSI] mpt2sas: Expander remove fails when it is processing another expander add. This handles the case where driver receives a expander removal event while it is in the middle of processing an expander add event. The existing implementation will stop processing futher device adds when a expander delete arrives on top of add expander add. Due to a sanity check in the driver, the devices there were not added, were never handshaked to firmware with the device removal handshake protocal. Since the driver didnt' do the handshake, the controller never provide further add events. To fix this issue, the sanity check was removed so the driver will always do the device removal handshake protocal. Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit c5e039be7e81168a9156e801cfef2adae72e775b Author: Kashyap, Desai Date: Wed Sep 23 17:21:29 2009 +0530 [SCSI] mpt2sas: Driver will use sas address instead of handle as a lookup The device driver was not handling updating device handles in all cases across diag resets. To fix this issue, the driver is converted to using sas address instead of handle as a lookup reference to the parent expander or sas_host. Also, for both expanders and sas host, the phy handle will be one unique handle. In the sas host case, the phy handle can be different for every phy, so the change is to set the handle to the handle of the first phy; every phy will be one single sas address(phy 0) instead of a different sas address for every phy(previous implementation). So making one consistent sas address for all the direct attachedports to the sas host, will make it better user experience when using udev /dev/disk/by-path dev nodes Signed-off-by: Kashyap Desai Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 4f65ae36f0291ef97b7d4de2f59b2e68f3c8420b Author: Pavel Vasilyev Date: Thu Oct 29 17:16:00 2009 +0100 agp/amd64: Remove GART dependency on AGP_AMD64 The GART IOMMU code has no strong dependency to the AMD64 AGP code. So the automatic selection of AGP_AMD64 for GART can be removed. Cc: Dave Jones Signed-off-by: Pavel Vasilyev Signed-off-by: Joerg Roedel commit aa3c487f355ff1477b8369d9f0b9860387ae21d4 Author: Jan Engelhardt Date: Thu Oct 29 15:35:10 2009 +0100 netfilter: xt_socket: make module available for INPUT chain This should make it possible to test for the existence of local sockets in the INPUT path. References: http://marc.info/?l=netfilter-devel&m=125380481517129&w=2 Signed-off-by: Jan Engelhardt Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy commit ab0a9735e06914ce4d2a94ffa41497dbc142fe7f Author: Christoph Hellwig Date: Thu Oct 29 14:14:04 2009 +0100 blkdev: flush disk cache on ->fsync Currently there is no barrier support in the block device code. That means we cannot guarantee any sort of data integerity when using the block device node with dis kwrite caches enabled. Using the raw block device node is a typical use case for virtualization (and I assume databases, too). This patch changes block_fsync to issue a cache flush and thus make fsync on block device nodes actually useful. Note that in mainline we would also need to add such code to the ->aio_write method for O_SYNC handling, but assuming that Jan's patch series for the O_SYNC rewrite goes in it will also call into ->fsync for 2.6.32. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit b9d128f1088ea5245109dfc9bbceb128b6371a77 Author: Jens Axboe Date: Thu Oct 29 13:59:26 2009 +0100 block: move bdi/address_space unplug functions to backing-dev.h There's nothing block related about them, the backing device is used by things like NFS etc as well. This gets rid of the need to protect such calls by CONFIG_BLOCK. Signed-off-by: Jens Axboe commit ed146aeb68b6b240a015f3c24c9eea9266d845ec Author: Anuj Aggarwal Date: Wed Sep 23 12:40:31 2009 +0530 ASoC: OMAP3EVM: Use the twl4030_setup_data for headset pop-removal The pop-removal specific values are configured for TWL4030 codec for OMAP3EVM through this patch. Signed-off-by: Anuj Aggarwal Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1c3d20027133f145523a072e84ab55d9132920c9 Author: Peter Ujfalusi Date: Thu Oct 29 13:05:52 2009 +0200 ASoC: TWL4030: Add APLL supply for the capture path Capture path also need the APLL enabled, adding DAPM_SUPPLY for the Virtual ADCs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7729cf749350b04c80ee1652961de238afc9d5b1 Author: Peter Ujfalusi Date: Thu Oct 29 11:58:10 2009 +0200 ASoC: TWL4030: Change APLL powering sequence It seams that certain part of the twl4030 codec needs the APLL enabled before they are enabled. Paths which has any digital processing needs need the APLL enabled before they can function. For example the vibra output will have some random data after it is enabled and before the APLL also enabled. If only analog components are in use (analog bypass), than it seams, that the APLL does not need to be enabled. This lowers the power consumption with around ~0.005A. Adding DAPM_SUPPLY to the Digital playback route and also to the capture route to enable and disable the APLL. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 86139a13ced74b3911c33940f0049b8f97bae07a Author: Jari Vanhala Date: Thu Oct 29 11:58:09 2009 +0200 ASoC: TWL4030: Vibra motor stop fix when it is driven with audio This patch fixes vibrator playing incoherently, when driven with audio. There is something wrong in switch 3 at H-bridge and VIBRA_SET still affects PWM generator. Slowest value fixes things. Signed-off-by: Jari Vanhala Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7e1aa1dcd0d886df72586e3a94b1a7382952f21f Author: Daniel Mack Date: Thu Oct 29 02:24:32 2009 +0100 ASoC: CS4270: export de-emphasis filter as ALSA control The CS4270 codec features an de-emphasis filter for compensation of audio material filtered by an 50/15 uS algorithm. Not sure whether we should always enable it for 44100Hz sampling frequency, but it should at least be configurable by the user. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 26d95b6e300c4847be6ec8bfe817dbd531e94d9a Author: Mark Brown Date: Wed Oct 28 15:47:48 2009 +0000 ASoC: Minor SMDK64xx WM8580 cleanups Fix up some comments, remove all enable_pin() calls (edge widgets are all enabled by default) and mark the microphone as disabled by default since it requires a resistor fit to connect it. Signed-off-by: Mark Brown commit 73ba32320da60b2e872b4f7ba9b7d4fd1218e5b3 Author: Robert Hancock Date: Mon Oct 26 15:41:32 2009 +0000 ide: update Kconfig text to mark as deprecated The current Kconfig text for CONFIG_IDE doesn't give a hint to users that this subsystem is currently in maintenance mode and isn't actively developed. Let's correct this by marking it as deprecated, and also get rid of a bunch of unnecessary text that doesn't really have anything to do with what the option is for. Signed-off-by: Robert Hancock Signed-off-by: David S. Miller commit cbba2fa7b2c512135a5a946ccb112ddf0a1a1b1e Author: Borislav Petkov Date: Sun Oct 11 00:25:19 2009 +0000 ide-tape: remove the BKL Replace the BKL calls in the chrdev_{open,release} interfaces with a simple sleeping mutex. Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit 3f911a6e6b9c6b485a33a680c4ae29d86d2f2a54 Author: Sergei Shtylyov Date: Fri Oct 9 03:36:39 2009 +0000 hpt366: kill unused #define's These two have been long unused but I've just noticed... Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 38bfd8f5bec496e8e0db8849e01c99a33479418a Author: Cyrill Gorcunov Date: Thu Oct 29 02:59:18 2009 -0700 net,socket: introduce DECLARE_SOCKADDR helper to catch overflow at build time proto_ops->getname implies copying protocol specific data into storage unit (particulary to __kernel_sockaddr_storage). So when we implement new protocol support we should keep such a detail in mind (which is easy to forget about). Lets introduce DECLARE_SOCKADDR helper which check if storage unit is not overfowed at build time. Eventually inet_getname is switched to use DECLARE_SOCKADDR (to show example of usage). Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit ed3f2e40f3d438f4a1ec0a898173116cb26f106a Merge: fb699dfd bd6b444 Author: David S. Miller Date: Thu Oct 29 02:47:13 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fb699dfd426a189fe33b91586c15176a75c8aed0 Author: Eric Dumazet Date: Mon Oct 19 19:18:49 2009 +0000 net: Introduce dev_get_by_index_rcu() Some workloads hit dev_base_lock rwlock pretty hard. We can use RCU lookups to avoid touching this rwlock. netdevices are already freed after a RCU grace period, so this patch adds no penalty at device dismantle time. dev_ifname() converted to dev_get_by_index_rcu() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e0c5567d06ecf7777b6c46f4d933a0a6e09a44f3 Author: roel kluin Date: Fri Oct 23 06:09:55 2009 +0000 atm: Cleanup redundant tests on unsigned The variables are unsigned so the `< 0' test always fails, the other part of the test catches wrapped values. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 65a1c4fffaaf5ca166a1263d84ca664d5192cda6 Author: roel kluin Date: Fri Oct 23 05:59:21 2009 +0000 net: Cleanup redundant tests on unsigned optlen is unsigned so the `< 0' test is never true. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 091bb8ab51c668635d1a75359019005921676881 Author: roel kluin Date: Fri Oct 23 05:21:56 2009 +0000 net: Cleanup redundant tests on unsigned If there is data, the unsigned skb->len is greater than 0. rt.sigdigits is unsigned as well, so the test `>= 0' is always true, the other part of the test catches wrapped values. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 50e4fe91a5edbf680853b2ca37300a47ff860d63 Author: Tilman Schmidt Date: Sun Oct 25 09:30:57 2009 +0000 gigaset: convert strcmp chain to table lookup Replace the sequence of strcmp calls for interpreting ZSAU parameter strings by a table of known strings and lookup loop to improve readability. Impact: readability improvement, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit c35a87ff6678f92b12437843e88f9c89437ed4a7 Author: Tilman Schmidt Date: Sun Oct 25 09:30:47 2009 +0000 gigaset: checkpatch cleanup of ev-layer.c On more step towards the holy grail of checkpatch.pl silence. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7891adf18ad9658950e532b840f1d84d8ac6cce2 Author: Tilman Schmidt Date: Sun Oct 25 09:30:37 2009 +0000 bas_gigaset: checkpatch cleanup On the quest for the holy grail of checkpatch.pl silence. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit ae67d7d81436c7e85104d586562b1a220d3cd94b Author: Tilman Schmidt Date: Sun Oct 25 09:30:27 2009 +0000 ser_gigaset: checkpatch cleanup Duly uglified as demanded by checkpatch.pl. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit d9ba9c9125d89e246dc0a0702446528acceb6ddb Author: Tilman Schmidt Date: Sun Oct 25 09:30:17 2009 +0000 gigaset: checkpatch cleanup Dum sanctis checkpatch.pl'ae legibus obsequimur. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 2032e2c2309de02cd67b1d26aa701c2a57c4639f Author: Tilman Schmidt Date: Sun Oct 25 09:30:07 2009 +0000 usb_gigaset: code cleanup Reorganize the code of the Gigaset M10x driver to make it more readable, less redundant, better aligned to the style of other parts of the driver, and cause fewer checkpatch.pl complaints. Impact: code reorganization, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4dd8230acd20cb456cae02696b3da2986faad258 Author: Tilman Schmidt Date: Sun Oct 25 09:29:57 2009 +0000 gigaset: fix bad assumptions about CAPI skbuffs The CAPI interface incorrectly assumed that CAPI messages would always start at the beginning of the data buffer: fix by treating DATA_B3 messages as the link layer header to their payload data. This fix changes the way acknowledgement information is propagated through the hardware specific modules and thereby impacts the ISDN4Linux variant of the driver, too. Also some assumptions about methods not being called from interrupt context turned out to be unwarranted; fix by using dev_kfree_skb_any() wherever non-interrupt context isn't guaranteed. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 22077ebceb44f4097d4677e2a26bc1175143d647 Author: Tilman Schmidt Date: Sun Oct 25 09:29:47 2009 +0000 gigaset: fix format string typo in CAPI dial command A missing dot lead to garbage characters being included in the dial command generated from a CAPI CONNECT_REQ message, which interestingly enough worked anyway, illustrating the resilience of the device. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 6c91191668d32ea15e6950de4ee35b6c75cf4da8 Author: Tilman Schmidt Date: Sun Oct 25 09:29:37 2009 +0000 gigaset: CAPI module readability improvements Replace the "ignoring Additional Info" warning message by better readable ones citing the specific subparameters being ignored. Make parts of the code more readable by using a local cmsg pointer variable. Impact: readability improvement Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit dc343475ed062e13fc260acccaab91d7d80fd5b2 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:27 2009 +0000 Allow disabling of DSACK TCP option per route Add and use no DSCAK bit in the features field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 345cda2fd695534be5a4494f1b59da9daed33663 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:26 2009 +0000 Allow to turn off TCP window scale opt per route Add and use no window scale bit in the features field. Note that this is not the same as setting a window scale of 0 as would happen with window limit on route. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit cda42ebd67ee5fdf09d7057b5a4584d36fe8a335 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:25 2009 +0000 Allow disabling TCP timestamp options per route Implement querying and acting upon the no timestamp bit in the feature field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 1aba721eba1d84a2defce45b950272cee1e6c72a Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:24 2009 +0000 Add the no SACK route option feature Implement querying and acting upon the no sack bit in the features field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 0c3adfb8ec9f85a63556b70f11e0fcf280545951 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:23 2009 +0000 Add dst_feature to query route entry features Adding an accessor to existing dst_entry feautres field and refactor the only supported feature (allfrag) to use it. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 022c3f7d82f0f1c68018696f2f027b87b9bb45c2 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:22 2009 +0000 Allow tcp_parse_options to consult dst entry We need tcp_parse_options to be aware of dst_entry to take into account per dst_entry TCP options settings Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:21 2009 +0000 Only parse time stamp TCP option in time wait sock Since we only use tcp_parse_options here to check for the exietence of TCP timestamp option in the header, it is better to call with the "established" flag on. Signed-off-by: Gilad Ben-Yossef Signed-off-by: Ori Finkelman Signed-off-by: Yony Amit Signed-off-by: David S. Miller commit c871e664ea39363c2a1011ec2dc4bc172dc396a0 Author: Eric Dumazet Date: Wed Oct 28 04:48:11 2009 +0000 ip6mr: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 62808f91237181dbac74c2b5be4fa92adfbbbe40 Author: Eric Dumazet Date: Wed Oct 28 04:37:43 2009 +0000 ipv6 sit: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d17fa6fa81d9be6d2dc69aedfabecf904210cbf4 Author: Eric Dumazet Date: Wed Oct 28 05:21:38 2009 +0000 ipmr: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cf4432f550a0fe4e08e7cd522568cfbae754582c Author: Eric Dumazet Date: Wed Oct 28 05:16:51 2009 +0000 ip6tnl: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8c56ba0530af3d5eee6445dce9dc9296f1f74ed5 Author: Eric Dumazet Date: Wed Oct 28 05:35:35 2009 +0000 bridge: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 59fd5d87a4243a992f3a3e69f3627cf4c509608e Author: Ajit Khaparde Date: Thu Oct 29 01:11:06 2009 -0700 be2net: Add the new PCI IDs to PCI_DEVICE_TABLE. This patch adds the PCI IDs for the next generation chip to the PCI_DEVICE_ID table. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 945eb31337c2a8a09a62dcf5aca260bcde9c2a6c Author: Bruce Allan Date: Wed Oct 28 18:28:30 2009 +0000 e1000e: flow control doesn't re-enable When changing flow control (pause) parameters, the flow control thresholds (i.e. when to send XON/XOFF frames) may not be setup correctly on parts with copper media. Call the existing e1000_set_fc_watermarks() function to set these thresholds. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d6534799410d2b53e5e80b8a90d6a8bab3de30ed Author: Yi Zou Date: Wed Oct 28 18:25:16 2009 +0000 vlan: Add support to netdev_ops.ndo_fcoe_get_wwn for VLAN device Implements the netdev_ops.ndo_fcoe_get_wwn for VLAN device. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61a1fa102ada6d8ee9f2293d126ed9f580ca0751 Author: Yi Zou Date: Wed Oct 28 18:24:56 2009 +0000 ixgbe: Add support for netdev_ops.ndo_fcoe_get_wwn to 82599 Implements the netdev_ops.ndo_fcoe_get_wwn in 82599 if it finds valid prefix for the World Wide Node Name (WWNN) or World Wide Port Name (WWPN), as well as valid SAN MAC address. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit df5c79452f26f2a3d0883a213102515cfeb7aae9 Author: Yi Zou Date: Wed Oct 28 18:24:35 2009 +0000 net: Add ndo_fcoe_get_wwn to net_device_ops Add ndo_fcoe_get_wwn so Fiber Channel over Ethernet (FCoE) can make use of the provided World Wide Port Name (WWPN) and World Wide Node Name (WWNN) from the underlying network interface driver. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 383ff34bebc2eccae71686fbd72e1cd948859675 Author: Yi Zou Date: Wed Oct 28 18:23:57 2009 +0000 ixgbe: Add support for 82599 alternative WWNN/WWPN prefix The 82599 EEPROM supports alternative prefix for World Wide Node Name (WWNN) and World Wide Port Name (WWPN). The prefixes can be used together with the SAN MAC address to form the WWNN and WWPN, which can be used by upper layer drivers such as Fiber Channel over Ethernet (FCoE). Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9de09ace8d518141a4375e1d216ab64db4377799 Merge: 1beee96 6d3f1e1 Author: Ingo Molnar Date: Thu Oct 29 09:02:15 2009 +0100 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up fixes and move base from -rc1 to -rc5. Signed-off-by: Ingo Molnar commit 3ed67776fc23061180896086a206a02be649dd26 Author: Li Zefan Date: Wed Oct 28 17:37:01 2009 +0800 tracing/filters: Fix to make system filter work commit fce29d15b59245597f7f320db4a9f2be0f5fb512 ("tracing/filters: Refactor subsystem filter code") broke system filter accidentally. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <4AE810BD.3070009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b0ef07324310d66f660a311d4a8d669eda74f801 Author: Masami Hiramatsu Date: Tue Oct 27 16:43:19 2009 -0400 perf/probes: Support function entry relative line number Add function-entry relative line number specifying support to perf-probe. This allows users to define probes by line number from entry of the function. e.g. perf probe schedule:16 Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204319.30545.30678.stgit@harusame> Signed-off-by: Ingo Molnar commit 253977b0d87fbb793f12b1661a763ae264028ccf Author: Masami Hiramatsu Date: Tue Oct 27 16:43:10 2009 -0400 perf/probes: Improve probe point syntax of perf-probe This changes probe point syntax of perf-probe as below [:ABS_LN] [ARGS] or [+OFFS|%return][@SRC] [ARGS] And event name and event group name are automatically generated based on probe-symbol and offset as below. perfprobes/SYMBOL_OFFSET[_NUM] Where SYMBOL is the probing symbol and OFFSET is the byte offset from the symbol. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204310.30545.84984.stgit@harusame> Signed-off-by: Ingo Molnar commit 46ab49267d338eb5056d0077e16346509b9e9284 Author: Masami Hiramatsu Date: Tue Oct 27 16:43:02 2009 -0400 perf/probes: Improve command-line option of perf-probe Change command-line option from -P to --add, and accepting probes without --add too. perf probe --add "probe-define" or, just: perf probe "probe-define" Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204301.30545.48600.stgit@harusame> Signed-off-by: Ingo Molnar commit 8030c5f5a57e018fcdeb1f395d7adc123b48ced6 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:53 2009 -0400 perf/probes: Exit searching after finding target function Exit searching after finding real (not-inlined) function, because there should be no same symbol in that CU. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204252.30545.19251.stgit@harusame> Signed-off-by: Ingo Molnar commit dd004c475cd15a5749b04b0283d41ffdfa57d658 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:44 2009 -0400 kprobe-tracer: Compare both of event-name and event-group to find probe Fix find_probe_event() to compare both of event-name and event-group. Without this fix, kprobe-tracer overwrites existing same event-name probe even if its group-name is different. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204244.30545.27516.stgit@harusame> Signed-off-by: Ingo Molnar commit 3f7e454af1dd8b9cea410d9380d3f71477e94f2b Author: Masami Hiramatsu Date: Tue Oct 27 16:42:35 2009 -0400 x86: Add Intel FMA instructions to x86 opcode map Add Intel FMA(FUSED-MULTIPLY-ADD) instructions to x86 opcode map for x86 instruction decoder. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204235.30545.33997.stgit@harusame> Signed-off-by: Ingo Molnar commit e0e492e99b372c6990a5daca9e4683c341f1330e Author: Masami Hiramatsu Date: Tue Oct 27 16:42:27 2009 -0400 x86: AVX instruction set decoder support Add Intel AVX(Advanced Vector Extensions) instruction set support to x86 instruction decoder. This adds insn.vex_prefix field for storing VEX prefixes, and introduces some original tags for expressing opcodes attributes. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204226.30545.23451.stgit@harusame> Signed-off-by: Ingo Molnar commit 82cb57028c864822c5a260f806d051e2ce28c86a Author: Masami Hiramatsu Date: Tue Oct 27 16:42:19 2009 -0400 x86: Add pclmulq to x86 opcode map Add pclmulq opcode to x86 opcode map. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204219.30545.82039.stgit@harusame> Signed-off-by: Ingo Molnar commit 04d46c1b13b02e1e5c24eb270a01cf3f94ee4d04 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:11 2009 -0400 x86: Merge INAT_REXPFX into INAT_PFX_* Merge INAT_REXPFX into INAT_PFX_* macro and rename it to INAT_PFX_REX. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204211.30545.58090.stgit@harusame> Signed-off-by: Ingo Molnar commit 7f387d3f2421781610588faa2f49ae5f1737b137 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:04 2009 -0400 x86: Fix SSE opcode map bug Fix superscripts position because some superscripts of SSE opcode are not put in correct position. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204204.30545.97296.stgit@harusame> Signed-off-by: Ingo Molnar commit 66bd8424cc05e800db384053bf7ab967e4658468 Author: Arnaldo Carvalho de Melo Date: Wed Oct 28 21:51:21 2009 -0200 perf tools: Delay loading symtabs till we hit a map with it So that we can have a quicker start on perf top and even speedups in the other tools, as we can have maps with no hits, so no need to load its symtabs. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256773881-4191-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit eb89bd4f80b9ae7e4d0add925cf66bfbebfee01f Author: Shreyas Bhatewara Date: Wed Oct 28 22:28:26 2009 -0700 vmxnet3: remove duplicate #include Remove duplicate headerfile includes from vmxnet3_int.h Signed-off-by: Shreyas Bhatewara Signed-off-by: Huang Weiyi Signed-off-by: Bhavesh Davda Signed-off-by: David S. Miller commit ff76ec18cabb12a6c8f3c65bd1d23f1a770fe908 Author: Randy Dunlap Date: Wed Oct 28 12:26:39 2009 -0700 tpm: fix header for modular build Fix build for TCG_TPM=m. Header file doesn't handle this and incorrectly builds stubs. drivers/char/tpm/tpm.c:720: error: redefinition of 'tpm_pcr_read' include/linux/tpm.h:35: error:previous definition of 'tpm_pcr_read' was here drivers/char/tpm/tpm.c:752: error: redefinition of 'tpm_pcr_extend' include/linux/tpm.h:38: error:previous definition of 'tpm_pcr_extend' was here Repairs linux-next's commit d6ba452128178091dab7a04d54f7e66fdc32fb39 Author: Mimi Zohar Date: Mon Oct 26 09:26:18 2009 -0400 tpm add default function definitions Signed-off-by: Randy Dunlap Cc: Rajiv Andrade Cc: Mimi Zohar Cc: James Morris Cc: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 024e1a49411a1a7363e65db48edf1b09e9ee68ad Author: Stephen Hemminger Date: Tue Oct 27 19:24:46 2009 -0700 tomoyo: improve hash bucket dispersion When examining the network device name hash, it was discovered that the low order bits of full_name_hash() are not very well dispersed across the possible values. When used by filesystem code, this is handled by folding with the function hash_long(). The only other non-filesystem usage of full_name_hash() at this time appears to be in TOMOYO. This patch should fix that. I do not use TOMOYO at this time, so this patch is build tested only. Signed-off-by: Stephen Hemminger Acked-by: Tetsuo Handa Signed-off-by: James Morris commit be404f0212ffa8f67361f8ee460a25d901d88991 Author: Tejun Heo Date: Thu Oct 8 22:47:30 2009 +0200 PM / freezer: Don't get over-anxious while waiting Freezing isn't exactly the most latency sensitive operation and there's no reason to burn cpu cycles and power waiting for it to complete. msleep(10) instead of yield(). This should improve reliability of emergency hibernation. [rjw: Modified the comment next to the msleep(10).] Signed-off-by: Tejun Heo Signed-off-by: Rafael J. Wysocki commit 0388f251a33ea60937564ad1f27cf77243409f06 Author: Sarveshwar Bandi Date: Wed Oct 28 04:15:20 2009 -0700 be2net: Changes to update ethtool get_settings function to return appropriate values. Update ethtool get_settings function to: - get current link speed settings from controller - get port transceiver type from controller - fill appropriate values for supported, phy_address Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit 7e15b0c9991dfe0bf05a2f8fab9154bb7827622e Author: David Graham Date: Wed Oct 28 04:13:57 2009 -0700 e100: Fix to allow systems with FW based cards to resume from STD Devices with loadable firmware must have their firmware reloaded after the system resumes from sleep, but the request_firmare() API is not available at this point in the resume flow because tasks are not yet running, and the system will hang if it is called. Work around this issue by only calling request_firmware() for a device's first firmware load, and cache a copy of the pointer to the firmware blob for that device, so that we may reload firmware images even during resume. Signed-off-by: David Graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c70948105d4f057b90d4a587246565782e51ed35 Author: Dhananjay Phadke Date: Sat Oct 24 16:04:03 2009 +0000 netxen: update version to 4.0.65 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7e8e5d9718744b817bfea6f020586d7035cc89f4 Author: Dhananjay Phadke Date: Sat Oct 24 16:04:02 2009 +0000 netxen: module firmware hints Add MODULE_FIRMWARE hints for various firmware file types, required by different chip revisions. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c25c0b9b33f681972e0b2abc96b9debdd1ef32a5 Author: Dhananjay Phadke Date: Wed Oct 28 04:11:04 2009 -0700 netxen: update module info Update module info with QLogic signature. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f0e08fac06596a760f074c08521550d93b96336e Author: Dhananjay Phadke Date: Sat Oct 24 16:04:00 2009 +0000 netxen: add PCI IDs for new chip Add PCI vendor and device IDs for QLE8240 and QLE8242 CNA devices. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a9ac07deeb4b880aea3eaccf7ec913ac902aeef9 Author: Dhananjay Phadke Date: Sat Oct 24 16:03:59 2009 +0000 netxen: refactor indirect register access Refactor code to calculate and set indirect access window for control registers in 2MB address space (NX3031 or newer). Use void __iomem * data type for absolute pci addresses. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f50330f90b9aa42b7058650ce66b85f1b443ab11 Author: Amit Kumar Salecha Date: Sat Oct 24 16:03:58 2009 +0000 netxen: support for new firmware file format Add support for extracting firmware from a unified file format which embeds firmware images for all chip revisions. Fallback to orginal file formats if new image is not found. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 516b4df1ce49304c188704decf60275c72d4cae1 Author: Ben Hutchings Date: Wed Oct 28 04:01:46 2009 -0700 via-velocity: Remove private device list via-velocity maintains a list of its devices in order to determine whether a netdev notification applies to one of them. That can be determined simply by checking the netdev_ops pointer, so the list can be removed. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ea84e5555a56e2013687b19b012bcf959d601128 Author: Andreas Petlund Date: Tue Oct 27 03:27:21 2009 +0000 net: Corrected spelling error heurestics->heuristics Corrected a spelling error in a function name. Signed-off-by: Andreas Petlund Signed-off-by: David S. Miller commit ac5e3af9996fb911d4fdff910a8ac3cb7fc63a94 Author: Eric Dumazet Date: Mon Oct 26 01:23:33 2009 +0000 net: sysfs: ethtool_ops can be NULL commit d519e17e2d01a0ee9abe083019532061b4438065 (net: export device speed and duplex via sysfs) made the wrong assumption that netdev->ethtool_ops was always set. This makes possible to crash kernel and let rtnl in locked state. modprobe dummy ip link set dummy0 up (udev runs and crash) Signed-off-by: Eric Dumazet Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit b75c6dbb45a49289b90f885c7fb6d9ac39a21688 Author: Atsushi Nemoto Date: Mon Oct 26 03:46:22 2009 +0000 tc35815: Enable NAPI This driver has NAPI code but it has been disabled. Enable it now. The non-napi code will be removed lator. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 02c5c8ec170a159a563e22c67f8ca111071b8e9f Author: Atsushi Nemoto Date: Mon Oct 26 03:46:21 2009 +0000 tc35815: Fix return value of tc35815_do_interrupt when NAPI enabled Return received count correctly even if tx completed at the same time. Currently NAPI is disabled for this driver so this patch does not fix any real problem. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 31b73ab3efaa9c69bc72e04605c85ff8c8047b11 Author: Figo.zhang Date: Wed Oct 28 03:55:24 2009 -0700 NET/KS8695: add support NAPI for Rx Add support NAPI Rx API for KS8695NET driver. v2, change the Rx function to NAPI. in : Interrupt Enable Register (offset 0xE204) Bit29 : WAN MAC Receive Interrupt Enable Bit16 : LAN MAC Receive Interrupt Enable Interrupt Status Register (Offset 0xF208) Bit29: WAN MAC Receive Status Bit16: LAN MAC Receive Status see arch/arm/mach-ks8695/devices.c: ks8695_wan_resources[] and ks8695_lan_resources[] have IORESOURCE_IRQ , it have define the RX irq, for wan, irq = 29; for lan ,irq = 16. so we can do this read the interrupt status: unsigned long mask_bit = 1 << ksp->rx_irq; status = readl(KS8695_IRQ_VA + KS8695_INTST); Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit d6b9076f1b5dd22b63f0178923f420f4e0f81a8d Author: David S. Miller Date: Wed Oct 28 03:38:54 2009 -0700 igb: Fix warnings in igb_set_ringparam() drivers/net/igb/igb_ethtool.c: In function ‘igb_set_ringparam’: drivers/net/igb/igb_ethtool.c:744: warning: comparison of distinct pointer types lacks a cast drivers/net/igb/igb_ethtool.c:748: warning: comparison of distinct pointer types lacks a cast Casts were to u16 on the constant, but the type of new_{r,t}x_count is u32. Cast to u32 instead. Signed-off-by: David S. Miller commit 559e9c4987e90e278db347b0a2ba423e7e496fd3 Author: Alexander Duyck Date: Tue Oct 27 23:52:50 2009 +0000 igb: cleanup whitespace issues in igb_main.c This patch goes through and cleans up whitespace issues in igb_main.c to help improve readability. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5b043fb08e1b9e10eef7cc41512462f99811e96e Author: Alexander Duyck Date: Tue Oct 27 23:52:31 2009 +0000 igb: open up SCTP checksum offloads to all MACs 82576 and newer Going forward the plan is to have the MACs support SCTP checksum offloads so change the check from == to >=. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c809d2276cb035228cd9e83e2ca7d2b902c61cef Author: Alexander Duyck Date: Tue Oct 27 23:52:13 2009 +0000 igb: limit minimum mtu to 68 to keep ip bound to interface Limit the minimum mtu to 68 in order to prevent ip from being unbound from the interface. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 090b17952826eb3c5d712b6d4f90a292fe4acc93 Author: Alexander Duyck Date: Tue Oct 27 23:51:55 2009 +0000 igb: add pci_dev in few spots to clean up use of dev_err/info/warn This patch relpaces several references to adapter->pdev->dev with just pdev->dev. This allows for cleanup of several multiline dev_err/info calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 330a6d6a7c75e11ca6da52092cfa96cda45d3386 Author: Alexander Duyck Date: Tue Oct 27 23:51:35 2009 +0000 igb: replace unecessary &adapter->hw with just hw where applicable This patch just cleans up some unecessary references to the adapter->hw member when it has already been placed in a local variable named hw. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 42d0781a1337ec5624da0657ba57b734768f489c Author: Alexander Duyck Date: Tue Oct 27 23:51:16 2009 +0000 igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv This patch cleans up some whitespace issues in clean_rx_irq_adv. It also adds NUMA aware page allocation and dma error handling to alloc_rx_buffers_adv. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cdfd01fcc674cc1c0c7b54084d74c2b684bf67c2 Author: Alexander Duyck Date: Tue Oct 27 23:50:57 2009 +0000 igb: cleanup igb xmit frame path This patch cleans up the xmit frame path for igb to better handle xmit frame errors and avoid null pointer exceptions. It also cleans up some whitespace issues found in the xmit frame path. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2e5655e758736488abbe9c024c8cda0e367214e5 Author: Alexander Duyck Date: Tue Oct 27 23:50:38 2009 +0000 igb: cleanup igb.h header whitespace and some structure formatting This patch changes the layout of the ring and adapter structs to fill a few holes in the structure. It also cleans up some whitespace and formatting issues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 645a3abd73c2ac05d375f080d2f58d56e1502562 Author: Alexander Duyck Date: Tue Oct 27 23:50:18 2009 +0000 igb: Remove invalid stats counters There are several counters being used like they are static when in fact they are clear on read. In order to prevent the values from being incorrect I am removing the defunct counters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 25568a531a1bc76fdf968382a4eb65a979186c67 Author: Alexander Duyck Date: Tue Oct 27 23:49:59 2009 +0000 igb: cleanup interrupt enablement in regards to msix_other This patch changes a few things so that instead of firing a link status interrupt directly the get_link_status bit is set and the watchdog is scheduled. In addition the mailbox bit is now only enabled if VFs are enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ee1b9f06dca9c406b159904e9b13ea2dfa5ed037 Author: Alexander Duyck Date: Tue Oct 27 23:49:40 2009 +0000 igb: change queue ordering for 82576 based adapters This patch changes the queue ordering for 82576 adapters so that if VFs are enabled the queues will first be allocated out of the PF pool. Any remaining queues will be allocated out of other VMDq pools. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 439705e1d7281cc8a4631a2dc390df7ad868bad8 Author: Alexander Duyck Date: Tue Oct 27 23:49:20 2009 +0000 igb: cleanup code related to ring resource allocation and free This patch cleans up some of the ring alloc and free code to better handle exceptions such as attempting to free resources on an already freed ring. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f7ba205e823f32e634712323a221b42bfea06efa Author: Alexander Duyck Date: Tue Oct 27 23:48:51 2009 +0000 igb: make tx hang check multiqueue, check eop descriptor This change makes the tx hang check run over all tx queues instead of just queue 0. Also have hang display info on EOP descriptor instead of the descriptor at the start of the chain. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4337e993e13eb2f2e05dd65a3ab25b57c2f89d56 Author: Alexander Duyck Date: Tue Oct 27 23:48:31 2009 +0000 igb: move global_quad_port_a from global into local static define This change moves global_quad_port_a into igb_probe as a static define since it doesn't actually need to be global. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3f9c01648146a256d8238292ac9c63fed7e00473 Author: Alexander Duyck Date: Tue Oct 27 23:48:12 2009 +0000 igb: only process global stats in igb_update_stats This patch moves the update of adapter->net_stats.rx/tx values out of the interrupt routine and into igb_update_stats by just adding together the tx/rx byte/packet counts for the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a6b623e0e5787ba5ffd2a3c4448ff6d1eaa904a9 Author: Alexander Duyck Date: Tue Oct 27 23:47:53 2009 +0000 igb: move vf init into a seperate function This patch moves VF initialization into a seperate function to help improve the readability of igb_probe. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 51466239fb9f95343e88c14475a0f99fe4882c54 Author: Alexander Duyck Date: Tue Oct 27 23:47:35 2009 +0000 igb: rework handling of the vfta and vlvf registers in relation to mng_vlan This patch corrects some errors in how vlans are being handled when vfs start interacting with the management vlans. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d5753f08c5be5440ac0385b5f2518d2630be7b7 Author: Alexander Duyck Date: Tue Oct 27 23:47:16 2009 +0000 igb: rework use of VMOLR in regards to PF and VFs This patch updates the use of the VMOLR to include enabling multicast promiscous for the VFs should they attempt to send over 30 multicast addresses or if they use the new message type to enable multicast promiscuous. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f2ca0dbe077389f061ffa15de9dd7fc96a5b97d2 Author: Alexander Duyck Date: Tue Oct 27 23:46:57 2009 +0000 igb: replace the VF clear_to_send with a flags value In order to support future features it is easiest to replace the clear_to_send boolean with a flag value. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d249be54745259980dcbd898bdfeb7307c9c5e10 Author: Alexander Duyck Date: Tue Oct 27 23:46:38 2009 +0000 igb: use packet buffer sizes from RXPBS register This patch changes the configuration for 82576 so that it uses the actual value of the 82576 rx packet buffer size instead of just assuming the value. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 317f66bdadc31f0c037b91ae7857f5c3d2a4e3e5 Author: Alexander Duyck Date: Tue Oct 27 23:46:20 2009 +0000 igb: misc cleanups within igb_ethtool.c This patch just goes thorugh and does several cleanups on igb_ethtool.c. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c5b9bd5e4f7caea10d113f610b85cc2093cc3179 Author: Alexander Duyck Date: Tue Oct 27 23:46:01 2009 +0000 igb: cleanup some of the code related to hw timestamping The code for the hw timestamping is a bit bulky and making some of the functions difficult to read. In order to clean things up a bit I am moving the timestamping operations into seperate functions. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4fc82adfb01bdee79ec21e44557dc409ef31419a Author: Alexander Duyck Date: Tue Oct 27 23:45:42 2009 +0000 igb: add support for seperate tx-usecs setting in ethtool This patch adds support for a seperate tx-usecs interrupt moderation setting in ethtool which is supported when tx and rx interrupt vectors are sperated. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2845fa13e5cbe708ece7fafe29c91f32c66e4f59 Author: Peter Ujfalusi Date: Wed Oct 28 10:57:05 2009 +0200 ASoC: TWL4030: Change codec_muted to apll_enabled codec_muted is missleading, change it to apll_enabled, which is what it is doing: enabing and disabling the APLL. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 78e08e2f209e5e7777e81919d32cfcddad126cfa Author: Peter Ujfalusi Date: Wed Oct 28 10:57:04 2009 +0200 ASoC: TWL4030: Remove bypass tracking Since ASoC core now handling the codec bias differently there is no need to do the tracking of bypass switch states anymore. Handling of the common bit for analog loopbacks is done with DAPM_SUPPLY for the bypass paths. Now this bit is only enabled when there is a complete analog bypass path, compared to the previous implementation, when the global switch was enabled if there were any of the analog bypass switch was on (regardless if there were complete path or not) Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 9c1bbbaf3eef357b15c0e94085d96f18c6f1bde6 Author: Ben Hutchings Date: Wed Oct 28 02:50:44 2009 -0700 sfc: Really allow RX checksum offload to be disabled We have never checked the efx_nic::rx_checksum_enabled flag everywhere we should, and since the switch to GRO we don't check it anywhere. It's simplest to check it in the one place where we initialise the per-packet checksummed flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5beefb4f7793e5bb4d3527ee6559f8281d7d2b76 Author: Sreenivasa Honnur Date: Wed Oct 28 02:46:54 2009 -0700 vxge: Configure the number of transmit descriptors per packet to MAX_SKB_FRAGS + 1. - Configure the number of transmit descriptors per packet to MAX_SKB_FRAGS + 1. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 0531d7b85177cda05f574ddf0aa4b25050159101 Author: Randy Dunlap Date: Mon Oct 26 12:09:45 2009 +0000 netxen: fix builds for SYSFS=n or MODULES=n When CONFIG_MODULES=n: drivers/net/netxen/netxen_nic_main.c:2751: error: dereferencing pointer to incomplete type drivers/net/netxen/netxen_nic_main.c:2764: error: dereferencing pointer to incomplete type Also needs addition of for sysfs function prototypes or stubs when CONFIG_SYSFS=n. Signed-off-by: Randy Dunlap Acked-by: Dhananjay Phadke Signed-off-by: David S. Miller commit eef6dd65e331d6e91a39b90344c705bbcbe0825e Author: Eric Dumazet Date: Tue Oct 27 07:07:16 2009 +0000 gre: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0694c4c016df34c718b9f9ef6ba5aca2e178163a Author: Eric Dumazet Date: Tue Oct 27 07:06:59 2009 +0000 ipip: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 63c8099d90096db56ee1c66c31f05d4fcfbc1c69 Author: Eric Dumazet Date: Tue Oct 27 07:06:49 2009 +0000 vlan: Optimize multiple unregistration Use unregister_netdevice_many() to speedup master device unregister. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b Author: Eric Dumazet Date: Tue Oct 27 07:06:36 2009 +0000 net: add a list_head parameter to dellink() method Adding a list_head parameter to rtnl_link_ops->dellink() methods allow us to queue devices on a list, in order to dismantle them all at once. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9b5e383c11b08784eb0087617f880077982ef769 Author: Eric Dumazet Date: Tue Oct 27 07:04:19 2009 +0000 net: Introduce unregister_netdevice_many() Introduce rollback_registered_many() and unregister_netdevice_many() rollback_registered_many() is able to perform necessary steps at device dismantle time, factorizing two expensive synchronize_net() calls. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 44a0873d52282f24b1894c58c0f157e0f626ddc9 Author: Eric Dumazet Date: Tue Oct 27 07:03:04 2009 +0000 net: Introduce unregister_netdevice_queue() This patchs adds an unreg_list anchor to struct net_device, and introduces an unregister_netdevice_queue() function, able to queue a net_device to a list instead of immediately unregister it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1d317f90d97ca8e539939ee896bd04c7efe936ca Author: Paul Mundt Date: Wed Oct 28 18:02:15 2009 +0900 sh: perf events: Kill off left over debugging cruft. num_events should be compared > MAX_HWEVENTS and not >=. The latter was used as a debugging test which accidentally slipped in. Signed-off-by: Paul Mundt commit ac44e6694755744fe96442919da1f2c7e87a2a61 Author: Paul Mundt Date: Wed Oct 28 17:57:54 2009 +0900 sh: perf events: Add preliminary support for SH-4A counters. This adds in preliminary support for the SH-4A performance counters. Presently only the first 2 counters are supported, as these are the ones of the most interest to the perf tool and end users. Counter chaining is not presently handled, so these are simply implemented as 32-bit counters. This also establishes a perf event support framework for other hardware counters, which the existing SH-4 oprofile code will migrate over to as the SH-4A support evolves. Signed-off-by: Paul Mundt commit a870a3a485ddf7c0dec549269ed71d169556d61c Author: Jens Axboe Date: Wed Oct 28 09:30:27 2009 +0100 drbd: fix in_flight rw indexing Signed-off-by: Jens Axboe commit cfb1e33eed48165763edc7a4a067cf5f74898d0b Author: Jeff Moyer Date: Fri Oct 2 18:57:36 2009 -0400 aio: implement request batching Hi, Some workloads issue batches of small I/O, and the performance is poor due to the call to blk_run_address_space for every single iocb. Nathan Roberts pointed this out, and suggested that by deferring this call until all I/Os in the iocb array are submitted to the block layer, we can realize some impressive performance gains (up to 30% for sequential 4k reads in batches of 16). Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit 1af60fbd759d31f565552fea315c2033947cfbe6 Author: Jeff Moyer Date: Fri Oct 2 18:56:53 2009 -0400 block: get rid of the WRITE_ODIRECT flag Hi, The WRITE_ODIRECT flag is only used in one place, and that code path happens to also call blk_run_address_space. The introduction of this flag, then, could result in the device being unplugged twice for every I/O. Further, with the batching changes in the next patch, we don't want an O_DIRECT write to imply a queue unplug. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit 5869619cb5b26754574375472fe54a390edf34c7 Author: Jens Axboe Date: Wed Oct 28 09:27:07 2009 +0100 cfq-iosched: fix style issue in cfq_get_avg_queues() Line breaks and bad brace placement. Signed-off-by: Jens Axboe commit 718eee0579b802aabe3bafacf09d0a9b0830f1dd Author: Corrado Zoccolo Date: Mon Oct 26 22:45:29 2009 +0100 cfq-iosched: fairness for sync no-idle queues Currently no-idle queues in cfq are not serviced fairly: even if they can only dispatch a small number of requests at a time, they have to compete with idling queues to be serviced, experiencing large latencies. We should notice, instead, that no-idle queues are the ones that would benefit most from having low latency, in fact they are any of: * processes with large think times (e.g. interactive ones like file managers) * seeky (e.g. programs faulting in their code at startup) * or marked as no-idle from upper levels, to improve latencies of those requests. This patch improves the fairness and latency for those queues, by: * separating sync idle, sync no-idle and async queues in separate service_trees, for each priority * service all no-idle queues together * and idling when the last no-idle queue has been serviced, to anticipate for more no-idle work * the timeslices allotted for idle and no-idle service_trees are computed proportionally to the number of processes in each set. Servicing all no-idle queues together should have a performance boost for NCQ-capable drives, without compromising fairness. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit a6d44e982d3734583b3b4e1d36921af8cfd61fc0 Author: Corrado Zoccolo Date: Mon Oct 26 22:45:11 2009 +0100 cfq-iosched: enable idling for last queue on priority class cfq can disable idling for queues in various circumstances. When workloads of different priorities are competing, if the higher priority queue has idling disabled, lower priority queues may steal its disk share. For example, in a scenario with an RT process performing seeky reads vs a BE process performing sequential reads, on an NCQ enabled hardware, with low_latency unset, the RT process will dispatch only the few pending requests every full slice of service for the BE process. The patch solves this issue by always performing idle on the last queue at a given priority class > idle. If the same process, or one that can pre-empt it (so at the same priority or higher), submits a new request within the idle window, the lower priority queue won't dispatch, saving the disk bandwidth for higher priority ones. Note: this doesn't touch the non_rotational + NCQ case (no hardware to test if this is a benefit in that case). Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit c0324a020e5b351f100569b128715985f1023af8 Author: Corrado Zoccolo Date: Tue Oct 27 19:16:03 2009 +0100 cfq-iosched: reimplement priorities using different service trees We use different service trees for different priority classes. This allows a simplification in the service tree insertion code, that no longer has to consider priority while walking the tree. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit aa6f6a3de18131348f70951efb2c56d806033e09 Author: Corrado Zoccolo Date: Mon Oct 26 22:44:33 2009 +0100 cfq-iosched: preparation to handle multiple service trees We embed a pointer to the service tree in each queue, to handle multiple service trees easily. Service trees are enriched with a counter. cfq_add_rq_rb is invoked after putting the rq in the fifo, to ensure that all fields in rq are properly initialized. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 5db5d64277bf390056b1a87d0bb288c8b8553f96 Author: Corrado Zoccolo Date: Mon Oct 26 22:44:04 2009 +0100 cfq-iosched: adapt slice to number of processes doing I/O When the number of processes performing I/O concurrently increases, a fixed time slice per process will cause large latencies. This patch, if low_latency mode is enabled, will scale the time slice assigned to each process according to a 300ms target latency. In order to keep fairness among processes: * The number of active processes is computed using a special form of running average, that quickly follows sudden increases (to keep latency low), and decrease slowly (to have fairness in spite of rapid decreases of this value). To safeguard sequential bandwidth, we impose a minimum time slice (computed using 2*cfq_slice_idle as base, adjusted according to priority and async-ness). Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 83ab50a56e6ea94627fea83ce7b03332bd4c2f02 Author: Alexander Duyck Date: Tue Oct 27 15:55:41 2009 +0000 igb: cleanup "todo" code found in igb_ethtool.c This patch moves some defines into the e1000_regs.h file since this is the correct place for register defines and not inside of igb_ethtool.c Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4eefa8f0131410eddaca323cd65e1ebefe3b3328 Author: Alexander Duyck Date: Tue Oct 27 15:55:22 2009 +0000 igb: add single vector msi-x testing to interrupt test This change adds testing of the first msix vector to the interrupt testing. This should help with determining the cause of interrupt issues when they are encountered. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ad93d17efe063b6e95f3177fa01706f3b3b15dde Author: Alexander Duyck Date: Tue Oct 27 15:55:02 2009 +0000 igb: make ethtool use core xmit map and free functionality This change adds a clean_rx/tx_irq type function call to the ethtool loopback testing which allows us to test the core transmit and receive functionality in the driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b1a436c34c44c6e3fb03c12545d87b4c2818f31d Author: Alexander Duyck Date: Tue Oct 27 15:54:43 2009 +0000 igb: make tx ring map and free functionality non-static This change makes a minor change to the xmit_frame_ring_adv funcition in that it moves 2 checks from it into the xmit_frame_adv since the checks were not ring specific. In addition it exports the xmit_frame_ring_adv and the unmap_and_free_tx_resource calls so that they can be used by other code such as the ethtool loopback testing calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d7ee5b3a78f57a8ca9ca2392ff5d03f91ec90bdb Author: Alexander Duyck Date: Tue Oct 27 15:54:23 2009 +0000 igb: re-use ring configuration code in ethtool testing Since all of the ring code is now specific to the ring instead of the adapter struct it is possible to cut a large section of code out of the ethtool testing configuraiton since we can just use the existing functions to configure the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 10d8e9073a320a1c9cc13f996bd600b477eb4872 Author: Alexander Duyck Date: Tue Oct 27 15:54:04 2009 +0000 igb: setup vlan tag replication stripping in igb_vmm_control This update adds vlan tag stripping for inter-vf communications to the igb_vmm_control configuration function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d4960307ea63a5625a175cc2d7b192e68e6b4fba Author: Alexander Duyck Date: Tue Oct 27 15:53:45 2009 +0000 igb: delay VF reset notification until after interrupts are enabed This update delays the VF reset notification until after interrupts are enabled. Otherwise there is a chance of having the VF try to reset itself too soon and being ignored by the PF as a result. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 06cf2666c7f5cc4ba4bf2687d041c61ada76fa3c Author: Alexander Duyck Date: Tue Oct 27 15:53:25 2009 +0000 igb: move the multiple receive queue configuration into seperate function This patch moves the multiple receive queue configuration into a seperate function from igb_configure_rx. We can essentially do the configuration for the multiple receive queues just prior to enabling the RX and this will allow us to seperate the queue enablement from the receive queue layout configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e694e964fc1241b4981873bdccce70438d5f0394 Author: Alexander Duyck Date: Tue Oct 27 15:53:06 2009 +0000 igb: place a pointer to the netdev struct in the ring itself This change adds a pointer to the netdev to the ring itself. The idea being at some point in the future it will be possible to support multiple netdevs from a single adapter struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 85ad76b2f9c4956ec90c86298b22bb35c326e772 Author: Alexander Duyck Date: Tue Oct 27 15:52:46 2009 +0000 igb: add a flags value to the ring This patch adds a flags value to the ring that cleans up some of the last remaining items from the ring in order to help seperate it from the adapter struct. By implementing these flags it becomes possible for different rings to support different functions such as rx checksumming. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04a5fcaaf0e12d066411aa54e42591952aa18da7 Author: Alexander Duyck Date: Tue Oct 27 15:52:27 2009 +0000 igb: move alloc_failed and csum_err stats into per rx-ring stat The allocation failed and checksum error stats are currently kept as a global stat. If we end up allocating the queues to multiple netdevs then the global counter doesn't make much sense. For this reason I felt it necessary to move the alloc_rx_buff_failed stat into the rx_stats portion of the rx_ring. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4c844851d15cc08d995179ab5118172711be6eb0 Author: Alexander Duyck Date: Tue Oct 27 15:52:07 2009 +0000 igb: move rx_buffer_len into the ring structure This patch moves the rx_buffer_len value into the ring structure. This allows greater flexibility and the option of doing things such as supporting packet split only on some queues, or enabling virtualization. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 80785298aa5b6f2005a34afb97457ae7a65af270 Author: Alexander Duyck Date: Tue Oct 27 15:51:47 2009 +0000 igb: add pci device pointer to ring structure This patch adds a pci device pointer to the ring structure. The main use of this pointer is for memory mapping/unmapping of the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fce99e341524c204ef3dd3e7c5f77265a7e05ddd Author: Alexander Duyck Date: Tue Oct 27 15:51:27 2009 +0000 igb: change the head and tail offsets into pointers Since we are writting to the head/tail pointers frequently we might as well save ourselves some processing time by converting the head and tail offsets directly to pointers. This will shave a few cycles off the rx/tx path and allows us to move one step closer to the rings being a bit more independant of each other. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 952f72a8ceee3996ef8476a2f05ece1627080c20 Author: Alexander Duyck Date: Tue Oct 27 15:51:07 2009 +0000 igb: move SRRCTL register configuration into ring specific config The SRRCTL register exists per ring. Instead of configuring all of them in the RCTL configuration which is meant to be global it makes more sense to move this out into the ring specific configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6ec43fe635fb5c96fbc0955b2794b74fee69b723 Author: Alexander Duyck Date: Tue Oct 27 15:50:48 2009 +0000 igb: remove rx_ps_hdr_len This patch removes the rx_ps_hdr_len which isn't really needed since we can now use rx_buffer_len less than 1K to indicate that we are in a packet split mode. We also don't need it since we always use a half page for the data buffers when receiving so we always know the size to map/unmap. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 85b430b47736d1f59e8f9efb0e47bc46aeb2b01d Author: Alexander Duyck Date: Tue Oct 27 15:50:29 2009 +0000 igb: move the tx and rx ring specific config into seperate functions This change makes the tx and rx config a bit cleaner by breaking out the ring specific configuration from the generic rx and tx configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d95b7170eca3f95bad939fc9eb365b823c05e39 Author: Alexander Duyck Date: Tue Oct 27 15:50:08 2009 +0000 igb: increase minimum rx buffer size to 1K This update increases the minimum rx buffer size to 1K. The reason for this change is to support SR-IOV and avoid any conflicts with the rings being able to set their own MTU sizes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 094919a4b0c56d6afbfb5ea14567fbb2f8d47554 Author: Alexander Duyck Date: Tue Oct 27 15:49:49 2009 +0000 igb: remove rx checksum good counter Counting packets with a good checksum can cause a significant amount of cache line bouncing due to the shared counter being written to by all of the queues. In order to avoid this I am removing the counter since we still have the checksum failed counter which will tell us if there are any issues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 047e0030f1e601233ae5b03910602ec93c620bce Author: Alexander Duyck Date: Tue Oct 27 15:49:27 2009 +0000 igb: add new data structure for handling interrupts and NAPI Add a new igb_q_vector data structure to handle interrupts and NAPI. This helps to abstract the rings away from the adapter struct. In addition it allows for a bit of consolidation since a tx and rx ring can share a q_vector. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3714a9a026bba09a58e7cf06e0c23c67da6841c2 Author: Kuninori Morimoto Date: Wed Oct 28 06:31:57 2009 +0000 sh: mach-ecovec24: Add USB1 gadget support USB1 can change to host/function by checking PTB3. This patch add USB1 gadget support and check PTB3 when boot, and change name to usb1_common_XXX from usb1_host_XXX. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 273fad2b8248e7eea8fba39555434223dd9216a4 Merge: c182be3 ea1495a Author: Dave Airlie Date: Wed Oct 28 16:08:41 2009 +1000 Merge branch 'drm-next' of ../drm-2.6 into drm-next commit 678b77e265f6d66f1e68f3d095841c44ba5ab112 Author: Jie Yang Date: Tue Oct 27 22:31:19 2009 -0700 atl1c: duplicate atl1c_get_tpd remove duplicate atl1c_get_tpd, it may cause hardware to send wrong packets. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit c86e2eaded39843e1bf4f07d1adfab4494f20894 Author: Anton Blanchard Date: Sun Oct 18 01:24:06 2009 +0000 powerpc: perf_event: Cleanup output by adding symbols Add some dummy symbols for the branches at 0xf00, 0xf20 and 0xf40, otherwise hits end up in trap_0e which is confusing to the user. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 917e407c762ba6d91d1a4bc1c804d518585082a3 Author: Anton Blanchard Date: Sun Oct 18 01:24:29 2009 +0000 powerpc: perf_event: Hide iseries_check_pending_irqs If CONFIG_PPC_ISERIES isn't defined we end up with iseries_check_pending_irqs and do_work at the same address. perf ends up picking iseries_check_pending_irqs which creates confusing backtraces. Hide it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 3cd980dbc1050889acca7306cbcedf79a4ba2f81 Author: Anton Blanchard Date: Sun Oct 18 01:23:28 2009 +0000 powerpc: perf_event: Cleanup copy_page output by hiding setup symbol A lot of hits in "setup" doesn't make much sense, so hide this symbol and allow all the hits to end up in copy_4k_page. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 907b1f45d901c956e4bcd3f27c4f1f25d6fb36b2 Author: Anton Blanchard Date: Mon Oct 26 18:52:24 2009 +0000 powerpc: Export powerpc_debugfs_root Kernel modules should be able to place their debug output inside our powerpc debugfs directory. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit b3c86ee6d128dea7c671380090488887e73fa774 Author: Anton Blanchard Date: Mon Oct 26 18:51:57 2009 +0000 powerpc: Disable HCALL_STATS by default The overhead of HCALL_STATS is quite high and the functionality is very rarely used. Key statistics are also missing (eg min/max). With the new hcall tracepoints much more powerful tracing can be done in a kernel module. Lets disable this by default. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6f26353ca29e96475208bce673efb6a2c58b73f2 Author: Anton Blanchard Date: Mon Oct 26 18:51:09 2009 +0000 powerpc: tracing: Give hypervisor call tracepoints access to arguments While most users of the hcall tracepoints will only want the opcode and return code, some will want all the arguments. To avoid the complexity of using varargs we pass a pointer to the register save area, which contains all the arguments. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit c8cd093a6e9f96ea6b871576fd4e46d7c818bb89 Author: Anton Blanchard Date: Mon Oct 26 18:50:29 2009 +0000 powerpc: tracing: Add hypervisor call tracepoints Add hcall_entry and hcall_exit tracepoints. This replaces the inline assembly HCALL_STATS code and converts it to use the new tracepoints. To keep the disabled case as quick as possible, we embed a status word in the TOC so we can get at it with a single load. By doing so we keep the overhead at a minimum. Time taken for a null hcall: No tracepoint code: 135.79 cycles Disabled tracepoints: 137.95 cycles For reference, before this patch enabling HCALL_STATS resulted in a null hcall of 201.44 cycles! Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6795b85c6a4f690e61e7be31aa150d945c723fb5 Author: Anton Blanchard Date: Mon Oct 26 18:49:14 2009 +0000 powerpc: tracing: Add powerpc tracepoints for timer entry and exit We can monitor the effectiveness of our power management of both the kernel and hypervisor by probing the timer interrupt. For example, on this box we see 10.37s timer interrupts on an idle core: -0 [010] 3900.671297: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3900.671302: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 -0 [010] 3911.042963: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3911.042968: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 -0 [010] 3921.414630: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3921.414635: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 Since we have a 207MHz decrementer it will go negative and fire every 10.37s even if Linux is completely idle. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 1bf4af165050d90ea6659ffb2536ec8ca783aab5 Author: Anton Blanchard Date: Mon Oct 26 18:47:42 2009 +0000 powerpc: tracing: Add powerpc tracepoints for interrupt entry and exit This adds powerpc-specific tracepoints for interrupt entry and exit. While we already have generic irq_handler_entry and irq_handler_exit tracepoints there are cases on our virtualised powerpc machines where an interrupt is presented to the OS, but subsequently handled by the hypervisor. This means no OS interrupt handler is invoked. Here is an example on a POWER6 machine with the patch below applied: -0 [006] 3243.949840744: irq_entry: pt_regs=c0000000ce31fb10 -0 [006] 3243.949850520: irq_exit: pt_regs=c0000000ce31fb10 -0 [007] 3243.950218208: irq_entry: pt_regs=c0000000ce323b10 -0 [007] 3243.950224080: irq_exit: pt_regs=c0000000ce323b10 -0 [000] 3244.021879320: irq_entry: pt_regs=c000000000a63aa0 -0 [000] 3244.021883616: irq_handler_entry: irq=87 handler=eth0 -0 [000] 3244.021887328: irq_handler_exit: irq=87 return=handled -0 [000] 3244.021897408: irq_exit: pt_regs=c000000000a63aa0 Here we see two phantom interrupts (no handler was invoked), followed by a real interrupt for eth0. Without the tracepoints in this patch we would have missed the phantom interrupts. Signed-off-by: Anton Blanchard Acked-by: Steven Rostedt Signed-off-by: Paul Mackerras commit 196f02bf900c5eb6f85d889c4f70e7cc11fda7e8 Author: Anton Blanchard Date: Sun Oct 18 01:13:00 2009 +0000 powerpc: perf_event: Add alignment-faults and emulation-faults software events Hook up the alignment-faults and emulation-faults events for powerpc. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit eecff81d1fcda22cd0029d11fe2a71dceed11dad Author: Anton Blanchard Date: Tue Oct 27 18:46:55 2009 +0000 powerpc: Create PPC_WARN_ALIGNMENT to match PPC_WARN_EMULATED perf_event wants a separate event for alignment and emulation faults, so create another emulation event. This will make it easy to hook in perf_event at one spot. We pass in regs which will be required for these events. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f7d7986060b2890fc26db6ab5203efbd33aa2497 Author: Anton Blanchard Date: Sun Oct 18 01:09:29 2009 +0000 perf_event: Add alignment-faults and emulation-faults software events Add two more software events that are common to many cpus. Alignment faults: When a load or store is not aligned properly. Emulation faults: When an instruction is emulated in software. Both cause a very significant slowdown (100x or worse), so identifying and fixing them is very important. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 81cd5ae303e88a1e9d3a3e0f1fe8abd100edde16 Author: Anton Blanchard Date: Tue Oct 27 18:31:29 2009 +0000 powerpc: perf_event: Enable SDAR in continous sample mode In continuous sampling mode we want the SDAR to update. While we can select between dcache misses and ERAT (L1-TLB) misses, a decent default is to enable both. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit bc284e5d9d6da48934a177db92bf8e09b96a9cb8 Author: Anton Blanchard Date: Mon Sep 21 16:56:10 2009 +0000 powerpc: perf_event: Log invalid data addresses as all 1s When we take an exception and the SDAR isn't synchronised we currently log 0 as the address. Unfortunately this is a pretty common value, so use ~0UL instead. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 5b380ec11d198a07aa6bf3a9e851531e91bf4234 Author: Magnus Damm Date: Tue Oct 27 10:49:55 2009 +0000 sh: add SDHI1 support to ms7724se Add support for cn8 and SDHI1 to the ms7724se board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8013cc9a5d2f6dcb79ffdcf707cf90ba120edfec Author: Magnus Damm Date: Tue Oct 27 10:47:34 2009 +0000 sh: mac address through private data for sh_eth on ms7724se Convert the ms7724se board code to pass the mac address to the sh_eth driver using platform data. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d6ba452128178091dab7a04d54f7e66fdc32fb39 Author: Mimi Zohar Date: Mon Oct 26 09:26:18 2009 -0400 tpm add default function definitions Add default tpm_pcr_read/extend function definitions required by IMA/Kconfig changes. Signed-off-by: Mimi Zohar Reviewed-by: Eric Paris Signed-off-by: James Morris commit bd6b4442ff3cee73f73987cf0c0e66ea677aa075 Author: Vivek Natarajan Date: Tue Oct 27 11:32:52 2009 +0530 ath: Updates for regulatory and country codes. Add a few new country codes and update the regulatory domain for some countries. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d23000cd8992823e06ca0745564f2c25fe923ce4 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:36 2009 -0700 iwlwifi: minor comments changes for wimax co-exist command 'COEX_PRIORITY_TABLE_CMD' host command will be supported for 5000 series and up. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c166b25a5c02d881b1da15f3afe9dc9e56b206a8 Author: Ben Cahill Date: Fri Oct 23 13:42:35 2009 -0700 iwlwifi: make sure device is reset when unloading driver Add unconditional call to apm_ops.stop() to reset device to low power state when unloading driver. Some paths have existed to unload driver *without* resetting device, therefore some errors have persisted through multiple load/unload cycles, until the whole platform gets rebooted; this is an attempt to remedy some of those situations. Sorry, I can't seem to find a bughost.org bug that specifically has these symptoms, but I had it happen recently here. Note that this will *not* fix situations in which the PCI express bus has crashed (evidenced by register reads showing "0xffffffff"), e.g. bughost.org 1855 and 2096; device is unreachable from driver in those cases. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 442464218d93aa0aacc55c3a7ac908ae00abff5f Author: Wey-Yi Guy Date: Fri Oct 23 13:42:34 2009 -0700 iwlwifi: update lowest API version support for 6x00 & 6x50 series For 6x00 and 6x50 series devices, APIv4 is the lowest firmware version driver can support. This is also the lowest API version available to the public so there is no need for backward compatibility support for the earlier API versions. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 570af86e0ab7e7b42b2562ff3209c16ab1ebd5f8 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:33 2009 -0700 iwlwifi: remove duplicated define Duplicated define for listen interval (IWL_CONN_MAX_LISTEN_INTERVAL and IWL_CONN_LISTEN_INTERVAL), remove IWL_CONN_LISTEN_INTERVAL Signed-off-by: Wey-Yi Guy Reported-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7300515d1095aa11731866da7c9b000f2edb4626 Author: Zhu Yi Date: Fri Oct 23 13:42:32 2009 -0700 iwlwifi: reuse page for notification packets For notification packets and SKBs that fail to rx correctly, add them back into the rx_free list so that the pages can be reused later. This avoids allocating new rx pages unnecessarily. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 71c55d90f9733abdf5e4e0bc24f71e189cefeea6 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:31 2009 -0700 iwlwifi: remove unused parameters parameters "len" is not used in both iwl_tx_queue_free() and iwl_cmd_queue_free() functions Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6c5cd9d524a3393f6450ee523f4a942d4404f7de Author: Reinette Chatre Date: Fri Oct 23 13:42:30 2009 -0700 iwlwifi: remove duplicate defines RX_FREE_BUFFERS and RX_LOW_WATERMARK are currently defined in four places. Based on how files are included we only need the definition in iwl-fh.h Signed-off-by: Reinette Chatre Reported-by: Frans Pop Signed-off-by: John W. Linville commit 4a56e9652ec2ffce87b099aa2fc5b4eb2d5b2666 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:29 2009 -0700 iwlwifi: add channel switch support to 5000 series and up Support "channel switch" request by issue "channel switch" host command to uCode. There is no separated "channel switch" indication from mac80211, when detected "IEEE80211_CONF_CHANGE_CHANNEL" flag in iwl_mac_config(), if the station is in "associated" state, then assume "channel switch announcement" IE was received by mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 480e8407dc0bccdd8d7cfe29b8fcaaa21dd20e68 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:28 2009 -0700 iwlwifi: issue ct_kill host command based on device config Using device configuration structure to decide how to configure ct_kill host command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6047b4f939682ae9bf839fd00c80029cb8f073bb Author: Wey-Yi Guy Date: Fri Oct 23 13:42:27 2009 -0700 iwlwifi: choose thermal throttle method based on device config Using device configuration structure to decide the type of thermal throttle method for the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c8c24872c6a90ef0298491a1c14326861ab74cab Author: Wey-Yi Guy Date: Fri Oct 23 13:42:26 2009 -0700 iwlwifi: increase max tfd payload size Increase the size of TFD_MAX_PAYLOAD_SIZE (the size of iwl_device_cmd) to accommodate iwl6000_channel_switch_cmd data structure. Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 29b1b2688fd71346f78f175d9669c006686b6dc3 Author: Zhu Yi Date: Fri Oct 23 13:42:25 2009 -0700 iwlwifi: fix use after free bug for paged rx In the paged rx patch (4854fde2), I introduced a bug that could possibly touch an already freed page. It is fixed by avoiding the access in this patch. I've also added some comments so that other people touching the code won't make the same mistake. In the future, if we cannot avoid access the page after being handled to the upper layer, we can use get_page/put_page to handle it. For now, it's just not necessary. It also fixed a debug message print bug reported by Stanislaw Gruszka . Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 52aa081c40324ecb04a47864e4e56dafc5a72a34 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:24 2009 -0700 iwlwifi: specify the valid tx/rx chain in device config structure Specify both Tx and Rx chain in device configuration structure instead of hard code in set_hw_params() for 4965 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 456d0f76727ba6f97aa1cee63f1bae84642768c4 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:23 2009 -0700 iwlwifi: update bt co-exit configuration parameter Adding parameter ranges for bt co-exist configuration command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1ed2a3d29ac304092f588a47a9ed2b83d4d8c835 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:22 2009 -0700 iwlwifi: separate led function from statistic notification Detach led background task from statistic notification routine. if led blinking is required; the blink rate is based on the traffic condition. It do not relate to statistics notification. In addition to that, there is not a requirement for statistics notification has to occur all the time. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fadb3582a38c33d0f7c58ab7905d4dbc67f4c4d9 Author: Ben Cahill Date: Fri Oct 23 13:42:21 2009 -0700 iwlwifi: consolidate apm_init() functions Consolidate most iwlXXXX_apm_init() functions into single iwl_apm_init(). Keep iwl3945_apm_init(), but leverage iwl_apm_init() for most functionality. Update 4965 init sequence to follow most recent factory recommendations. Add following members to struct iwl_cfg to guide the init sequence: pll_cfg_val (replaces needs_pll_cfg), set_l0s, use_bsm Move L0S enable/disable from nic_config() functions to iwl_apm_init(). This satisifies the "FIXME: put here L1A -L0S w/a" notice, and complies with factory-recommended sequence. Add debug info message in iwl_apm_init(), and symmetrical message in iwl_apm_stop(). Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 065e63b00cf13919010bbeff48f7a120033be448 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:20 2009 -0700 iwlwifi: fix gain computation for 5000 series and up In Rx gain balancing (chain noise) computation for 5000 series and up, the delta gain calculation should use the average noise of default chain, not "chain 0" which do not exist for all the devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a5c3d61993f56daf15c35bea8d3943f4e835638 Author: Jay Sternberg Date: Fri Oct 23 13:42:19 2009 -0700 iwlwifi: add missing commands to syslog messages Two commands missing from list of commands such that when debug is enabled, these commands are shown as UNKNOWN. Missing commands are TX_ANT_CONFIGURATION_CMD and TEMPERATURE_NOTIFICATION. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fef0640e1e5d5f79c48d1de1f54ed285429b4a6c Author: Holger Schurig Date: Thu Oct 22 15:30:59 2009 +0200 libertas: remove some references to IW_MODE_abc ... in pursue to quaff the wide-spread references to WEXT constants. When setting SNMP_MIB_OID_BSS_TYPE, wext.c can directly calculate the value the firmware wants. Reading of SNMP_MIB_OID_BSS_TYPE doesn't happen anywhere, so no need to convert the firmware value into WEXT values anyway. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e93156e7c4c3e2be355cac27c58664e4385c58fd Author: Holger Schurig Date: Thu Oct 22 15:30:58 2009 +0200 libertas: sort and categorize entries in decl.h This now makes decl.h only contain declarations for functions that don't have their own *.h file. No function change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 560c63383f060b5ea68834e4720ab7bfb4303ff7 Author: Holger Schurig Date: Thu Oct 22 15:30:57 2009 +0200 libertas: move mic failure event to wext.c ... because for cfg80211 we'll need a completely different implementation. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit fea2b8ec8192c62dbf5347c873cb1c8a87717a6a Author: Holger Schurig Date: Thu Oct 22 15:30:56 2009 +0200 libertas: move SIOCGIWAP calls to wext.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8ec97cc803e1d52022e916074415acaec276288c Author: Holger Schurig Date: Thu Oct 22 15:30:55 2009 +0200 libertas: remove "struct cmd_ds_gen" It was only used as a source for S_DS_GEN, but the size of this struct is equal to the size of "struct cmd_header". Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b856f73b39ca6b619e6e8d088141aec3ff62852c Author: Holger Schurig Date: Thu Oct 22 15:30:54 2009 +0200 libertas: remove handling for CMD_GET_TSF ... which just resided as an old-style command in cmd/cmdresp, but was nowhere useed. If we ever need it, we can re-add it as a newstyle command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit f57bd284e435d1ddf69b4266f63d856865152271 Author: Holger Schurig Date: Thu Oct 22 15:30:53 2009 +0200 libertas: remove handling for CMD_802_11_LED_GPIO_CTRL ... which just resided as an old-style command in cmd/cmdresp, but was nowhere useed. If we ever need it, we can re-add it as a newstyle command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6e85e0b7ab1cafd6ff63c391d231b5a39934802e Author: Holger Schurig Date: Thu Oct 22 15:30:52 2009 +0200 libertas: move lbs_send_iwevcustom_event() to wext.c ... because it's purely a WEXT function. No functional change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d0de37417e51219d7d56a452d18fa7b829342fcc Author: Holger Schurig Date: Thu Oct 22 15:30:51 2009 +0200 libertas: move association related commands into assoc.c That's because the new cfg80211 implementation will provide cleaner implementations. No functional changes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c14951fec6c292dca60e3cf8ab0edfdf11e6c0e2 Author: Holger Schurig Date: Thu Oct 22 15:30:50 2009 +0200 libertas: get current channel out of priv->curbssparams ... as priv->curbssparams won't exist once libertas+cfg80211 lands. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5e047692245c7b8d338ddeece156721d594ca985 Author: Holger Schurig Date: Thu Oct 22 15:30:49 2009 +0200 libertas: sort variables in struct lbs_private Having the variables in logical groups allows us to easier #ifdef stuff out. No functional change. Signed-off-by: John W. Linville commit 2d46502dce3c79c3c15ac537cb271911f58d12d1 Author: Holger Schurig Date: Thu Oct 22 15:30:48 2009 +0200 libertas: move scan/assoc related stuff Another cfg80211-preparation patch: removes some code/definitions from main.c and dev.h and put's it into assoc.c/.h, scan.c/.h. No function change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 243e84e91ed810f7dca5ba1c2d1a611811948566 Author: Holger Schurig Date: Thu Oct 22 15:30:47 2009 +0200 libertas: change IW_ESSID_MAX_SIZE -> IEEE80211_MAX_SSID_LEN Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit f4228b4c2e5864ee9d2051176beb2bd5a49a15cc Author: Holger Schurig Date: Thu Oct 22 15:30:46 2009 +0200 libertas: remove unused 11d.h as well, priv->countryinfo Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d37b4fdd43f7e5686c40181f33a50a7ee03ddbd8 Author: Holger Schurig Date: Thu Oct 22 15:30:45 2009 +0200 libertas: remove unused 11d code Most of the 11d code was protected with an "if (priv->enable11d)" clause. But there was no code that anywhere that was able to set this variable to true. So all 11d code was dead for almost a year and no one complained. That's enought incentive to remove this code. Besides removing old cruft, we gain back the 11d capability in a common way when we merge the cfg80211 functionality. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7f4013f09654216653121f216bd0257f460f5dcc Author: Benoit PAPILLAULT Date: Thu Oct 22 12:04:52 2009 +0200 zd1211rw: Fix TX status reporting in order to have proper rate control First, we reduce the number of hardware retries to 0 (ie 2 real retries for each rate). Next, when we report the retries to mac80211, we always report a retry count of 1 (it seems to be 2 in fact, but using 2 seems to lead to wrong performance for some reason). We use a state machine to determine the real fate of a packet based on the 802.11 ACK and what the Zydas hardware is saying when a real retry occurs. The real retry rates are encoded in a static array. It has been tested with both zd1211 and zd1211b hardware. Of course, since the Zydas hardware is not reporting retries accurately, we are just doing our best in order to get the best performance (ie higher throughput). Signed-off-by: Benoit PAPILLAULT Signed-off-by: John W. Linville commit 287d37412035d003430f69a828c98b1cc6ee6d60 Author: Luciano Coelho Date: Wed Oct 21 14:03:46 2009 +0300 wl1271: use ieee80211_rx_ni() Use the new ieee80211_rx_ni() function instead of ieee80211_rx(). Since we use a workqueue to handle the RX path, we need to call the new function, which disables bottom half handling. This patch fixes the NOHZ: local_softirq_pending messages. CC: Kalle Valo Signed-off-by: Luciano Coelho Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 6b9ac4425d6ec871faf54540e0f1c5ff420a8f29 Author: Rui Paulo Date: Tue Oct 20 21:21:48 2009 +0100 mesh: use set_bit() to set MESH_WORK_HOUSEKEEPING. This makes the mesh housekeeping timer work properly on big endian systems. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 68676df00d956e191c442cb697154a7a18a1e054 Author: Christian Lamparter Date: Sat Oct 17 21:56:55 2009 +0200 ar9170: don't filter BlockACK frames The current A-MPDU tx_status report mechanism is too inaccurate. With this patch BlockACK frames show now up to the driver and can be processed. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 731d6bfc2d201958cfa3d08c7acff218497bbd50 Author: Christian Lamparter Date: Sat Oct 17 21:56:51 2009 +0200 ar9170usb: atomic pending urbs counter This patch follows "ar9170: atomic pending A-MPDU counter" idea and converts another critical counter to atomic_*. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 02bdf5b48a2cd90a5d036eab68e6f65adb200140 Author: Christian Lamparter Date: Sat Oct 17 21:56:43 2009 +0200 ar9170: atomic pending A-MPDU counter A ref-counting bug emerged after testing ar9170usb's HT implementation on a bigger SMP/SMT system without the usual _debugging_ overhead. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4ad177b5c860dc0b1083eccc55957daf4a116b90 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:58 2009 -0700 iwlwifi: rework for static power save For static power save, the actual intervals are calculated by driver based on the default table and DTIM flag, then sent to uCode when the scheme is changed. Three tables are defined based on DTIM period. 1. DTIM 0 - 2 2. DTIM 3 - 10 3. DTIM > 11 The actual number of DTIM a station may miss may not exceed the following: . Only 1 DTIM may be skipped at PI=4 when allowed . Only 2 DTIMs may be skipped at PI=5 when allowed . DTIM may be skipped only 5 sec after last activity . DTIM may be skipped only 30 sec after connection establishment Only allow user to override the power_level when rf is ready to make sure power level gets changed upon request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9444b188022418c624ce32584c3b9544b500d15e Author: Wey-Yi Guy Date: Fri Oct 16 14:25:57 2009 -0700 iwlwifi: no chain noise support for 6x50 series For initial bring up of 6x50 series NICs, no chain noise support in uCode, this feature will be added in the later stage of development. Two chain noise related functions are removed from 6x50 series: 1. gain computation 2. chain noise reset Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 32004ee42fced8b2372dd2f93e65cc9d71e8c4bf Author: Wey-Yi Guy Date: Fri Oct 16 14:25:56 2009 -0700 iwlwifi: set auto clock gate disable bit for 6x00/6x50 series For 6x00 and 6x50 series NIC with OTP shadow RAM, set auto clock gate disable bit when initializing OTP access. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8d9698b3e6ce3c50f9ec5a0aaea4da82d5af7779 Author: Reinette Chatre Date: Fri Oct 16 14:25:55 2009 -0700 iwlagn: store station rate scale information in mac80211 station structure Currently mac80211 initializes the rate scaling before notifying the driver of the station's existence. The driver dealt with this by not relying on mac80211's station notifications and instead mixing this functionality with the rate scaling code and other places. To clean this up the driver needs to do rate scaling initialization after being notified of the station, this can be done if the rate scaling information forms part of the station information passed from mac80211 to driver. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cc1282f63b53d0967bd96ed56aa3d2463dc4b4b6 Author: Reinette Chatre Date: Fri Oct 16 14:25:54 2009 -0700 iwlwifi: move rate scaling structures to header file Move to header file so they can be included and used in other parts of the driver. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0b6e2e8cbc6026d3d6d3087032f5eceafaee0b8 Author: Reinette Chatre Date: Fri Oct 16 14:25:53 2009 -0700 iwlwifi: move iwl_setup_mac to iwlagn This function is only used in iwlagn so there is no need to have it in iwlcore. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3ab312a893bbfc0fad7b1b644b3d477905773b1a Author: Wey-Yi Guy Date: Fri Oct 16 14:25:52 2009 -0700 iwlwifi: fix incorrect otp blocks number for 6x50 series For 6x50 series, number of OTP blocks is different from 6x00 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 32b7e244f2b1082ac0a1cda1b088574f2d590496 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:51 2009 -0700 iwlwifi: identify eeprom version for 6x50 series NIC Adding support for 6x50 series EEPROM version check, 6x50 is wifi/wimax combo device which has different EEPROM map Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c09430abed4159e5c56aaea257d040f7452daba6 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:50 2009 -0700 iwlwifi: show current power save status reported by uCode Power save request is sent from driver to uCode, but there is no indication from uCode about the current device power save state. Reading GP_CNTRL register bit 25:24 to show the current power save status 00: no power save 01: MAC power down 10: PHY power down 11: Error The uCode could switch in and out of power save mode in the order of once per 100-300 ms in many cases. The reading here should just be used for reference on the current uCode power save status. Do not confuse this reading with the PowerSave set by driver and mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f80989e8b7f79d8e916b14600488489bdd5569f Author: Abhijeet Kolekar Date: Fri Oct 16 14:25:49 2009 -0700 iwl3945: disable all tx fifos Disable the all the tx fifos while stopping the tx queues. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9a493e8f4d78fc3f2494fa952500b720c86737d8 Author: John W. Linville Date: Tue Oct 27 15:15:05 2009 -0400 wl1251: re-disable PG10 chips "wl1251: add support for PG11 chips." accidentally enabled PG10 chips as well... Reported-by: Kalle Valo Signed-off-by: John W. Linville commit 72f5f457564e8ebc6c38ee4f98ee59cd03c2f614 Author: John W. Linville Date: Fri Oct 16 14:35:51 2009 -0400 b43: use ieee80211_rx_ni() Convert to new use ieee80211_rx_ni() routine rather than open-coded version. Signed-off-by: John W. Linville commit 8ef37f1cb24bfc89297eab6cd6f1e1096d954139 Author: Holger Schurig Date: Fri Oct 16 17:34:22 2009 +0200 libertas: remove unused lbs_cmd_802_11_inactivity_timeout() Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a3cbfb08ca634019516c91f3d5266b18e3dbbf77 Author: Holger Schurig Date: Fri Oct 16 17:33:56 2009 +0200 libertas: make lbs_get_channel() static Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit bca61f8a4df69949cc7426b39daa867f5274a9b8 Author: Holger Schurig Date: Fri Oct 16 17:33:23 2009 +0200 libertas: harmonize cmd.h * move declarations for functions of cmd.c/cmdresp.c into cmd.h * move declarations from cmd.h that are in main.c to decl.h * group command functions Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9e66e701d0e42efd548f0f7249af8a56f8e07b67 Author: Holger Schurig Date: Fri Oct 16 17:32:16 2009 +0200 libertas: cleanup host.h and hostcmd.h Also remove some unused definitions and make tab usage consistent. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit b8fcf590939f0aa24d43bdbdae7c963f31ba90bd Author: Zhu Yi Date: Fri Oct 16 13:19:00 2009 +0800 iwmc3200wifi: handle coexistence radio notification Handle WiFi/WiMax coexistence radio preemption notification event. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5dc53163c24ad288cfa2369b14a073992e069908 Author: Samuel Ortiz Date: Fri Oct 16 13:18:59 2009 +0800 iwmc3200wifi: Set wiphy firmware version Our wiphy firmware version is a combination of the UMAC and LMAC ones. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7fd6b12f329b7ec1c1e3ad49d701d2ac7ab42d9e Author: Samuel Ortiz Date: Fri Oct 16 13:18:58 2009 +0800 iwmc3200wifi: Support unexpected reboot barker We can receive unexpected reboot barker at any time, and we're supposed to reset the whole device then. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9829e1b510214956bc9d5e278be49d781e1a6fbf Author: Samuel Ortiz Date: Fri Oct 16 13:18:57 2009 +0800 iwmc3200wifi: Try shared auth when open WEP fails When we fail to associate with an open WEP AP, we fall back to shared auth. This allows us to support joining a shared auth WEP AP with iwconfig. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 56e3f085f5b5e49cca37a3d1b0aa4266b984eb12 Author: Samuel Ortiz Date: Fri Oct 16 13:18:56 2009 +0800 iwmc3200wifi: Do not handle wifi command if the interface is not ready When resetting or bringing the interface down, we should just reject any wifi related command. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 708567e0723f3a217286c2b60805af6de360ec50 Author: Samuel Ortiz Date: Fri Oct 16 13:18:55 2009 +0800 iwmc3200wifi: Check for cmd pointer before dereferencing it The wifi_if_wrapper notification handling code uses a cmd pointer without checking if it's valid or not. We're dereferencing it because we assume that we only get to that point if there was a pending command for us. That's not always true, so we'd better check. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f96cca8483c1b0bcc8002dc466159bf8fd53ca47 Author: Samuel Ortiz Date: Fri Oct 16 13:18:54 2009 +0800 iwmc3200wifi: SDIO disable race fix When calling sdio->bus_disable(), we are flushing the command lists before disabling the sdio function. We can thus potentially get a command response after having flushed the command list. To avoid that race, we have to call iwm_reset() after disabling the sdio function. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 88e6195a911bce85adcc14e8377aa619e8054ab2 Author: Samuel Ortiz Date: Fri Oct 16 13:18:53 2009 +0800 iwmc3200wifi: Tx power setting We can now set the Tx power from e.g. iwconfig. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7eae165e2d7dd32e88a641c0f38b2be840bcae07 Author: Samuel Ortiz Date: Fri Oct 16 13:18:52 2009 +0800 iwmc3200wifi: Update fixed size config definitions We need to be in sync with the latest firmware API. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 05f9589cd37be9ead62a92755cd86f14b247229d Author: Samuel Ortiz Date: Fri Oct 16 13:18:51 2009 +0800 iwmc3200wifi: Update statistics notification structure The latest firmware adds a ht_rates and a chain_energy field. The latter is needed as we want to eventually support RSSI/antenna handling. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 69cf6e2d5bd90436a0fa6cef2f4d65583faef388 Author: Samuel Ortiz Date: Fri Oct 16 13:18:50 2009 +0800 iwmc3200wifi: Improve rx debug We display the correct DROP/RELEASE string for each rx packets, and when it's dropped we also display the reason. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6a79c9f62a87e39a265f9b855911fbc1f094ded0 Author: Samuel Ortiz Date: Fri Oct 16 13:18:49 2009 +0800 iwmc3200wifi: Profile flags can be WPA1 or WPA2 not both UMAC will ASSERT if the profile security flag is WPA1 | WPA2, so we can only accept one of those. Moreover wpa_s wext and nl80211 drivers dont try to send WPA1 | WPA2, but only one at a time. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e85498b21d0372a00f31ab9f7c0d215c32c9fad5 Author: Samuel Ortiz Date: Fri Oct 16 13:18:48 2009 +0800 iwmc3200wifi: CT kill support We set the initial CT (Temperature control) value to 110 degrees. If the chip goes over that threshold, we hard block the device which will turn it down. At the same time we schedule a 30 seconds delayed work that unblock the device (and userspace is supposed to bring it back up), hoping that the chip will have cooled down by then... Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a82aedbf1b043f7a7474aa9b6d223104ac51827a Author: Samuel Ortiz Date: Fri Oct 16 13:18:47 2009 +0800 iwmc3200wifi: WPS support By setting the WSC profile flag, we now support WPS as an enrollee. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 03d1a62c1fb10fe00cfc5cb7f4496d8d6d0e7660 Author: Zhu Yi Date: Fri Oct 16 13:18:46 2009 +0800 iwmc3200wifi: allow joining an existed IBSS network We used to only support creating a new IBSS network. Now joining to an existed IBSS network is supported as well. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 30315ff05fce99ef0c172a966b3ed71baa62219b Author: Zhu Yi Date: Fri Oct 16 13:18:45 2009 +0800 iwmc3200wifi: add BGN sdio device id Add BGN SKU sdio device id. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 43b7b314f606b64f8645e4ec1a59df8a97a79b5a Author: Javier Cardona Date: Thu Oct 15 18:10:51 2009 -0700 mac80211: Learn about mesh portals from multicast traffic Mesh portals proxy traffic for nodes external to the mesh. When a proxied frame is received by a mesh interface, it should update its mesh portal table. This was only happening for unicast frames. With this change we also learn about mesh portals from proxied multicast frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a9b3a9f7214b3acc56330c2257aeaa5fa85bf520 Author: Ivo van Doorn Date: Thu Oct 15 22:04:14 2009 +0200 rt2x00: Implement support for rt2800pci Add support for the rt2860/rt3090 chipsets from Ralink. Includes various patches from a lot of people who helped getting this driver into the current shape. Signed-off-by: Alban Browaeys Signed-off-by: Benoit PAPILLAULT Signed-off-by: Felix Fietkau Signed-off-by: Luis Correia Signed-off-by: Mattias Nissler Signed-off-by: Mark Asselstine Signed-off-by: Xose Vazquez Perez Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5d78d34ba2d4a044983b599a697dc1d71af38c96 Author: Ivo van Doorn Date: Thu Oct 15 21:38:19 2009 +0200 rt2x00: Add rt2x00soc bus module Add new library module for SoC drivers. This is needed to fully support the platform driver part of rt2800pci. Based on original patch from Felix. Signed-off-by: Felix Fietkau Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 878283f19809bc73872c70ea53381f74a43a15e7 Author: Kalle Valo Date: Tue Oct 13 20:33:21 2009 +0300 wl1251: use ieee80211_rx_ni() Because of SPI and SDIO wl1251 does everything in a workqueue, including calling ieee80211_rx() which should be called with bottom halves disabled. An error message is emitted because of this: NOHZ: local_softirq_pending 08 Fix this by using ieee80211_rx_ni(). Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e36e49f7338f0f73cd7f5ba4f5b646a479ab60a8 Author: Kalle Valo Date: Tue Oct 13 20:33:13 2009 +0300 mac80211: add ieee80211_rx_ni() ieee80211_rx() must be called with bottom halves disabled. To simplify driver development implement ieee80211_rx_ni() which disables BH. This function must be used when in process context. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 88499ab3d8dbbf9c080416952603742666c71262 Author: Michael Buesch Date: Fri Oct 9 20:33:32 2009 +0200 b43: Optimize PIO scratchbuffer usage This optimizes the PIO scratchbuffer usage. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2c759e03b3b7639fff23ec3b7bab64a35ca0914f Author: David-John Willis Date: Thu Oct 15 14:38:16 2009 +0100 wl1251: add support for PG11 chips. This simple patch adds support for the PG11 variant of the WL1251 chip as used on the OpenPandora OMAP3 device. Signed-off-by: David-John Willis Signed-off-by: John W. Linville commit fb46f26f383c3129ce4ae551a359a8e11704cbce Author: Luciano Coelho Date: Thu Oct 15 10:33:30 2009 +0300 wl1271: added missing packed modifier in some cmd structs Some of the struct definitions in the wl1271_acx.h file were missing the __attribute__ ((packed)) modifier. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit d0f63b202146f3281800ee44823740c8bbf38f11 Author: Luciano Coelho Date: Thu Oct 15 10:33:29 2009 +0300 wl1271: fix endianess issues We were not handling endianess correctly. The wl1271 chip runs on little-endian values. This patch makes sure that all the communication with the wl1271 firmware is done in little-endian by using cpu_to_le* and le*_to_cpu where appropriate. Also, all the struct definitions for data exchanged with the firmware has been changed to use __le16/32 types instead of u16/32. This fixes a few sparse warnings, such as these: drivers/net/wireless/wl12xx/wl1271_cmd.c:554:42: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:555:42: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:577:58: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:579:58: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:676:18: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:787:22: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:789:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_tx.c:98:47: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_acx.c:932:32: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:191:32: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:197:38: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:199:37: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_init.c:255:40: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_init.c:275:53: warning: incorrect type in assignment (different base types) Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 0b5b72da1b21fe61926318dd842f6dd7c8862e9f Author: Luciano Coelho Date: Thu Oct 15 10:33:28 2009 +0300 wl1271: added missing packed modifier in some acx structs Some of the struct definitions in the wl1271_acx.h file were missing the __attribute__ ((packed)) modifier. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 938e30c9301fbd7c3677d01ad01c7eb4ad78b998 Author: Luciano Coelho Date: Thu Oct 15 10:33:27 2009 +0300 wl1271: fix sparse warnings about undeclared functions The following sparse warnings were fixed: drivers/net/wireless/wl12xx/wl1271_spi.c:199:6: warning: symbol 'wl1271_spi_read_busy' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:84:5: warning: symbol 'wl1271_cmd_cal_channel_tune' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:107:5: warning: symbol 'wl1271_cmd_cal_update_ref_point' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:132:5: warning: symbol 'wl1271_cmd_cal_p2g' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:153:5: warning: symbol 'wl1271_cmd_cal' was not declared. Should it be static? Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 7a38079e0da19447ab1c41e42094b311c6e945e4 Author: Juuso Oikarinen Date: Thu Oct 15 10:33:26 2009 +0300 wl1271: Set IEEE80211_FCTL_TODS in the null data template Set the IEEE80211_FCTL_TODS bit in the FC of the null data template. This is a mandatory requirement in specification. Signed-off-by: Juuso Oikarinen Cc: Vidhya Govindan Cc: Janne Ylälehto Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 53623f1a09c7a7d23b74f0f7d93dba0ebde1006b Author: John W. Linville Date: Thu Oct 15 15:10:16 2009 -0400 mac80211: replace netif_tx_{start,stop,wake}_all_queues Replace netif_tx_{start,stop,wake}_all_queues with the single-queue equivalents (i.e. netif_{start,stop,wake}_queue). Since we are down to a single queue, these should peform slightly better. Signed-off-by: John W. Linville commit e5e2647fd6ceef2cdc479954b84517535eb7febd Author: Bob Copeland Date: Wed Oct 14 14:16:30 2009 -0400 ath5k: use noise calibration from madwifi hal This updates ath5k to calibrate the noise floor similar to the way it is done in the madwifi hal and ath9k. Of note: - we start NF measurement at the same time as AGC calibration, but do not actually read the value until the periodic (long) calibration - we keep a history of the last few values read and write the median back to the hardware for CCA - we do not complain if NF calibration isn't complete, instead we keep the last read value. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit e307fcf0a10f9c0c21b3d8b2ff7862b29796cc7f Author: Marek Lindner Date: Wed Oct 14 23:04:45 2009 +0800 ath9k: adjust ahb callbacks to new struct layout to avoid compile errors Signed-off-by: Marek Lindner Signed-off-by: John W. Linville commit 6d898b1983b62ad52f862014748ddce35aad005a Author: Holger Schurig Date: Wed Oct 14 16:49:53 2009 +0200 libertas: make __lbs_cmd_async() non-static This function will be needed for the cfg80211-enabled libertas driver. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 40f54242ae2d2b958b6ae7644f58de9e8a48992a Author: Kalle Valo Date: Tue Oct 13 20:41:20 2009 +0300 wl1251: rename spi device to wl1251 During rename of the driver from wl12xx to wl1251 the spi device name was accidentally left as wl12xx. Rename it to wl1251 which is the proper name of the driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e0da41b2cf10ae95592cb2496f8f81aa4b4bf16c Author: Holger Schurig Date: Tue Oct 13 13:45:28 2009 +0200 cfg80211: remove warning in deauth case It might be the case that __cfg80211_disconnected() has already cleaned up wdev->current_bss() for us. The old code didn't catch that situation and didn't warn needlessly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ce470613cdfde70f25419cc52a4816315825f5d9 Author: Holger Schurig Date: Tue Oct 13 13:28:13 2009 +0200 cfg80211: no cookies in cfg80211_send_XXX() Get rid of cookies in cfg80211_send_XXX() functions. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b54853f1b157a173fe5ac9145623670c66a9e7b9 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:59 2009 +0300 wl1271: Fix filter configuration Fix the filter configuration to properly work with the two phase filter configuration (prepare_multicast/configure_filter.) Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit bd5ea18f7b47b5397233301920180128793295a2 Author: Luciano Coelho Date: Tue Oct 13 12:47:58 2009 +0300 wl1271: make sure PS is disabled in PLT We cannot be in PS mode when running PLT tests, so we need to make sure we're in active mode. Also, we need to clear up the rx_counter when we stop PLT, otherwise it could cause problems when entering PLT again. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit ed317788b925cfd896506ee775acca7392470b9b Author: Juuso Oikarinen Date: Tue Oct 13 12:47:57 2009 +0300 wl1271: Correct memory handling for FW boot Several memory allocation related failure cases were not properly handled by the driver - the result was that in low memory conditions booting of a corrupted FW could be attempted - and user space would not get proper failure code. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a163acce485a9629418659ff74737b89ba2c1751 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:56 2009 +0300 wl1271: Remove unnecessary rx_descriptor memory allocation Remove unnecessary RX descriptor memory allocation from the driver. The allocation was a remnant of the wl1251 driver. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01c09162cd6170f3671825d6d5f2c1ae7b27cbf3 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:55 2009 +0300 wl1271: Support for IPv4 ARP filtering Add support for IPv4 ARP filtering in the driver. This will dramatically reduce the number of unnecessary interrupts by the device in conqested networks. This patch is based on a similar patch to wl1251 by Janne Ylälehto. Cc: Janne Ylälehto Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fd2794f36913992798184c464fe8f85753b13e0 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:54 2009 +0300 wl1271: Fix event handling mechanism The event handling mechanism could miss events if multiple events would occur simultaneously. Fix event handling mechanism to process all events. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 7444113017b9d5394dc8c4bdf577f9567502417b Author: Juuso Oikarinen Date: Tue Oct 13 12:47:53 2009 +0300 wl1271: Fix multicast list handling Fixes bugs in the multicast list handling: - Use atomic memory allocation in non-sleepable context - Increment address pointer when iterating list of MC addresses Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5d07b668f28175a39e4ad06eccab75e8275266d1 Author: Teemu Paasikivi Date: Tue Oct 13 12:47:52 2009 +0300 wl1271: Checking of rx descriptor status fixed Fixed checking of status of the received packet. On wl1251 status is in the flags field of the descriptor, on wl1271 there is a separate status field. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a410264553447ff90bf13e3662684e794e5ff83e Author: Teemu Paasikivi Date: Tue Oct 13 12:47:51 2009 +0300 wl1271: Added 5 GHz support to join and rx Added support to assiociate and use connection on 5 GHz band (802.11a). Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit abb0b3bfb2d2411034b721df21c31964265b851e Author: Teemu Paasikivi Date: Tue Oct 13 12:47:50 2009 +0300 wl1271: Added support to scan on 5 GHz band Added support to scan 802.11a access points on 5 GHz band when using wl1273 chip. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 311494c47fb670a1fd74eea54fa4d02a56fcc2ad Author: Teemu Paasikivi Date: Tue Oct 13 12:47:49 2009 +0300 wl1271: Scan only enabled channels Added checking of whether channel is enabled or disabled by mac80211 stack to scan. Disabled channels are not scanned. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1ebec3d750f2b5740e3c334dac06104d2f74a9b1 Author: Teemu Paasikivi Date: Tue Oct 13 12:47:48 2009 +0300 wl1271: Added 5 GHz parameters for wl1273 Added data rate and frequency tables for 5 GHz band channels, 5 GHz radio configration parameters and configuration option to enable 802.11 support. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c6d5d06e455b9965e300ae40c34fa2337e1aad0f Author: Juuso Oikarinen Date: Tue Oct 13 12:47:47 2009 +0300 wl1271: Remove busy-word checking Remove busy-word checking to work around an SPI bug. To reduce the chance of chipset-busy scenarios, increment the number of fixed busy words. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 11f70f9715f0d8f99eac42d69689e8df15283fea Author: Juuso Oikarinen Date: Tue Oct 13 12:47:46 2009 +0300 wl1271: Implement beacon early termination support Add support to enable beacon early termination in the firmware. Early Beacon termination is a feature which allows the radio to be turned off after TIM IE to save power. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit eb5b28d021a1b96050f7af46e9140eb0051cc6d8 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:45 2009 +0300 wl1271: Fix IRQ enable handling on FW init failure Disable IRQ's after FW initialization failure - originally this was not done in all cases, and it resulted in a kernel warning if firmware initialization was tried again without reboot. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8a08048a3722a6b52c2b34e070c4e6a32ad19e0d Author: Juuso Oikarinen Date: Tue Oct 13 12:47:44 2009 +0300 wl1271: Move default FW config struct away from stack Move the default FW config into a module global static variable, instead of being a stack variable. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 47fab7d589d46d87a5dbfd7f2ddd53deccfad504 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:43 2009 +0300 wl1271: Add config structure for FW init parameters Add a configuration structure for RX path parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 51f2be24328957f9e2acf116b1b1d2dfd10bf41f Author: Juuso Oikarinen Date: Tue Oct 13 12:47:42 2009 +0300 wl1271: Add config structure for connection management parameters Add a configuration structure for connection management parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 45b531a86f93c82d8e390e19a6258111b3627bb0 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:41 2009 +0300 wl1271: Add config structure for TX path parameters Add a configuration structure for TX path parameters, and set defalt configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8793f9bb19c00b26532e37f1f516e1d9c7bc0476 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:40 2009 +0300 wl1271: Add config structure for RX path parameters Add a configuration structure for RX path parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2b60100bf04aba28133ccb24efd85f72fb1a5494 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:39 2009 +0300 wl1271: Add structure for firmware configuration values In order to make the firmware configuration more manageable, collect hardcoded configuration values into one data structure, and set default values there. Add the SoftGemini BT/WLAN coex paramters into the config structure. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2cc8d4db9dd7df9dd12d86f2e37d1b4760d3dd98 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:38 2009 +0300 wl1271: Workaround for reference clock setting on boot. If the 38.4MHz reference clock is configured to the firmware, it crashes on boot. Configuring an experimental 38.4MHz in XTAL mode allows the firmware to boot, and everything appears to work. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2f301227a1ede57504694e1f64839839f5737cac Author: Zhu Yi Date: Fri Oct 9 17:19:45 2009 +0800 iwlwifi: use paged Rx This switches the iwlwifi driver to use paged skb from linear skb for Rx buffer. So that it relieves some Rx buffer allocation pressure for the memory subsystem. Currently iwlwifi (4K for 3945) requests 8K bytes for Rx buffer. Due to the trailing skb_shared_info in the skb->data, alloc_skb() will do the next order allocation, which is 16K bytes. This is suboptimal and more likely to fail when the system is under memory usage pressure. Switching to paged Rx skb lets us allocate the RXB directly by alloc_pages(), so that only order 1 allocation is required. It also adjusts the area spin_lock (with IRQ disabled) protected in the tasklet because tasklet guarentees to run only on one CPU and the new unprotected code can be preempted by the IRQ handler. This saves us from spawning another workqueue to make skb_linearize/__pskb_pull_tail happy (which cannot be called in hard irq context). Finally, mac80211 doesn't support paged Rx yet. So we linearize the skb for all the management frames and software decryption or defragmentation required data frames before handed to mac80211. For all the other frames, we __pskb_pull_tail 64 bytes in the linear area of the skb for mac80211 to handle them properly. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ae751bab9f55c3152ebf713c89a4fb6f439c2575 Author: Luciano Coelho Date: Mon Oct 12 15:08:57 2009 +0300 wl1271: remove unnecessary joins and join only when the bssid changes We were using the join command to change some settings when the stack asked us to do it. In many cases they were not needed (and could cause potential problems), so they were removed. In other cases there are ACX commands that can be used instead of using join to reconfigure. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 0535d9f4f07df9a592b77fe75f66faee66a851e8 Author: Luciano Coelho Date: Mon Oct 12 15:08:56 2009 +0300 wl1271: use acx_rx_config instead of join when updating filters We shouldn't use a join command to change the filter settings while associated. The right way to do it is to use ACX_RX_CFG. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 8bcfcb125b036e978b1bd478d3f68278b05bcfd6 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:55 2009 +0300 wl1271: Update boot time configuration for the new firmware Update the magic values of the wl1271 boot time config according to the new reference driver. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 746214178774bc7f9adbeaef7d43a634570eb870 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:54 2009 +0300 wl1271: Remove outdated SPI functions With the change to the new firmware, there was a change to firmware memory partitioning. Along with that change, the translation of all partitions was unified, and separate functions for reg and mem access became unnecessary. Cleanup the unnecessary functions. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 207347e498cbe25fa2a8369edd49df43e56000be Author: Juuso Oikarinen Date: Mon Oct 12 15:08:53 2009 +0300 wl1271: Update TX path block calucation algo Update the TX path block calculation algorithm based on TI reference. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3cfd6cf960b2b030ccae1144a5c0dcd91c7c56a8 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:52 2009 +0300 wl1271: Enable smart reflex Enable and configure smart reflex. This should have a reducing impact on power consumption. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5d0af498c08b43566733d5c5fb8293ce3b109eab Author: Juuso Oikarinen Date: Mon Oct 12 15:08:51 2009 +0300 wl1271: Enable ELP The new firmware has fixed a firmware crash problem related to ELP entry. Enable ELP to conserve power. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c15f63bffabb996f90b9c24c62fb0614c5a4f676 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:50 2009 +0300 wl1271: Update interrupt handling by removing an extra SPI read Remove separate interrupt register reading from the interrupt handling routine. This will slightly improve interrupt performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 284134eb6f928f6cdbfe95ab79f8e46233a22c98 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:49 2009 +0300 wl1271: RefClk configuration Updated RefClk configuration based on reference sources. Apparently this change will improve RF performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e8768eeb5993bf9695adb4afe4118b7fd5e307a3 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:48 2009 +0300 wl1271: Add top-register access functions Add top register access function. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 732a1ad93e820768bb14732b8365493dbd69ecc8 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:47 2009 +0300 wl1271: Remove RX workaround Remove RX workaround which is not needed with newer firmware revisions. This will reduce one SPI register transaction per RX packet. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 451de97adb4d0f101f3befc881a548adb47c467a Author: Juuso Oikarinen Date: Mon Oct 12 15:08:46 2009 +0300 wl1271: Update memory mapping for firmware revision 6.1.0.0.241 Update the memory regions and memory mapping to support firmware revision 6.1.0.0.241. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 37079a831d8194e138c03663b7cab281ab1dc181 Author: Luciano Coelho Date: Mon Oct 12 15:08:45 2009 +0300 wl1271: enable HW_AVAILABLE interrupt to fix ELP We need to listen to HW_AVAILABLE interrupts when using ELP with firmware revision 6.1.0.0.241. Add WL1271_ACX_INTR_HW_AVAILABLE to the interrupts that are enabled by default. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit ac78403e149cae56efa75ba025e7e717c4ad01ed Author: Luciano Coelho Date: Mon Oct 12 15:08:44 2009 +0300 wl1271: add workaround to avoid distortion due to excessive tx power We still don't have proper calibration for our devices, so we are using way too much power for TX, which causes a lot of distortion. This hack hardcodes the txpower to 7dBm. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit d6e19d135dadb1895296668914d0a15bc3cafcbf Author: Luciano Coelho Date: Mon Oct 12 15:08:43 2009 +0300 wl1271: workaround to send a disconnect before rejoining We don't get any indication from the stack when we have disassociated. In wl1271, it is important to send a CMD_DISCONNECT before joining again, because the firmware cleans some things up. So we check if we're already joined and disconnect if that's the case. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 25a7dc6d22adda590be4932ebc772ea35914880c Author: Luciano Coelho Date: Mon Oct 12 15:08:42 2009 +0300 wl1271: implement cmd_disconnect This patch implements the CMD_DISCONNECT command, which should be sent to the firmware when we are disassociated. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit e57f14895bf6bc7f16df760963427ac6ee6ff7e1 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:34 2009 -0700 iwlwifi: update channel switch command API Channel switch host command has different data structure for different devices. Adding additional structures to support 5000 and 6000 NICs. unlike 4965, starting with 5000 series, the tx power is managed by uCode, there is no tx power db information need to be passing from driver to uCode; but the space needs to be reserved to match uCode expection. 1000 NIC do not support channel switch operation since it is 'bgn' device, there is no need to have data structure defined for it. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 768db9829d0d45d57204714f18b54f7fc0561ddf Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:33 2009 -0700 iwl3945: rearrange the code. Rearrange the code and groups setting of retry_limit and data_retry_limits code together. Make 'data_retry_limit' setting similar to iwlwifi for better readability. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f0436f4702b7cdda22a38689cc1903822694a17 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:32 2009 -0700 iwlwifi/iwl3945: remove data_retry_limit Remove the ununsed variable data_retry_limit from priv. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9744c91f91e9e467b38473a8b673324ae658ca88 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:31 2009 -0700 iwl3945: rename tx to tx_cmd Rename iwl3945_tx_cmd variable tx to tx_cmd for better readability. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 37dc70fea870ced8fbd9ae786701529e7ce48f03 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:30 2009 -0700 iwlwifi/iwl3945: unify rts_tx_cmd_flag 3945 and 4965 share the functionality for setting RTS and CTS to the tx_cmd. Unify these functions and move the common functionality to core. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 92a35bda792cf9295b1d399f7c937d4560292b1e Author: Wey-Yi Guy Date: Fri Oct 9 13:20:29 2009 -0700 iwlwifi: showing accumulative ucode statistics counters Adding accumulative statistics counters in iwlwifi driver. Statistics counters are reported by uCode every beacon interval; but can be reset by uCode when needed. The accumulative statistics counters is maintained by driver to keep track of the history of all the counters. Update the ucode stats files in debugfs to display both latest and accumulative counters. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 88804e2b33b6ab3974ff2330cd045ca53d6750c5 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:28 2009 -0700 iwlwifi: dynamic allocate tx queue structure Instead of always allocate the max number of tx queue structure, use dynamic allocation based on the number of queues in device configuration. With these changes, device does not have to allocate more memory than the h/w can support. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 008a9e3e3c37abd7f56d2478fe92d5874de3630a Author: Ben Cahill Date: Fri Oct 9 13:20:27 2009 -0700 iwl3945: move iwl_power_initialize() iwl_power_initialize() initializes driver data (not device hardware), and does not need to execute more than once (when the driver initializes). Therefore, it does not belong in iwl3945_apm_init(), which initializes hardware, and may run more than once. Move it to iwl3945_pci_probe(), where it will run only once. This agrees with similar placement in iwl-agn.c's iwl_pci_probe(), although placement under "services" seemed more appropriate than under "mac80211". Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 743cdf1b65656faf1e6f1f74278c52b89a0b7360 Author: Ben Cahill Date: Fri Oct 9 13:20:26 2009 -0700 iwl3945: streamline iwl3945_rfkill_poll() iwl3945_rfkill_poll() has been silently calling wiphy_rfkill_set_hw_state() every 2 seconds, regardless of whether hardware RF KILL switch changed state. Call wiphy_rfkill_set_hw_state() only when RFKILL switch changes. Add IWL_DEBUG_RF_KILL log message and documentation. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a34c043802a213e719420ece395cf25c85cc7c5 Author: Reinette Chatre Date: Fri Oct 9 13:20:25 2009 -0700 iwlwifi: fix userspace setting of sleep_level_override The sleep_level_override debugfs file is used by the user to request a static power index instead of the dynamic sleep values. Users are expected to provide value from 1 to 5 as an index or -1 to disable it. The problem at the moment is that users can also provide 0 to this file which, together with the value 1, is translated to index 1. This is confusing and even more so when users write 0 to sleep_level_override and then read 1 from it afterwards. Modify checking to treat 0 as invalid. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 55036d6602679fb88dd7b1c19bb7203a0213b684 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:24 2009 -0700 iwlwifi: additional items in sensitivity range table Add more items to sensitivity range table to avoid using hardcoded values. Initialize the table per device since unique per device information is required to perform sensitivity calibration. additional items in sensitivity range table: .barker_corr_th_min: Barker correlation threshold minimum .barker_corr_th_min_mrc: Barker correlation threshold minimum for MRC .nrg_th_cca: Energy threshold for Clear Channel Assessment Barker codes are a technique used in WLAN encoding for transmission. MRC is "Maximal Ratio Combining", a technique for optimally combining the signals from 2 or more receivers to achieve a better signal. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd35f150823c21000f4c0f029abb258bc1ae3b5f Author: Wey-Yi Guy Date: Fri Oct 9 13:20:23 2009 -0700 iwlwifi: remove duplicated/unused definition "IWL_CMD_QUEUE_NUM" is being defined in multiple places and used by all the devices. move it to iwl-dev.h file and shared by all the devices. Remove "IWL_CMD_FIFO_NUM", replaced by "IWL49_CMD_FIFO_NUM" and IWL50_CMD_FIFO_NUM" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b660d3adb8dd4ead54744c9269bae9338163020a Author: Ben Cahill Date: Fri Oct 9 13:20:22 2009 -0700 iwlagn, iwl3945: remove apm_reset() functions Clean up device-specific apm_reset() functions and library infrastructure, now that these reset() functions are no longer being used. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 278d84051d1944080d4cfdba205af5f5ce4f4064 Author: Ben Cahill Date: Fri Oct 9 13:20:21 2009 -0700 iwl3945: remove unnecessary call to apm_ops.reset() Now that we're unconditionally using apm_ops.stop() to reset and power-down the device in __iwl3945_down(), the apm_ops.reset() is redundant. Removing this call will also allow us to remove iwl3945_apm_reset(). Remove unneeded iwl_clear_bit(CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ) because this bit will be set again very soon in iwl3945_hw_txq_ctx_stop() and other following calls. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d2ccdb94847248a4075414169108d8f929c153c Author: Ben Cahill Date: Fri Oct 9 13:20:20 2009 -0700 iwlwifi: turn off device when not used. In some cases (e.g. when mac80211 calls iwl_mac_stop() for suspend or user no longer wants device active), device has not been going into low power state via __iwl_down(). apm_ops.reset() does not put device into low power state; instead it resets the device, then puts it into a powered-up state ready to be re-loaded with uCode and re-started. This has needlessly warmed up user's laptops and drained batteries. With current architecture in which mac80211 controls device up/down (including resetting device after firmware errors), there is no need for apm_ops.reset() any more; apm_ops.reset() is basically a combination of apm_ops.stop() and apm_ops.init(). Instead, __iwl_down() now unconditionally places the device into a low-power state via apm_ops.stop(). Device may be re-started via __iwl_up() calling apm_ops.init() as soon as it may be needed (e.g. quickly for firmware errors), but in the meantime, device will stop wasting energy. Note that, even in this low power state, if driver re-enables interrupts, the device retains the ability to sense the hardware RF-KILL switch, and (except for 3945) interrupt the host when it changes. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f33269b8968d1c64772a9221e2c9c42d07a9b5ae Author: Ben Cahill Date: Fri Oct 9 13:20:19 2009 -0700 iwl3945: update iwl3945_apm_init() Update iwl3945_apm_init() to set up device registers in sequence most recently recommended by factory. Add resets for APMG interrupts and radio chip, formerly done only in iwl3945_apm_reset(); moving them here assures that apm_init() will do a complete job of preparing hardware not only after platform boot, but also after apm_stop() has executed (due to rfkill, ifconfig down, driver unload, etc.). This is in preparation to completely remove apm_reset(). Add some comments. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40b93ad6e97a1d412c4b86f4717fee9b4bc830e1 Author: matthieu castet Date: Fri Oct 9 22:12:25 2009 +0200 airo : allow supend with card without power management Some airo card don't support power Management [1]. Don't abort suspend with those cards. 00:06.0 Network controller: AIRONET Wireless Communications PC4800 (rev 01) Flags: medium devsel, IRQ 17 Memory at dffffe00 (32-bit, non-prefetchable) [size=128] I/O ports at d000 [size=128] I/O ports at cc00 [size=64] Kernel driver in use: airo Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit c32bec78e1af751a279ec1614eadd36aab532e56 Author: Michael Buesch Date: Fri Oct 9 20:48:16 2009 +0200 b43: Remove me as maintainer Remove me Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8b45499ccb8a93cd68b1a8766786c2f8ea991ae2 Author: Michael Buesch Date: Fri Oct 9 20:32:10 2009 +0200 ssb: Put host pointers into a union This slightly shrinks the structure. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 899110fe4e1b26f7a13e639c57e2a047d21bffa2 Author: Michael Buesch Date: Fri Oct 9 20:30:10 2009 +0200 b43/legacy: Fix usage of host_pci pointer We must check the bustype before using the host_pci pointer. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 332c556633b8c5fb4e890b1783122f2315526590 Author: Sujith Date: Fri Oct 9 09:51:28 2009 +0530 ath9k: Fix TX hang poll routine When TX is hung, the chip is reset. Ensure that the chip is awake by using the PS wrappers. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c0bbd57679efc2350703a1c0f3fc624cbcaba55f Author: Amitkumar Karwar Date: Thu Oct 8 19:38:45 2009 -0700 libertas: Check return status of command functions Return status of lbs_prepare_and_send_command and lbs_cmd_with_response functions is not checked at some places. Those checks are added. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit be823e5b2d71d367b5e27496e2b19d453e21936e Author: Juuso Oikarinen Date: Thu Oct 8 21:56:36 2009 +0300 wl1271: Mask unneeded events from firmware to conserve power Currently several events are enabled from the firmware for which there is no handling. This wakes up the host unnecessarily. Mask those unneeded events. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1922167b9de575d9d1a56be9b80f0fa3b22785f9 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:35 2009 +0300 wl1271: Configure beacon filtering on if PSM used Enable beacon filtering when PSM is enabled Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b771eee583343782c8b44d2b78cf53c29d0f3303 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:34 2009 +0300 wl1271: Enable beacon filtering with the stack Enable beacon filtering with the mac80211 stack. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 344152361e6d14ade61d7f43678db7418cb445db Author: Juuso Oikarinen Date: Thu Oct 8 21:56:33 2009 +0300 wl1271: Add connection monitoring configuration Add configuration for connection monitor (number of allowed beacons, and timeout after last received beacon.) Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fba49741dc50d13d2fe6cf04f5a547e6c5c81f6 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:32 2009 +0300 wl1271: Use vmalloc to allocate memory for firmware Use vmalloc to allocate memory for the firmware image, and use a smaller linear buffer for the actual transfer of the firmware to the chipset. This patch is an adaptation of a similar patch for wl1251 by Kalle Valo. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c87dec9f189b884df215756e285b9281cf065206 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:31 2009 +0300 wl1271: Multicast filtering configuration Enable multicast filtering. This way by default no multicast frames will reach the host, and when needed, only required multicast frames can be passed from the WLAN chipset to the host. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 66497dc3bd569e05a5bcb729d495eebad47aa46a Author: Juuso Oikarinen Date: Thu Oct 8 21:56:30 2009 +0300 wl1271: Clear probe-request template after scan Clear the probe-request template on the firmware after scan. Unless cleared, the firmware can independently send probe requests to the AP and interfere with the mac80211 logic. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a64b07e8c6ff8394cd8c5a505b9f04d945f9f30f Author: Juuso Oikarinen Date: Thu Oct 8 21:56:29 2009 +0300 wl1271: use workqueue provided by mac80211 instead of the default Use the workqueue provided by the mac80211 stack instead of the system default queue. Modified to use new ieee_queue_work() as required by changes in the stack. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 64a7f67287c75f5bb28018a6ff2750a59ee1195a Author: Luciano Coelho Date: Thu Oct 8 21:56:28 2009 +0300 wl1271: hack to disable filters This is a hack to disable all filters in the join command. This is based on Kalle Valo's patch for wl1251. Cc: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2f0187250041afc765df51e2cce653e8a5b9c1b6 Author: Luciano Coelho Date: Thu Oct 8 21:56:27 2009 +0300 wl1271: added Juuso Oikarinen as module author Add Juuso as one of the module authors, since he's working heavily on this module as well. Cc: Juuso Oikarinen Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit be7078c21d826fbaab77f88440958019aab969af Author: Juuso Oikarinen Date: Thu Oct 8 21:56:26 2009 +0300 wl1271: Corrections to TX path Corrections to the TX path - use correct number of maximum descriptors (32 instead of 16) and correct checking and setting of excessive retries on completion. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d94cd297e58b55bb272fdfd51ff0de7acbc1941b Author: Juuso Oikarinen Date: Thu Oct 8 21:56:25 2009 +0300 wl1271: Update join usage Update the usage of join's, including using actual beacon interval and dtim from AP, and configuring a basic rate set from AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8a5a37a6c492f7c9602aa72ef19f69c926cdca15 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:24 2009 +0300 wl1271: Configure rate policies based on AP rates Configure the rate policies to the firmware based on the rates given by the AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 545f1da8ef0f20923feb500bcfaf0e2fb6068fb4 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:23 2009 +0300 wl1271: Implementation for SPI busy word checking This patch adds implementation for checking for SPI busy words - i.e. honoring a delay request from the WLAN chipset upon reading registers/memory. To optimized the average SPI ready by 32 bits, also configure the number of busywords to one to disable the "fixed-busy-word" functionality. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c3fea1994ac34dafa3ebb40d4f95354b2782af31 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:22 2009 +0300 wl1271: mask aid bits 14 and 15 in ps-poll template In ps-poll template aid bits 14 and 15 were not masked as required by the standard. Mask them so that aid is sent in correct format. This patch is a direct port of the respective patch for the wl1251 driver by Kalle Valo. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 37b70a81855e4a2e66716804ae55ff717520e7fb Author: Juuso Oikarinen Date: Thu Oct 8 21:56:21 2009 +0300 wl1271: Implement delayed entry into ELP Implement delayed entry into ELP. This will promote the following: - Less redundant sleep/wake cycles (better perf) - Avoids known firmware issues with going to ELP too fast after an operation Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1e2b79761d551c545225e1fa6e7d144f7e804898 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:20 2009 +0300 wl1271: Correct TKIP header space handling in TX path Correct the position to which TKIP header space is appended for TX packets. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ac4e4ce54eb9cb4963a1d3d91fc65536d882ffb2 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:19 2009 +0300 wl1271: Security sequence number handling for TX (for WPA) Add security sequence number handling to the driver TX data path needed by WPA. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3b4be9e08abd8c390d13001f5dd55f64afa5ab93 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:18 2009 +0300 wl1271: Correction to TX block allocation calculation Correct the TX path implementation to allocate sufficient blocks in the firmware for TX packets. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9d565973deb09479de5eed7a5b6594428dc49dde Author: Luciano Coelho Date: Thu Oct 8 21:56:17 2009 +0300 wl1271: remove unecessary qual parameter from rx status The qual element in ieee80211_rx_status is not used anymore, so we don't need to set it in the wl1271_rx_status() function. This saves a bit of time in the RX path. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3414fc3f527ce74cfca543c37bcb52c8e63b915e Author: David Kilroy Date: Wed Oct 7 22:23:32 2009 +0100 orinoco: use cfg80211 ethtool ops Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6226811f4eec35c509b931ac900ac074336103f5 Author: Luis R. Rodriguez Date: Wed Oct 7 16:22:19 2009 -0400 ath9k_hw: run ath9k_hw_9271_pa_cal() initial calibration The PA calibration for ar9271 ath9k_hw_9271_pa_cal() can run during reset or initial calibration, update the PA calibration to account for that and initialize PA calibration variables for both conditions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b57df129aaf65819f4eb80c2a5be3765509e9d23 Author: Luis R. Rodriguez Date: Wed Oct 7 16:22:18 2009 -0400 ath9k_hw: run the carrier leakage calibration fix for ar9271 as well This is required for the ar9271 hardware as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 883242dd0e5faaba041528a9a99f483f2a656c83 Author: Steven Rostedt Date: Tue Oct 27 13:15:11 2009 -0400 tracing: allow to change permissions for text with dynamic ftrace enabled The commit 74e081797bd9d2a7d8005fe519e719df343a2ba8 x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA prevents text sections from becoming read/write using set_memory_rw. The dynamic ftrace changes all text pages to read/write just before converting the calls to tracing to nops, and vice versa. I orginally just added a flag to allow this transaction when ftrace did the change, but I also found that when the CPA testing was running it would remove the read/write as well, and ftrace does not do the text conversion on boot up, and the CPA changes caused the dynamic tracer to fail on self tests. The current solution I have is to simply not to prevent change_page_attr from setting the RW bit for kernel text pages. Reported-by: Ingo Molnar Cc: Suresh Siddha Cc: H. Peter Anvin Signed-off-by: Steven Rostedt commit 2c28e2451dba2260e9f88811b29a7787db7e7616 Author: Paul E. McKenney Date: Mon Oct 26 13:57:44 2009 -0700 rcu: Fix TINY_RCU #elif condition Some compilers are happy with "#elif CONFIG_RCU_TINY", while others strongly prefer "#elif defined(CONFIG_RCU_TINY)". Change to the latter to make more compilers happy. 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: <12565906642768-git-send-email-> Signed-off-by: Ingo Molnar commit 6f9b41006af1bc489030f84ee247abc0df1edccd Author: Andreas Herrmann Date: Tue Oct 27 11:01:38 2009 +0100 x86, apic: Clear APIC Timer Initial Count Register on shutdown Commit a98f8fd24fb24fcb9a359553e64dd6aac5cf4279 (x86: apic reset counter on shutdown) set the counter to max to avoid spurious interrupts when the timer is re-enabled. (In theory) you'll still get a spurious interrupt if spending more than 344 seconds with this interrupt disabled and then unmasking it. The right thing to do is to clear the register. This disables the interrupt from happening (at least it does on AMD hardware). Signed-off-by: Andreas Herrmann LKML-Reference: <20091027100138.GB30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 689d30187828afe1faedf050b2f7593515b90c76 Author: Marti Raudsepp Date: Tue Oct 27 00:33:05 2009 +0000 perf tools: Output 'perf list' to stdout not stderr Writing to stdout is probably the expected behavior because the user explicitly asked for a list. Signed-off-by: Marti Raudsepp Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4ebb59420ef057972167.1256603585@localhost> Signed-off-by: Ingo Molnar commit 85df6f683efa457440eb922272fd5a71aa022ad4 Author: Marti Raudsepp Date: Tue Oct 27 00:33:04 2009 +0000 perf tools: Notify user when unrecognized event is specified Previously no indication was given about what went wrong. Signed-off-by: Marti Raudsepp Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <03ec9ee96f17cef05424.1256603584@localhost> Signed-off-by: Ingo Molnar commit 5b2bb75a0d4b08cd16bc35ecd674f957fc3b0eb7 Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:19 2009 -0200 perf top: Support userspace symbols too Example: Compiling the kernel with 'make -k 22 allyesconfig' [root@emilia linux-2.6-tip]# perf top -r 90 ------------------------------------------------------------------------------ PerfTop: 3669 irqs/sec kernel:59.9% [1000Hz cycles], (all, 8 CPUs) ------------------------------------------------------------------------------ samples pcnt function DSO _______ _____ ________________________________ ________________ 3062.00 6.5% clear_page_c [kernel] 2233.00 4.8% _int_malloc /lib64/libc-2.5.so 2100.00 4.5% yylex /home/acme/git/build/allyesconfig/scripts/genksyms/genksyms 2029.00 4.3% memset /lib64/libc-2.5.so 1224.00 2.6% page_fault [kernel] 1075.00 2.3% __GI_strlen /lib64/libc-2.5.so 863.00 1.8% sub_preempt_count [kernel] 822.00 1.8% __GI_memcpy /lib64/libc-2.5.so 810.00 1.7% __GI_vfprintf /lib64/libc-2.5.so 786.00 1.7% _int_free /lib64/libc-2.5.so 775.00 1.7% __GI_strcmp /lib64/libc-2.5.so 748.00 1.6% _spin_lock [kernel] 699.00 1.5% main /home/acme/git/build/allyesconfig/scripts/basic/fixdep 659.00 1.4% add_preempt_count [kernel] 649.00 1.4% yyparse /home/acme/git/build/allyesconfig/scripts/genksyms/genksyms 645.00 1.4% preempt_trace [kernel] 635.00 1.4% __GI___libc_free /lib64/libc-2.5.so 597.00 1.3% trace_preempt_on [kernel] 551.00 1.2% __GI___libc_malloc /lib64/libc-2.5.so 516.00 1.1% _spin_lock_irqsave [kernel] 481.00 1.0% copy_user_generic_string [kernel] 479.00 1.0% unmap_vmas [kernel] 429.00 0.9% _IO_file_xsputn_internal /lib64/libc-2.5.so 425.00 0.9% __GI_strncpy /lib64/libc-2.5.so 416.00 0.9% get_page_from_freelist [kernel] 414.00 0.9% malloc_consolidate /lib64/libc-2.5.so 406.00 0.9% get_parent_ip [kernel] 362.00 0.8% __rmqueue [kernel] 347.00 0.7% in_lock_functions [kernel] 316.00 0.7% __d_lookup [kernel] [root@emilia linux-2.6-tip]# More polishing is needed to print just DSO basename when not --verbose, etc. Supporting a 'comm' column requires some more reworking of 'perf top' internals as we will need to use something like the hist entries 'perf report' uses and will be done in another patch. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-3-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 234fbbf508c58c5084292b11b242377553897459 Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:18 2009 -0200 perf tools: Generalize event synthesizing routines Because we will need it in 'perf top' to support userspace symbols for existing threads. Now we pass a callback that will receive the synthesized event and then write it to the output file in 'perf record' and in the upcoming patch for 'perf top' we will just immediatelly create the in memory representation of threads and maps. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-2-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 7f3bedcc93f935631d2363f23de1cc80f04fdf3e Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:17 2009 -0200 perf record: Fix race where process can disappear while reading its /proc/pid/tasks Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 3e02e5cb47e049727a26c9c110867a26972bd0d6 Author: Huang Ying Date: Tue Oct 27 19:07:24 2009 +0800 crypto: ghash-intel - Fix building failure on x86_32 CLMUL-NI accelerated GHASH should be turned off on non-x86_64 machine. Reported-by: Dave Young Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit fa4ef8a6af4745bbf3a25789bc7d4f14a3a6d803 Author: Felipe Contreras Date: Tue Oct 27 19:04:42 2009 +0800 crypto: testmgr - Fix warning crypto/testmgr.c: In function ‘test_cprng’: crypto/testmgr.c:1204: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Felipe Contreras Signed-off-by: Herbert Xu commit 2024e7d6804b3f6251b28126eceb7f6bf2e3a4e8 Author: Roel Kluin Date: Tue Oct 27 18:51:33 2009 +0800 crypto: ansi_cprng - Fix test in get_prng_bytes size_t nbytes cannot be less than 0 and the test was redundant. Signed-off-by: Roel Kluin Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 9b3b21f788a9d7ff999544bf9b7ba950f68a9357 Merge: 72f0c13 ffb4a73 Author: Paul Mundt Date: Tue Oct 27 17:10:24 2009 +0900 Merge branch 'sh/stable-updates' commit 72f0c137a5c82df628dc646a82b9d8e3277b1234 Author: Paul Mundt Date: Tue Oct 27 17:08:55 2009 +0900 sh: enable PERF_USE_VMALLOC across the board. The vast majority of SH platforms want this, and the few that don't aren't going to care one way or the other. Enable it across the board. Signed-off-by: Paul Mundt commit 94c285108e4551157ecc1b8156921712138fa860 Author: Paul Mundt Date: Tue Oct 27 17:07:45 2009 +0900 sh: Bump up dma_ops initialization far earlier in the boot process. Presently this was tacked on to the dma debug init bits from fs_initcall(), which is far too late for devices setting up their own per-device coherent areas. Throw this in the beginning of mem_init(), as per the x86 iommu allocation. Signed-off-by: Paul Mundt commit a361c83cb4d7c8fe013d82a2f124175a7f276f30 Author: Jasper Spaans Date: Fri Oct 23 04:09:24 2009 +0000 bonding: Remove bond_dev from xmit_hash_policy call. Now that the bonding device is no longer used in determining the device to which to send packets, it can be dropped from the argument list of the various xmit_hash_policy calls. Signed-off-by: Jasper Spaans Acked-by: Eric Dumazet Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit cfadf853f6cd9689f79a63ca960c6f9d6665314f Merge: 05423b2 f568a92 Author: David S. Miller Date: Tue Oct 27 01:03:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sh_eth.c commit 05423b241311c9380b7280179295bac7794281b6 Author: Eric Dumazet Date: Mon Oct 26 18:40:35 2009 -0700 vlan: allow null VLAN ID to be used We currently use a 16 bit field (vlan_tci) to store VLAN ID/PRIO on a skb. Null value is used as a special value, meaning vlan tagging not enabled. This forbids use of null vlan ID. As pointed by David, some drivers use the 3 high order bits (PRIO) As VLAN ID is 12 bits, we can use the remaining bit (CFI) as a flag, and allow null VLAN ID. In case future code really wants to use VLAN_CFI_MASK, we'll have to use a bit outside of vlan_tci. #define VLAN_PRIO_MASK 0xe000 /* Priority Code Point */ #define VLAN_PRIO_SHIFT 13 #define VLAN_CFI_MASK 0x1000 /* Canonical Format Indicator */ #define VLAN_TAG_PRESENT VLAN_CFI_MASK #define VLAN_VID_MASK 0x0fff /* VLAN Identifier */ Reported-by: Gertjan Hofman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9dbb58d867e90d2528752339751216c955523e62 Author: Kurt Van Dijck Date: Mon Oct 26 17:33:59 2009 -0700 can: sja1000: fix bug using library functions for skb allocation Commit 7b6856a0 "can: provide library functions for skb allocation" did not properly remove two lines of the SJA1000 driver resulting in a 'skb_over_panic' when calling skb_put, as reported by Kurt. Signed-off-by: Kurt Van Dijck Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 10e85f7f08535c91aa623547c1024d570af4cdcd Author: Krishna Kumar Date: Fri Oct 23 01:13:21 2009 +0000 cxgb3: Set the rxq Set the rxq# for LRO when processing the last fragment of a frame. This helps in fast txq selection for routing workloads. Signed-off-by: Krishna Kumar Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 1a1238a7dd48e48b3bba8f426a1d61c22c80d6d1 Author: Shaohua Li Date: Tue Oct 27 08:46:23 2009 +0100 cfq-iosched: improve hw_tag detection If active queue hasn't enough requests and idle window opens, cfq will not dispatch sufficient requests to hardware. In such situation, current code will zero hw_tag. But this is because cfq doesn't dispatch enough requests instead of hardware queue doesn't work. Don't zero hw_tag in such case. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 4c978ca3194a4002407a85b15122f793efc8616b Author: Paul Mundt Date: Tue Oct 27 11:51:19 2009 +0900 sh: Clean up more superfluous symbol exports. Many of these symbols went away completely, or we just never cared about them in the first place. Trim the exports down to the essential set. Signed-off-by: Paul Mundt commit 9b798d50df3a98d22a6cbae565d9f4f630d161a6 Author: Paul Mundt Date: Tue Oct 27 11:36:43 2009 +0900 sh: intc: Make ack_regs generally available. Currently this is ifdef'ed under SH-3 and SH-4A, but there are other CPUs that will need this as well. Given the size of the existing data structures, this doesn't cause any additional cacheline utilization for the existing users, so has no direct impact on the data structures. Signed-off-by: Paul Mundt commit 0a993b0a290a2672500000b0ce811efc093f8467 Author: Paul Mundt Date: Tue Oct 27 10:51:35 2009 +0900 sh64: cache flush symbol exports. These were previously hidden in sh_ksyms_32, despite also being needed for sh64 now that the cache.c code is shared. Signed-off-by: Paul Mundt commit 478fb158005b55c8484f23a6beb1b69f5a612162 Author: Paul Mundt Date: Tue Oct 27 10:41:58 2009 +0900 sh: Fix up dma_is_consistent(). This fixes up the dma_is_consistent() definition for the various coherence options. Signed-off-by: Paul Mundt commit 7693465d81827107caf9c447b9ad91098a1c4941 Author: Paul Mundt Date: Tue Oct 27 10:36:55 2009 +0900 sh: Kill off superfluous arch/sh/drivers/pci/Kconfig. Now that this contains a grand total of 1 Kconfig option, it's hardly worth keeping split out. Roll CONFIG_PCI back in to the top-level architecture Kconfig, along with the other bus types. Signed-off-by: Paul Mundt commit 01be5d63fd4645eab1d05a7caa04462c11c8b7a1 Author: Paul Mundt Date: Tue Oct 27 10:35:02 2009 +0900 sh: Revamp PCI DMA coherence Kconfig bits. Leaving this configurable caused more trouble than it was ever worth, so just make it explicit. Boards that are verified one way or the other can fix up their selects accordingly. We presently default to non-coherent for most platforms. Signed-off-by: Paul Mundt commit 3f375f12ecb9c691dda70bb64b313e55fe6ee4ee Author: Matt Fleming Date: Mon Oct 26 22:19:49 2009 +0000 sh: Annotate irq functions with "notrace" Now that SH's irqflags functions are out of line it becomes necessary to mark them as "notrace" so that we don't try to trace them. [ Do the same for irq_64.c -- PFM. ] Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit f72f7876ae0bc0f018fca140e66aa16fedb57d89 Author: Valentin R Sitsikov Date: Fri Oct 16 10:45:47 2009 +0000 sh: fix watchdog timer for sh7780/sh7785 Signed-off-by: Valentin Sitdikov Signed-off-by: Paul Mundt commit 88b91c7ca49bc8600cf1106eb891d08c1965b9ce Author: Peter Zijlstra Date: Mon Oct 26 10:24:31 2009 -0700 rcu: Simplify creating of lockdep class for root rcu_node Use lockdep_set_class() to simplify the code and to avoid any additional overhead in the !LOCKDEP case. Also move the definition of rcu_root_class into kernel/rcutree.c, as suggested by Lai Jiangshan. Signed-off-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: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1256577871443-git-send-email-> Signed-off-by: Ingo Molnar commit a5f523bc0cdee2a163a034344ebf1163799b3c5d Author: Tias Guns Date: Sun Oct 25 12:13:58 2009 -0700 Input: add driver for Dynapro serial touchscreen This is a driver for Dynapro serial touchscreen, which used to be supported in Xorg. The driver needs updated inputattach utility to initialize serial port and create proper serio device before the driver will be bound to it. Signed-off-by: Tias Guns Signed-off-by: Dmitry Torokhov commit 7dea7c01dac9b74faa9afa93fc9bb5f2d37521dc Author: Mark Brown Date: Mon Oct 26 15:20:17 2009 +0000 ASoC: Add regulator support for WM8731 Signed-off-by: Mark Brown commit e6c5bc737ab71e4af6025ef7d150f5a26ae5f146 Author: Jeff Moyer Date: Fri Oct 23 17:14:52 2009 -0400 cfq: break apart merged cfqqs if they stop cooperating cfq_queues are merged if they are issuing requests within the mean seek distance of one another. This patch detects when the coopearting stops and breaks the queues back up. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit b3b6d0408c953524f979468562e7e210d8634150 Author: Jeff Moyer Date: Fri Oct 23 17:14:51 2009 -0400 cfq: change the meaning of the cfqq_coop flag The flag used to indicate that a cfqq was allowed to jump ahead in the scheduling order due to submitting a request close to the queue that just executed. Since closely cooperating queues are now merged, the flag holds little meaning. Change it to indicate that multiple queues were merged. This will later be used to allow the breaking up of merged queues when they are no longer cooperating. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit df5fe3e8e13883f58dc97489076bbcc150789a21 Author: Jeff Moyer Date: Fri Oct 23 17:14:50 2009 -0400 cfq: merge cooperating cfq_queues When cooperating cfq_queues are detected currently, they are allowed to skip ahead in the scheduling order. It is much more efficient to automatically share the cfq_queue data structure between cooperating processes. Performance of the read-test2 benchmark (which is written to emulate the dump(8) utility) went from 12MB/s to 90MB/s on my SATA disk. NFS servers with multiple nfsd threads also saw performance increases. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit b2c18e1e08a5a9663094d57bb4be2f02226ee61c Author: Jeff Moyer Date: Fri Oct 23 17:14:49 2009 -0400 cfq: calculate the seek_mean per cfq_queue not per cfq_io_context async cfq_queue's are already shared between processes within the same priority, and forthcoming patches will change the mapping of cic to sync cfq_queue from 1:1 to 1:N. So, calculate the seekiness of a process based on the cfq_queue instead of the cfq_io_context. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit 376abbb4b31ac9a7fe90fb48b98e2c977cb3d882 Author: Magnus Damm Date: Mon Oct 26 10:44:37 2009 +0000 sh: mac address through private data for sh_eth on ecovec24 Convert the ecovec24 board code to pass the mac address to the sh_eth driver using platform data. Also, remove the static clock to allow Runtime PM. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 40e4231809a022586caa8f253663317033ba2eb1 Author: Magnus Damm Date: Mon Oct 26 10:41:58 2009 +0000 sh: add hwblk_id to sh_eth on ecovec24 Add HWBLK_ETHER to the sh_eth platform device to allow Runtime PM of the ethernet hardware. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a384fe55c23bdcd4b027e09bd8e993d1c90bfae9 Merge: ef01b9a 9e24c7e Author: Paul Mundt Date: Mon Oct 26 19:46:59 2009 +0900 Merge branch 'sh/stable-updates' commit ef01b9a06d28e37d28f6eb19e60dd78eb1f11639 Author: Magnus Damm Date: Mon Oct 26 10:30:48 2009 +0000 sh: fix kexec by removing check for old kexec-tools This unbreaks kexec support. Without this fix all cases of kexec fails since __pa() does not behave like PHYSADDR(). The downside is that we also kill the code blocking users running old kexec-tools. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fcd14b3203b538dca04a2b065c774c0b57863eec Author: Michael Cree Date: Mon Oct 26 21:32:06 2009 +1300 perf tools, Alpha: Add Alpha support to perf.h For the perf tool the patch implements an Alpha specific section in the perf.h header file. Signed-off-by: Michael Cree Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1256545926-6972-1-git-send-email-mcree@orcon.net.nz> Signed-off-by: Ingo Molnar commit 4ce5b90340879ce93d169b7b523c2cbbe7c45843 Author: Ingo Molnar Date: Mon Oct 26 07:55:55 2009 +0100 rcu: Do tiny cleanups in rcutiny No change in functionality - just straighten out a few small stylistic details. Cc: Paul E. McKenney Cc: David Howells Cc: Josh Triplett Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351355-git-send-email-> Signed-off-by: Ingo Molnar commit cf886c44ec418a01b2c52493465accb81acbf930 Author: Paul E. McKenney Date: Sun Oct 25 19:03:54 2009 -0700 rcu: Improve rcutorture diagnostics when bad torture_type specified Make rcutorture list the available torture_type values when it doesn't like the one specified. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351868-git-send-email-> Signed-off-by: Ingo Molnar commit 64179861cb801eac4f00c79f39a29ea5ac9470d7 Author: Paul E. McKenney Date: Sun Oct 25 19:03:53 2009 -0700 rcu: Add synchronize_srcu_expedited() to the documentation Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226354176-git-send-email-> Signed-off-by: Ingo Molnar commit 804bb8370522a569bd3a732b9de5fbd55e26f155 Author: Paul E. McKenney Date: Sun Oct 25 19:03:52 2009 -0700 rcu: Add synchronize_srcu_expedited() to the rcutorture test suite Adds the "srcu_expedited" torture type, and also renames sched_ops_sync to sched_sync_ops for consistency while we are in this file. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226353636-git-send-email-> Signed-off-by: Ingo Molnar commit 0cd397d33608ae6c97d2ee6c8c43462b419b7e26 Author: Paul E. McKenney Date: Sun Oct 25 19:03:51 2009 -0700 rcu: Add synchronize_srcu_expedited() This patch creates a synchronize_srcu_expedited() that uses synchronize_sched_expedited() where synchronize_srcu() uses synchronize_sched(). The synchronize_srcu() and synchronize_srcu_expedited() functions become one-liners that pass synchronize_sched() or synchronize_sched_expedited(), repectively, to a new __synchronize_srcu() function. While in the file, move the EXPORT_SYMBOL_GPL()s to immediately follow the corresponding functions. Requested-by: Avi Kivity Tested-by: Marcelo Tosatti Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: avi@redhat.com LKML-Reference: <12565226354038-git-send-email-> Signed-off-by: Ingo Molnar commit 9b1d82fa1611706fa7ee1505f290160a18caf95d Author: Paul E. McKenney Date: Sun Oct 25 19:03:50 2009 -0700 rcu: "Tiny RCU", The Bloatwatch Edition This patch is a version of RCU designed for !SMP provided for a small-footprint RCU implementation. In particular, the implementation of synchronize_rcu() is extremely lightweight and high performance. It passes rcutorture testing in each of the four relevant configurations (combinations of NO_HZ and PREEMPT) on x86. This saves about 1K bytes compared to old Classic RCU (which is no longer in mainline), and more than three kilobytes compared to Hierarchical RCU (updated to 2.6.30): CONFIG_TREE_RCU: text data bss dec filename 183 4 0 187 kernel/rcupdate.o 2783 520 36 3339 kernel/rcutree.o 3526 Total (vs 4565 for v7) CONFIG_TREE_PREEMPT_RCU: text data bss dec filename 263 4 0 267 kernel/rcupdate.o 4594 776 52 5422 kernel/rcutree.o 5689 Total (6155 for v7) CONFIG_TINY_RCU: text data bss dec filename 96 4 0 100 kernel/rcupdate.o 734 24 0 758 kernel/rcutiny.o 858 Total (vs 848 for v7) The above is for x86. Your mileage may vary on other platforms. Further compression is possible, but is being procrastinated. Changes from v7 (http://lkml.org/lkml/2009/10/9/388) o Apply Lai Jiangshan's review comments (aside from might_sleep() in synchronize_sched(), which is covered by SMP builds). o Fix up expedited primitives. Changes from v6 (http://lkml.org/lkml/2009/9/23/293). o Forward ported to put it into the 2.6.33 stream. o Added lockdep support. o Make lightweight rcu_barrier. Changes from v5 (http://lkml.org/lkml/2009/6/23/12). o Ported to latest pre-2.6.32 merge window kernel. - Renamed rcu_qsctr_inc() to rcu_sched_qs(). - Renamed rcu_bh_qsctr_inc() to rcu_bh_qs(). - Provided trivial rcu_cpu_notify(). - Provided trivial exit_rcu(). - Provided trivial rcu_needs_cpu(). - Fixed up the rcu_*_enter/exit() functions in linux/hardirq.h. o Removed the dependence on EMBEDDED, with a view to making TINY_RCU default for !SMP at some time in the future. o Added (trivial) support for expedited grace periods. Changes from v4 (http://lkml.org/lkml/2009/5/2/91) include: o Squeeze the size down a bit further by removing the ->completed field from struct rcu_ctrlblk. o This permits synchronize_rcu() to become the empty function. Previous concerns about rcutorture were unfounded, as rcutorture correctly handles a constant value from rcu_batches_completed() and rcu_batches_completed_bh(). Changes from v3 (http://lkml.org/lkml/2009/3/29/221) include: o Changed rcu_batches_completed(), rcu_batches_completed_bh() rcu_enter_nohz(), rcu_exit_nohz(), rcu_nmi_enter(), and rcu_nmi_exit(), to be static inlines, as suggested by David Howells. Doing this saves about 100 bytes from rcutiny.o. (The numbers between v3 and this v4 of the patch are not directly comparable, since they are against different versions of Linux.) Changes from v2 (http://lkml.org/lkml/2009/2/3/333) include: o Fix whitespace issues. o Change short-circuit "||" operator to instead be "+" in order to fix performance bug noted by "kraai" on LWN. (http://lwn.net/Articles/324348/) Changes from v1 (http://lkml.org/lkml/2009/1/13/440) include: o This version depends on EMBEDDED as well as !SMP, as suggested by Ingo. o Updated rcu_needs_cpu() to unconditionally return zero, permitting the CPU to enter dynticks-idle mode at any time. This works because callbacks can be invoked upon entry to dynticks-idle mode. o Paul is now OK with this being included, based on a poll at the Kernel Miniconf at linux.conf.au, where about ten people said that they cared about saving 900 bytes on single-CPU systems. o Applies to both mainline and tip/core/rcu. Signed-off-by: Paul E. McKenney Acked-by: David Howells Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351355-git-send-email-> Signed-off-by: Ingo Molnar commit c182be37ed7cb04c344501b88b8fdb747016e6cf Author: Kristian Høgsberg Date: Sat Sep 12 04:33:34 2009 +1000 drm: Add async event synchronization for drmWaitVblank This patch adds a new flag to the drmWaitVblank ioctl, which asks the drm to return immediately and notify userspace when the specified vblank sequence happens by sending an event back on the drm fd. The event mechanism works with the other flags supported by the ioctls, specifically, the vblank sequence can be specified relatively or absolutely, and works for primary and seconday crtc. The signal field of the vblank request is used to provide user data, which will be sent back to user space in the vblank event. Signed-off-by: Kristian Høgsberg Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit 0a5c1e61dbaceb6ce56281a3128a6912b0dcd043 Author: Robert Noland Date: Tue Oct 20 07:23:07 2009 -0500 drm/radeon: A bit of cleanup work on radeon_freelist_get() Fix the main loop to search all buffers before sleeping. Remove dead code Signed-off-by: Robert Noland Signed-off-by: Dave Airlie commit 6253195b671b98a4e5da5d39c2df9f8f257bcea1 Merge: 15893fb 60339fa Author: Paul Mundt Date: Mon Oct 26 10:48:18 2009 +0900 Merge branch 'sh/stable-updates' Conflicts: arch/sh/kernel/dwarf.c commit 15893fb565921507da80e500d85bb2575989bb57 Merge: f32154c 96987d9 Author: Paul Mundt Date: Mon Oct 26 10:47:44 2009 +0900 Merge branch 'sh/sdhi-mfd' Conflicts: arch/sh/boards/mach-ecovec24/setup.c arch/sh/boards/mach-kfr2r09/setup.c commit 96987d96f0058d8689a2b8ac288dbff2e6d85563 Author: Kuninori Morimoto Date: Fri Oct 2 07:54:42 2009 +0000 sh: mach-ecevec24: Add SDHI support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit d2a2fb97d1af449238d24356b1659325cf00372e Author: Magnus Damm Date: Fri Oct 2 02:23:19 2009 +0000 sh: SDHI platform data to the kfr2r09 board Add SD Card support to the kfr2r09 board using the sh_mobile_sdhi driver hooked up to SDHI0 and yc304. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0f79af600946d2c0067587fe8154f36095a1ba97 Author: Magnus Damm Date: Fri Oct 2 02:23:07 2009 +0000 sh: SDHI platform data to the SE7724 board Add SD Card support to the se7724 board using the sh_mobile_sdhi driver hooked up to SDHI0 and CN7. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 17f81473d1439178a1b5c50fdc013771993d6ec4 Author: Magnus Damm Date: Fri Oct 2 02:22:56 2009 +0000 sh: SDHI platform data to the AP325RXA board Convert the AP325 board to use sh_mobile_sdhi for the SD Card connected to CN3 instead of mmc_spi. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2e3fc56c8d42ef7e0040a61f55295e3826c9d7b2 Author: Magnus Damm Date: Fri Oct 2 02:22:43 2009 +0000 sh: SDHI platform data to the Migo-R board Convert the Migo-R board to use sh_mobile_sdhi for the SD Card connected to CN9 instead of mmc_spi. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6d522b05984404d6c22cc5dfd2c989bbcf3df8c9 Author: Magnus Damm Date: Fri Oct 2 02:22:21 2009 +0000 mmc: Add SuperH to the tmio-mmc Kconfig Add SUPERH to the Kconfig dependencies for tmio_mmc. This change allows us to drive the SDHI hardware blocks found in SuperH Mobile with tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a87d563873a6f1ee98233b57af665f2d0fc90ebb Author: Magnus Damm Date: Fri Oct 2 02:22:09 2009 +0000 mfd: Add SuperH Mobile SDHI platform driver This patch adds an MFD driver for the SuperH Mobile SDHI hardware block. At this point the driver simply wraps the tmio-mmc driver with some clock code. In the future this driver is the place to put SDHI specific hotplug code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f32154c9b580f11017b01bf093514c900c09364e Author: Paul Mundt Date: Mon Oct 26 09:50:51 2009 +0900 sh: Add dma-mapping support for dma_alloc/free_coherent() overrides. This moves the current dma_alloc/free_coherent() calls to a generic variant and plugs them in for the nommu default. Other variants can override the defaults in the dma mapping ops directly. Signed-off-by: Paul Mundt commit 7a1fecf57f435e50ed86851cbb701f4b28e65135 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:48 2009 +0300 ASoC: TWL4030: Driver registration via twl4030_codec MFD Change the way how the twl4030 soc codec driver is loaded/probed. Use the device probing via tlw4030_codec MFD device. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1f0f9b67f98a873fca8288ccb7f2a0f3c8f34371 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:47 2009 +0300 ASoC: TWL4030: use the twl4030-codec.h for register descriptions Remove the register descriptions from the twl4030.h file and use the linux/mfd/twl4030-codec.h instead, which has the codec related register descriptions also. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f8d9aad96d0d7b57d0bf2e4de21fdda3a42f4449 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:46 2009 +0300 OMAP: Platform support for twl4030_codec MFD Add needed platform data for the twl4030_codec MFD on boards, where the audio part of the twl4030 codec is used. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 0b83ddebc6e884dc0221358cf68c461520fbdd8e Author: Peter Ujfalusi Date: Thu Oct 22 13:26:45 2009 +0300 MFD: twl4030: add twl4030_codec MFD as a new child to the core New MFD child to twl4030 MFD device. Reason for the twl4030_codec MFD: the vibra control is actually in the codec part of the twl4030. If both the vibra and the audio functionality is needed from the twl4030 at the same time, than they need to control the codec power and APLL at the same time without breaking the other driver. Also these two has to be able to work without the need for the other driver. This MFD device will be used by the drivers, which needs resources from the twl4030 codec like audio and vibra. The platform specific configuration data is passed along to the child drivers (audio, vibra). Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 7a041097518a120f92af631a83db4d41e07ee51b Author: Avi Kivity Date: Sun Oct 25 14:24:45 2009 +0200 x86: Fix user return notifier build When CONFIG_USER_RETURN_NOTIFIER is set, we need to link kernel/user-return-notifier.o. Signed-off-by: Avi Kivity LKML-Reference: <1256473485-23109-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797 Author: Ryota Ozaki Date: Sat Oct 24 01:20:10 2009 +0900 sched, cpuacct: Fix niced guest time accounting CPU time of a guest is always accounted in 'user' time without concern for the nice value of its counterpart process although the guest is scheduled under the nice value. This patch fixes the defect and accounts cpu time of a niced guest in 'nice' time as same as a niced process. And also the patch adds 'guest_nice' to cpuacct. The value provides niced guest cpu time which is like 'nice' to 'user'. The original discussions can be found here: http://www.mail-archive.com/kvm@vger.kernel.org/msg23982.html http://www.mail-archive.com/kvm@vger.kernel.org/msg23860.html Signed-off-by: Ryota Ozaki Acked-by: Avi Kivity Cc: Peter Zijlstra LKML-Reference: <1256314810-7897-1-git-send-email-ozaki.ryota@gmail.com> Signed-off-by: Ingo Molnar commit 0b9e31e9264f1bad89856afb96da1688292f13b4 Merge: cf82ff7 964fe08 Author: Ingo Molnar Date: Sun Oct 25 17:30:53 2009 +0100 Merge branch 'linus' into sched/core Conflicts: fs/proc/array.c Merge reason: resolve conflict and queue up dependent patch. Signed-off-by: Ingo Molnar commit cd3abf98aeaec9b23a926159856b54a95707ee88 Author: Yegor Yefremov Date: Fri Oct 23 11:27:59 2009 +0100 ARM: 5770/1: Add DMA Engine support to at91sam9g45 Add at91sam9g45 dependency to drivers/dma/Kconfig Signed-off-by: Yegor Yefremov Acked-by: Nicolas Ferre Signed-off-by: Russell King commit f51f78c06c7fb442d304b93b68b3a1ebe3785a55 Author: Nicolas Ferre Date: Fri Sep 25 12:11:32 2009 +0100 ARM: 5726/1: at91/USB: at91sam9g45 series USB host integration This is the at91 specific part of USB host integration. The EHCI high speed controller has a companion OHCI controller to manage USB full and low speed. They are sharing the same IRQ line and vbus pin. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 40f5b07832ce29e66f42b61a2e9a1fd94783c136 Author: Rabin Vincent Date: Sun Oct 25 16:55:33 2009 +0100 ARM: 5772/1: Use REV and REV16 for byte swapping on ARMv6+ ARMv6 introduced the REV and REV16 instructions that reverse bytes in words and halfwords. Use them for the arch-specific implementation of the byte swapping helpers on ARMv6+. Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 6c21a7fb492bf7e2c4985937082ce58ddeca84bd Author: Mimi Zohar Date: Thu Oct 22 17:30:13 2009 -0400 LSM: imbed ima calls in the security hooks Based on discussions on LKML and LSM, where there are consecutive security_ and ima_ calls in the vfs layer, move the ima_ calls to the existing security_ hooks. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6ae3b84d979308671bf6f6a2123c258a8603d61c Author: Dominik Brodowski Date: Sun Oct 18 18:14:32 2009 +0200 serial_cs: use pcmcia_loop_config() and pre-determined values As the PCMCIA core already determines the multifunction count, the ConfigBase address and the Present value, we can use them directly instead of parsing the CIS again. By making use of pcmcia_loop_config(), we can further remove the remaining call to pcmcia_get_first_tuple() and friends. CC: linux-serial@vger.kernel.org CC: Russell King Signed-off-by: Dominik Brodowski commit bb015f0c85362aa767f8f00f50a40d85e489414f Author: Wolfram Sang Date: Mon Oct 19 11:43:32 2009 +0200 pcmcia: drop already defined PCI_IDs Out of 10 PCI_IDs found in the PCMCIA subsystem, only two were not defined in pci_ids.h. Move them and drop the duplicates. Successfully build-tested. Signed-off-by: Wolfram Sang Cc: Jesse Barnes Signed-off-by: Dominik Brodowski commit 7c28bd0b8ec4d128bd7660671d1b626b0abc471f Author: Eric Dumazet Date: Sat Oct 24 06:13:17 2009 -0700 rtnetlink: speedup rtnl_dump_ifinfo() When handling large number of netdevice, rtnl_dump_ifinfo() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the 256 sub lists of the dev_index hash table. This considerably speedups "ip link" operations Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8d5b2c084d2e71587e30a6ef528a8a8051e59dcd Author: Eric Dumazet Date: Fri Oct 23 06:14:38 2009 +0000 gre: convert hash tables locking to RCU GRE tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2922bc8aedfcd41ca6171cfe1a79ff111ad72019 Author: Eric Dumazet Date: Fri Oct 23 06:34:34 2009 +0000 ip6tnl: convert hash tables locking to RCU ip6_tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8f95dd63a2ab6fe7243c4f0bd2c3266e3a5525ab Author: Eric Dumazet Date: Fri Oct 23 05:42:02 2009 +0000 ipip: convert hash tables locking to RCU IPIP tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 91cc3bb0b04ffef49bb044e06b221ea5de053e91 Author: Eric Dumazet Date: Fri Oct 23 18:19:19 2009 +0000 xfrm6_tunnel: RCU conversion xfrm6_tunnels use one rwlock to protect their hash tables. Plain and straightforward conversion to RCU locking to permit better SMP performance. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4543c10de267bdd4f9acdb7708456909ed7eed3c Author: Eric Dumazet Date: Fri Oct 23 17:52:14 2009 +0000 ipv6 sit: RCU conversion phase II SIT tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ef9a9d1183b36fbf3de327f44596533b770c3005 Author: Eric Dumazet Date: Fri Oct 23 17:51:26 2009 +0000 ipv6 sit: RCU conversion phase I SIT tunnels use one rwlock to protect their prl entries. This first patch adds RCU locking for prl management, with standard call_rcu() calls. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b37b62fea1d1bf68ca51818f8eb1035188efd030 Author: Ben Hutchings Date: Fri Oct 23 08:33:42 2009 +0000 sfc: Rename 'xfp' file and functions to reflect reality The 'XFP' driver is really a driver for the QT2022C2 and QT2025C PHYs, covering both more and less than XFP. Rename its functions and constants to reflect reality and to reduce namespace pollution when sfc is a built-in driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fc2b5e673fceece2bbc153fe8c63c8cf93cfe611 Author: Ben Hutchings Date: Fri Oct 23 08:33:27 2009 +0000 sfc: Remove unused code for non-autoneg speed/duplex switching The only multi-speed PHY driver using this is 10Xpress, and it does not support non-autoneg operation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 18ea024fd6abd1a857de9dc0f588a222cf279521 Author: Ben Hutchings Date: Fri Oct 23 08:33:17 2009 +0000 sfc: Merge efx_fc_resolve() into efx_mdio_get_pause() efx_fc_resolve() is specific to MDIO and is not used by any other function. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a5211bb5f72c55d936dab56363ca9755981164bd Author: Ben Hutchings Date: Fri Oct 23 08:33:09 2009 +0000 sfc: Move MTD probe after netdev registration and name allocation The MTD partition is named based on the netdev name, which is set to 'eth%d' before registration. Also, the MTD partition will currently be left registered if netdev registration fails. Fix both these problems by moving the MTD probe after netdev registration. Hold the RTNL to serialise this with the netdev notifier that calls efx_mtd_rename(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2ed380a59b3725dc5fbda3627792172afbefc8eb Author: Ben Hutchings Date: Fri Oct 23 08:33:00 2009 +0000 sfc: Remove unnecessary tests of efx->membase These cleanup functions will never be called if the MMIO region could not be mapped. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be4b163b28917499ea1f8755eee8509ee2675ec3 Author: Ben Hutchings Date: Fri Oct 23 08:32:51 2009 +0000 sfc: Remove incorrect assertion from efx_pci_remove_main() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 96c45726c7dd5ee11b8773810208c41e40a93ffd Author: Ben Hutchings Date: Fri Oct 23 08:32:42 2009 +0000 sfc: Merge falcon_probe_phy() into falcon_probe_port() MAC and PHY probing are bound up together, as evidenced by the initialisation of efx_nic::loopback_modes. Remove the current arbitrary separation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit dc803df8dd68a045bea4753f5300eeecb961ca2d Author: Ben Hutchings Date: Fri Oct 23 08:32:33 2009 +0000 sfc: Remove pointless abstraction of memory BAR number Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8698a6b642910a3d35be7160cd00dc98ab584d97 Author: Ben Hutchings Date: Fri Oct 23 08:32:22 2009 +0000 sfc: Removed kernel-doc for nonexistent member of efx_phy_operations Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0d86ebd815416efb4e95ca70c3b8e65b476c5f9f Author: Ben Hutchings Date: Fri Oct 23 08:32:13 2009 +0000 sfc: Maintain interrupt moderation values in ticks, not microseconds This simplifies the implementation a lot. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0484e0db7c4293d6202cff730ee359d8a7a6b085 Author: Ben Hutchings Date: Fri Oct 23 08:32:04 2009 +0000 sfc: Move shared members of struct falcon_nic_data into struct efx_nic These will also be used with Siena NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 59cf09cc2fdbb651193e95d7c3335e751b8f748d Author: Ben Hutchings Date: Fri Oct 23 08:31:54 2009 +0000 sfc: Move efx_xmit_done() declaration into correct stanza Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5c86987e86d604442d81795259fc2c02308e8f44 Author: Ben Hutchings Date: Fri Oct 23 08:31:46 2009 +0000 sfc: Remove declarations of nonexistent functions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f01865f0649f3d42b70fec8968adfd53734a3380 Author: Ben Hutchings Date: Fri Oct 23 08:31:37 2009 +0000 sfc: Change order of device removal to reverse of probe order This makes efx_pci_remove_main() more obviously the inverse of efx_pci_probe_main(), and matches our out-of-tree driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7d4cdb5af0d079d095501ad4164b4985a1661098 Author: Ben Hutchings Date: Fri Oct 23 08:31:29 2009 +0000 sfc: Merge struct efx_blinker into struct efx_board Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 63f1988419ccaa544d1d31aadc1dd309f6471ffe Author: Ben Hutchings Date: Fri Oct 23 08:31:20 2009 +0000 sfc: Move all TX DMA length limiting into tx.c Replace the duplicated logic in efx_enqueue_skb() and efx_tx_queue_insert() with an inline function, efx_max_tx_len(). Remove the failed attempt at abstracting hardware-specifics and put all the magic numbers in efx_max_tx_len(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6d51d307509f98f070688b4bff1d0f7462c4d3ec Author: Ben Hutchings Date: Fri Oct 23 08:31:07 2009 +0000 sfc: Define DMA address mask explicitly in terms of descriptor field width Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3ffeabdd2bc62e0ebcb1a51a5d959a86a7a915fc Author: Ben Hutchings Date: Fri Oct 23 08:30:58 2009 +0000 sfc: Eliminate indirect lookups of queue size constants Move size and mask definitions into efx.h; calculate page orders in falcon.c. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 12d00cadcc45382fc127712aa35bd0c96cbf81d9 Author: Ben Hutchings Date: Fri Oct 23 08:30:46 2009 +0000 sfc: Rename register I/O header and functions used by both Falcon and Siena While we're at it, use type suffixes of 'd', 'q' and 'o', consistent with register type names. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3e6c4538542ab2103ab7c01f4458bc2e21b672a1 Author: Ben Hutchings Date: Fri Oct 23 08:30:36 2009 +0000 sfc: Update hardware definitions for Siena Siena is still based on the Falcon hardware architecture and will share many of these definitions, so replace falcon_hwdefs.h with regs.h. The new definitions have been generated according to a naming convention which incorporates the type and revision information. Update the code accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 625b451455cebb7120492766c8425b6e808fc209 Author: Ben Hutchings Date: Fri Oct 23 08:30:17 2009 +0000 sfc: Move RX data FIFO thresholds out of struct efx_nic_type Since there are now separate blocks of code to set the thresholds for each NIC type, it is no longer useful to include them in the NIC type description. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 56241ceb9e75fc1a5fb142a754096ad6c6ab19ee Author: Ben Hutchings Date: Fri Oct 23 08:30:06 2009 +0000 sfc: Remove versioned bitfield macros These macros are not extensible to more than two NIC types without repetition of register definitions, and they are only used to deal with a few fields in RX_CFG_REG and global events which moved between Falcon rev A1 and B0. Therefore: - Move RX_CFG_REG initialisation into its own function which tests the NIC revision just once - Explicitly test the NIC revision when checking the RX_RECOVERY flag in global events - Merge definitions of RX_XOFF_MAC_EN flag, which did not move - Remove the macro definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5087b54ddc4f3a1007c0984177934c016d884639 Author: Ben Hutchings Date: Fri Oct 23 08:29:51 2009 +0000 sfc: Remove boards.h, moving last remaining declaration to falcon.h Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c9597d4f89565b6562bd3026adbe6eac6c317f47 Author: Ben Hutchings Date: Fri Oct 23 08:29:33 2009 +0000 sfc: Merge sfe4001.c into falcon_boards.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3473a5b11827fa0f84f18b79373a26290798f54a Author: Ben Hutchings Date: Fri Oct 23 08:29:16 2009 +0000 sfc: Rename Falcon-specific board code and types Siena will require entirely different board code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 19e71cf6910defed10c5d22af9f4591bbcd6a0fe Author: Ben Hutchings Date: Fri Oct 23 08:28:53 2009 +0000 sfc: Remove redundant hardware initialisation Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7dbb06f7073a5d8a175ff6a1dc149f2505742614 Author: Ben Hutchings Date: Fri Oct 23 08:28:45 2009 +0000 sfc: Remove redundant header gmii.h Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4868402d9582bfb00a5f0157ae5d7ffd2d539fb0 Author: Alexander Potashev Date: Sat Oct 24 03:37:23 2009 +0400 x86, boot: Simplify setting of the PAE bit A single 'movl' is shorter than the 'xorl'-'orl' pair. No change in behaviour. Signed-off-by: Alexander Potashev LKML-Reference: <1256341043-4928-1-git-send-email-aspotashev@gmail.com> Signed-off-by: Ingo Molnar commit 6e8e16c7bc298d7887584c3d027e05db3e86eed9 Author: Eric Paris Date: Thu Oct 22 15:38:26 2009 -0400 SELinux: add .gitignore files for dynamic classes The SELinux dynamic class work in c6d3aaa4e35c71a32a86ececacd4eea7ecfc316c creates a number of dynamic header files and scripts. Add .gitignore files so git doesn't complain about these. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit 5c828713358cb9df8aa174371edcbbb62203a490 Author: Christian Borntraeger Date: Fri Oct 23 14:58:11 2009 +0200 ratelimit: Make suppressed output messages more useful Today I got: [39648.224782] Registered led device: iwl-phy0::TX [40676.545099] __ratelimit: 246 callbacks suppressed [40676.545103] abcdef[23675]: segfault at 0 ... as you can see the ratelimit message contains a function prefix. Since this is always __ratelimit, this wont help much. This patch changes __ratelimit and printk_ratelimit to print the function name that calls ratelimit. This will pinpoint the responsible function, as long as not several different places call ratelimit with the same ratelimit state at the same time. In that case we catch only one random function that calls ratelimit after the wait period. Signed-off-by: Christian Borntraeger Cc: Dave Young Cc: Linus Torvalds CC: Andrew Morton LKML-Reference: <200910231458.11832.borntraeger@de.ibm.com> Signed-off-by: Ingo Molnar commit 72f279b256d520e321a850880d094bc0bcbf45d6 Author: Sheng Yang Date: Thu Oct 22 19:19:34 2009 +0800 generic-ipi: Fix misleading smp_call_function*() description After commit:8969a5ede0f9e17da4b943712429aef2c9bcd82b "generic-ipi: remove kmalloc()", wait = 0 can be guaranteed. Signed-off-by: Sheng Yang Cc: Peter Zijlstra Cc: Jens Axboe Cc: Nick Piggin LKML-Reference: <1256210374-25354-1-git-send-email-sheng@linux.intel.com> Signed-off-by: Ingo Molnar commit b1258ac2963d42ee7e807d2993d15e3dd39ff4b0 Author: Minchan Kim Date: Thu Oct 22 11:27:22 2009 +0900 x86: Remove pfn in add_one_highpage_init() commit cc9f7a0ccf000d4db5fbdc7b0ae48eefea102f69 changed add_one_highpage_init. We don't use pfn any more. Let's remove unnecessary argument. This patch doesn't chage function behavior. This patch is based on v2.6.32-rc5. Signed-off-by: Minchan Kim Cc: Yinghai Lu LKML-Reference: <20091022112722.adc8e55c.minchan.kim@barrios-desktop> Signed-off-by: Ingo Molnar commit 40b1f4e5113eafc5e84f2ba86822df66087fcb25 Author: Michael Neuling Date: Thu Oct 22 14:39:28 2009 +1100 irq: trivial: Fix typo in comment for #endif The comment suggests this #endif is CONFIG_X86 but it's really CONFIG_TRACE_IRQFLAGS_SUPPORT Signed-off-by: Michael Neuling Cc: michael@ellerman.id.au LKML-Reference: <18191.1256182768@neuling.org> Signed-off-by: Ingo Molnar commit b7cb10e790fbd145296e771f789273a875c15719 Author: Arnaldo Carvalho de Melo Date: Wed Oct 21 17:34:06 2009 -0200 perf probe: Print debug messages using pr_*() Use the new pr_{err,warning,debug,etc} printout methods, just like in the kernel. Signed-off-by: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256153646-10097-1-git-send-email-acme@redhat.com> [ Split this patch out, to keep perf/probes separate. ] Signed-off-by: Ingo Molnar commit 43315956509ca6913764861ac7dec128b91eb1ec Merge: 9bf4e7f 6beba7a Author: Ingo Molnar Date: Fri Oct 23 08:23:20 2009 +0200 Merge branch 'perf/core' into perf/probes Conflicts: tools/perf/Makefile Merge reason: - fix the conflict - pick up the pr_*() infrastructure to queue up dependent patch Signed-off-by: Ingo Molnar commit 6beba7adbe092e63dfe8d09fbd1e3ec140474a13 Author: Arnaldo Carvalho de Melo Date: Wed Oct 21 17:34:06 2009 -0200 perf tools: Unify debug messages mechanisms We were using eprintf in some places, that looks at a global 'verbose' level, and at other places passing a 'v' parameter to specify the verbosity level, unify it by introducing pr_{err,warning,debug,etc}, just like in the kernel. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256153646-10097-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 802da5f2289bbe363acef084805195c11f453c48 Author: Frederic Weisbecker Date: Thu Oct 22 23:23:24 2009 +0200 perf tools: Drop asm/types.h wrapper Wrapping the kernel headers is dangerous when it comes to arch headers. Once we wrap asm/types.h, it will also replace the glibc asm/types.h, not only the kernel one. This results in build errors on some machines. Drop this wrapper and do its work from linux/types.h wrapper, also the glibc asm/types.h can already handle most of the type definition it was doing (typedef __u64, __u32, etc...). Todo: Check the others asm/*.h wrappers to prevent from other conflicts. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard LKML-Reference: <1256246604-17156-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a4fb581b15949cfd10b64c8af37bc106e95307f3 Author: Frederic Weisbecker Date: Thu Oct 22 23:23:23 2009 +0200 perf tools: Bind callchains to the first sort dimension column Currently, the callchains are displayed using a constant left margin. So depending on the current sort dimension configuration, callchains may appear to be well attached to the first sort dimension column field which is mostly the case, except when the first dimension of sorting is done by comm, because these are right aligned. This patch binds the callchain to the first letter in the first column, whatever type of column it is (dso, comm, symbol). Before: 0.80% perf [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify | | __fsnotify_parent After: 0.80% perf [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify | | __fsnotify_parent Also, for clarity, we don't put anymore the callchain as is but: - If we have a top level ancestor in the callchain, start it with a first ascii hook. Before: 0.80% perf [kernel] [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify [..] [..] After: 0.80% perf [kernel] [k] __lock_acquire | --- __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify [..] [..] - Otherwise, if we have several top level ancestors, then display these like we did before: 1.69% Xorg | |--21.21%-- vread_hpet | 0x7fffd85b46fc | 0x7fffd85b494d | 0x7f4fafb4e54d | |--15.15%-- exaOffscreenAlloc | |--9.09%-- I830WaitLpRing Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard LKML-Reference: <1256246604-17156-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit af0a6fa46388e1e0c2d1a672aad84f8f6ef0b20b Author: Frederic Weisbecker Date: Thu Oct 22 23:23:22 2009 +0200 perf tools: Fix missing top level callchain While recursively printing the branches of each callchains, we forget to display the root. It is never printed. Say we have: symbol f1 f2 | -------- f3 | f4 | ---------f5 f6 Actually we never see that, instead it displays: symbol | --------- f3 | f4 | --------- f5 f6 However f1 is always the same than "symbol" and if we are sorting by symbols first then "symbol", f1 and f2 will be well aligned like in the above example, so displaying f1 looks redundant here. But if we are sorting by something else first (dso, comm, etc...), displaying f1 doesn't look redundant but rather necessary because the symbol is not well aligned anymore with its callchain: comm dso symbol f1 f2 | --------- [...] And we want the callchain to be obvious. So we fix the bug by printing the root branch, but we also filter its first entry if we are sorting by symbols first. Reported-by: Anton Blanchard Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1256246604-17156-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1c55d62e77fa16cdace417834fc7b8a421a1877f Author: jamal Date: Thu Oct 15 03:09:18 2009 +0000 pkt_sched: skbedit add support for setting mark This adds support for setting the skb mark. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 188586b28deda2dd4888a306cb6202cc6f408103 Author: Ben Hutchings Date: Thu Oct 22 18:31:39 2009 -0700 sfc: 10Xpress: Report support for pause frames Commits 27fbc7d 'mdio: Expose pause frame advertising flags to ethtool' and c634263 'sfc: 10Xpress: Initialise pause advertising flags' added to our reported advertising flags. efx_mdio_set_settings() requires that all advertising flags are also present in the supported flags, so make sure that is true. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a3d1289126e7b14307074b76bf1677015ea5036f Author: Eric Dumazet Date: Wed Oct 21 10:59:31 2009 +0000 rtnetlink: rtnl_setlink() and rtnl_getlink() changes rtnl_getlink() & rtnl_setlink() run with RTNL held, we can use __dev_get_by_index() and __dev_get_by_name() variants and avoid dev_hold()/dev_put() Adds to rtnl_getlink() the capability to find a device by its name, not only by its index. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ffc11800cb2a74b05c2f5b28966ebd50b27f70c Author: Janusz Krzysztofik Date: Wed Oct 21 23:10:03 2009 +0200 ASoC: OMAP: Don't try to set unsupported OMAP_DMA_DATA_BURST_16 on OMAP1 After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c, omap_pcm_prepare() unconditionally calls: omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); Current implementation of those two functions found in arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at all, so they both end with BUG() on that machine. That results in ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta. The patch corrects the problem by not calling those two functions when run on OMAP1 class based machines. Created against linux-2.6.32-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit a61f80261306ad11d9c8a453307a56417cfeae03 Author: Ron Mercer Date: Wed Oct 21 11:07:41 2009 +0000 qlge: Add ethtool register dump function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bc083ce98eeb42205e99495481c8616d30916f6e Author: Ron Mercer Date: Wed Oct 21 11:07:40 2009 +0000 qlge: Add ethtool wake on LAN function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d8eb59dc8b9e77bb4fa5420ff80142759ad5cd7b Author: Ron Mercer Date: Wed Oct 21 11:07:39 2009 +0000 qlge: Add ethtool blink function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1d30df24ec85477368e6e38fe1b4d1b67b3be9d4 Author: Ron Mercer Date: Wed Oct 21 11:07:38 2009 +0000 qlge: Add ethtool get/set pause parameter. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 017deee63934349a70292666acfedea8e6eb6eb8 Author: Peter Ujfalusi Date: Wed Oct 21 09:58:35 2009 +0300 ASoC: tlv320dac33: typo fix in the header Fix the definition of DAC33_LTM field, the LTM bits in FIFO_IRQ_MODE_B register are starting at bit 6. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 02624621a58d7030e0e56f1e3df490202e59056c Author: Janusz Krzysztofik Date: Wed Oct 21 04:40:55 2009 +0200 ASoC: Amstrad Delta minor cleanups Hi Mark, Here is a patch that corrects small omissions I have found in my code. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 9bf4e7fba8006d19846fec877b6da0616b2772de Author: Ingo Molnar Date: Wed Oct 21 14:39:51 2009 +0200 x86, instruction decoder: Fix test_get_len build rules Add the kernel source include file as well to the include files search path, to fix this build bug: In file included from arch/x86/tools/test_get_len.c:28: arch/x86/lib/insn.c:21:26: error: linux/string.h: No such file or directory Cc: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 4e3b799d7dbb2a12ca8dca8d3594d32095772973 Author: Steven Rostedt Date: Tue Oct 20 19:19:35 2009 -0400 perf tools: Use strsep() over strtok_r() for parsing single line The second argument in the strtok_r() function is not to be used generically and can have different implementations. Currently the function parsing of the perf trace code uses the second argument to copy data from. This can crash the tool or just have unpredictable results. The correct solution is to use strsep() which has a defined result. I also added a check to see if the result was correct, and will break out of the loop in case it fails to parse as expected. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20091020232034.237814877@goodmis.org> Signed-off-by: Ingo Molnar commit 60d526f7fa6246b8e32d5b45610d625a5608d988 Author: Steven Rostedt Date: Tue Oct 20 19:19:34 2009 -0400 perf tools: Add 'make DEBUG=1' to remove the -O6 cflag When using gdb to debug perf, it is practically impossible to use when perf is compiled with -O6. For developers, this patch adds the DEBUG feature to the make command line so that a developer can easily remove the optimization flag. LKML-Reference: <1255590330.8392.446.camel@twins> Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091020232033.984323261@goodmis.org> Signed-off-by: Ingo Molnar commit 9983d60d74db9e544c6cb6f65351849fe8e9c1de Author: Masami Hiramatsu Date: Tue Oct 20 12:55:31 2009 -0400 x86: Add AES opcodes to opcode map Add Intel AES opcodes to x86 opcode map. These opcodes are used in arch/x86/crypt/aesni-intel_asm.S. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 06ed6ba5ecb771cc3a967838a4bb1d9cbd8786b9 Author: Masami Hiramatsu Date: Tue Oct 20 12:55:24 2009 -0400 x86: Fix group attribute decoding bug Fix a typo in inat_get_group_attribute() which should refer inat_group_tables, not inat_escape_tables. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165524.4145.97333.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit a4ee3ce3293dc931fab19beb472a8bde1295aebe Author: Krishna Kumar Date: Mon Oct 19 23:50:07 2009 +0000 net: Use sk_tx_queue_mapping for connected sockets For connected sockets, the first run of dev_pick_tx saves the calculated txq in sk_tx_queue_mapping. This is not saved if either the device has a queue select or the socket is not connected. Next iterations of dev_pick_tx uses the cached value of sk_tx_queue_mapping. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit ea94ff3b55188df157a8740bdf3976a87563d705 Author: Krishna Kumar Date: Mon Oct 19 23:46:45 2009 +0000 net: Fix for dst_negative_advice dst_negative_advice() should check for changed dst and reset sk_tx_queue_mapping accordingly. Pass sock to the callers of dst_negative_advice. (sk_reset_txq is defined just for use by dst_negative_advice. The only way I could find to get around this is to move dst_negative_() from dst.h to dst.c, include sock.h in dst.c, etc) Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit f04c8276248d3dd3e15a9a72f9711ba5e4069049 Author: Krishna Kumar Date: Mon Oct 19 23:46:32 2009 +0000 net: IPv6 changes IPv6: Reset sk_tx_queue_mapping when dst_cache is reset. Use existing macro to do the work. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit e022f0b4a03f4fff9323b509df023b8af635716e Author: Krishna Kumar Date: Mon Oct 19 23:46:20 2009 +0000 net: Introduce sk_tx_queue_mapping Introduce sk_tx_queue_mapping; and functions that set, test and get this value. Reset sk_tx_queue_mapping to -1 whenever the dst cache is set/reset, and in socket alloc. Setting txq to -1 and using valid txq=<0 to n-1> allows the tx path to use the value of sk_tx_queue_mapping directly instead of subtracting 1 on every tx. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit c88e4bf60de6253a048cf4e6b3b0715e543e0460 Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 15:54:55 2009 -0200 perf top: Fix symbol annotation We need to use map->unmap_ip() here too to match section relative symbol address to the absolute address needed to match objdump -dS addresses. Reported-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1256061295-19835-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 8f0b037398a909ccf703ad5f5803066db6327f22 Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 15:08:29 2009 -0200 perf annotate: Remove requirement of passing a symbol name If the user doesn't pass a symbol name to annotate, it will annotate all the symbols that have hits, in order, just like 'perf report -s comm,dso,symbol'. This is a natural followup patch to the one that uses output_hists to find the symbols with hits. The common case is to annotate the first few entries at the top of a perf report, so lets type less characters. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256058509-19678-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit e42049926ebdcae24fdfdc8f0e3ff8f05f24a60b Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 14:25:40 2009 -0200 perf annotate: Use the sym_priv_size area for the histogram We have this sym_priv_size mechanism for attaching private areas to struct symbol entries but annotate wasn't using it, adding private areas to struct symbol in addition to a ->priv pointer. Scrap all that and use the sym_priv_size mechanism. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256055940-19511-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit ce491cf85466c3377228c5a852ea627ec5136956 Author: Tony Lindgren Date: Tue Oct 20 09:40:47 2009 -0700 omap: headers: Move remaining headers from include/mach to include/plat Move the remaining headers under plat-omap/include/mach to plat-omap/include/plat. Also search and replace the files using these headers to include using the right path. This was done with: #!/bin/bash mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" headers=$(cd $mach_dir_old && ls *.h) omap_dirs="arch/arm/*omap*/ \ drivers/video/omap \ sound/soc/omap" other_files="drivers/leds/leds-ams-delta.c \ drivers/mfd/menelaus.c \ drivers/mfd/twl4030-core.c \ drivers/mtd/nand/ams-delta.c" for header in $headers; do old="#include commit 748879776e3b738d53e64df6dbec7394b829462a Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 01:09:17 2009 -0700 net: Avoid compiler warning for mmsghdr when CONFIG_COMPAT is not selected Reported-by: Stephen Rothwell Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d19742fb1c68e6db83b76e06dea5a374c99e104f Author: Eric Dumazet Date: Tue Oct 20 01:06:22 2009 -0700 filter: Add SKF_AD_QUEUE instruction It can help being able to filter packets on their queue_mapping. If filter performance is not good, we could add a "numqueue" field in struct packet_type, so that netif_nit_deliver() and other functions can directly ignore packets with not expected queue number. Lets experiment this simple filter extension first. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ad959e76f0fa94d299a8c25cb45de4d1b845e9ce Author: Eric Dumazet Date: Fri Oct 16 06:38:46 2009 +0000 af_packet: mc_drop/flush_mclist changes We hold RTNL, we can use __dev_get_by_index() instead of dev_get_by_index() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 94b059520d6c0cea852dc9a3e9033c6f123df7c1 Author: Eric Dumazet Date: Fri Oct 16 04:02:20 2009 +0000 af_packet: Avoid cache line dirtying While doing multiple captures, I found af_packet was dirtying cache line containing its prot_hook. This slow down machines where several cpus are necessary to handle capture traffic, as each prot_hook is traversed for each packet coming in or out the host. This patches moves "struct packet_type prot_hook" to the end of packet_sock, and uses a ____cacheline_aligned_in_smp to make sure this remains shared by all cpus. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7b6856a0296a8f187bb88ba31fa83a08abba7966 Author: Wolfgang Grandegger Date: Tue Oct 20 00:08:01 2009 -0700 can: provide library functions for skb allocation This patch makes the private functions alloc_can_skb() and alloc_can_err_skb() of the at91_can driver public and adapts all drivers to use these. While making the patch I realized, that the skb's are *not* setup consistently. It's now done as shown below: skb->protocol = htons(ETH_P_CAN); skb->pkt_type = PACKET_BROADCAST; skb->ip_summed = CHECKSUM_UNNECESSARY; *cf = (struct can_frame *)skb_put(skb, sizeof(struct can_frame)); memset(*cf, 0, sizeof(struct can_frame)); The frame is zeroed out to avoid uninitialized data to be passed to user space. Some drivers or library code did not set "pkt_type" or "ip_summed". Also, "__constant_htons()" should not be used for runtime invocations, as pointed out by David Miller. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 0eae750e6019a93643063924209c1daf9cb9b4a7 Author: John Dykstra Date: Mon Oct 19 21:53:53 2009 -0700 IP: Cleanups Use symbols instead of magic constants while checking PMTU discovery setsockopt. Remove redundant test in ip_rt_frag_needed() (done by caller). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit ce5eb7a29251a66e613a300532b642ddc23b48d8 Author: Tomas Winkler Date: Sat Oct 17 09:09:36 2009 +0000 i2400m-sdio: select IWMC3200TOP in Kconfig i2400m-sdio requires iwmc3200top for its operation Signed-off-by: Tomas Winkler Acked-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 439ca3a4b1997858a34ee414856511fe7a282553 Author: Tomas Winkler Date: Sat Oct 17 09:09:35 2009 +0000 iwmc3200wifi: select IWMC3200TOP in Kconfig iwmc3200wifi requires iwmc3200top for its operation Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: David S. Miller commit ab69a5ae2bdc0b5e20e935a7b75f30aa3f4c3bae Author: Tomas Winkler Date: Sat Oct 17 09:09:34 2009 +0000 iwmc3200top: Add Intel Wireless MultiCom 3200 top driver. This patch adds Intel Wireless MultiCom 3200 top driver. IWMC3200 is 4Wireless Com CHIP (GPS/BT/WiFi/WiMAX). Top driver is responsible for device initialization and firmware download. Firmware handled by top is responsible for top itself and as well as bluetooth and GPS coms. (Wifi and WiMax provide their own firmware) In addition top driver is used to retrieve firmware logs and supports other debugging features Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 7e75f93eda027d9f9e0203ee6ffd210ea92e98f3 Author: jamal Date: Mon Oct 19 02:17:56 2009 +0000 pkt_sched: ingress socket filter by mark Allow bpf to set a filter to drop packets that dont match a specific mark Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 7c734359d3504c869132166d159c7f0649f0ab34 Author: Ron Mercer Date: Mon Oct 19 03:32:19 2009 +0000 qlge: Size RX buffers based on MTU. Change RX large buffer size based on MTU. If pages are larger than the MTU the page is divided up into multiple chunks and passed to the hardware. When pages are smaller than MTU each RX buffer can contain be comprised of up to 2 pages. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ed52ce2e3c33dc7626a40fa2da766d1a6460e543 Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 17:17:57 2009 -0200 perf tools: Add ->unmap_ip operation to struct map We need this because we get section relative addresses when reading the symtabs, but when a tool like 'perf annotate' needs to match these address to what 'objdump -dS' produces we need the address + section back again. So in annotate now we look at the 'struct hist_entry' instances (that weren't really being used) so that we iterate only over the symbols that had some hit and get the map where that particular hit happened so that we can get the right address to match with annotate. Verified that at least: perf annotate mmap_read_counter # Uses the ~/bin/perf binary perf annotate --vmlinux /home/acme/git/build/perf/vmlinux intel_pmu_enable_all on a 'perf record perf top' session seems to work. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1255979877-12533-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit bbe2987bea26a684ff11d887dfc4cf39b22c27a2 Author: Arjan van de Ven Date: Tue Oct 20 07:09:39 2009 +0900 perf timechart: Add a process filter During the Kernel Summit demo of perf/ftrace/timechart, there was a feature request to have a process filter for timechart so that you can zoom into one or a few processes that you are really interested in. This patch adds basic support for this feature, the -p (--process) option now can select a PID or a process name to be shown. Multiple -p options are allowed, and the combined set will be included in the output. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091020070939.7d0fb8a7@infradead.org> Signed-off-by: Ingo Molnar commit c258449bc9d286e2ee6546c9cdf911e96cbc126a Merge: 79b9ad3 2e600d0 Author: Ingo Molnar Date: Tue Oct 20 07:51:41 2009 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: Queue up dependent patch. Signed-off-by: Ingo Molnar commit d6cc1c3af760c1d3f6b42f6e52b08718a6207cf1 Author: Suresh Siddha Date: Mon Oct 19 06:12:04 2009 -0700 x86-64: add comment for RODATA large page retainment Add a comment explaining why RODATA is aligned to 2 MB. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 74e081797bd9d2a7d8005fe519e719df343a2ba8 Author: Suresh Siddha Date: Wed Oct 14 14:46:56 2009 -0700 x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA CONFIG_DEBUG_RODATA chops the large pages spanning boundaries of kernel text/rodata/data to small 4KB pages as they are mapped with different attributes (text as RO, RODATA as RO and NX etc). On x86_64, preserve the large page mappings for kernel text/rodata/data boundaries when CONFIG_DEBUG_RODATA is enabled. This is done by allowing the RODATA section to be hugepage aligned and having same RWX attributes for the 2MB page boundaries Extra Memory pages padding the sections will be freed during the end of the boot and the kernel identity mappings will have different RWX permissions compared to the kernel text mappings. Kernel identity mappings to these physical pages will be mapped with smaller pages but large page mappings are still retained for kernel text,rodata,data mappings. Signed-off-by: Suresh Siddha LKML-Reference: <20091014220254.190119924@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit b9af7c0d44b8bb71e3af5e94688d076414aa8c87 Author: Suresh Siddha Date: Wed Oct 14 14:46:55 2009 -0700 x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA In the first 2MB, kernel text is co-located with kernel static page tables setup by head_64.S. CONFIG_DEBUG_RODATA chops this 2MB large page mapping to small 4KB pages as we mark the kernel text as RO, leaving the static page tables as RW. With CONFIG_DEBUG_RODATA disabled, OLTP run on NHM-EP shows 1% improvement with 2% reduction in system time and 1% improvement in iowait idle time. To recover this, move the kernel static page tables to .data section, so that we don't have to break the first 2MB of kernel text to small pages with CONFIG_DEBUG_RODATA. Signed-off-by: Suresh Siddha LKML-Reference: <20091014220254.063193621@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit 3e1c2515acf70448cad1ae3ab835ca80be043d33 Author: James Morris Date: Tue Oct 20 13:48:33 2009 +0900 security: remove root_plug Remove the root_plug example LSM code. It's unmaintained and increasingly broken in various ways. Made at the 2009 Kernel Summit in Tokyo! Acked-by: Greg Kroah-Hartman Signed-off-by: James Morris commit 73c926bee0e4b7739bbb992a0a3df561178dd522 Author: Paul Mundt Date: Tue Oct 20 12:55:56 2009 +0900 sh: Convert to asm-generic/dma-mapping-common.h This converts the old DMA mapping support to the new generic dma-mapping-common.h abstraction. Signed-off-by: Paul Mundt commit 79b9ad361be8c6f3eeea97dd3883e8bcfa989333 Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 15:31:31 2009 -0200 perf tools: Add bunch of missing headers to LIB_H Build dependencies were not properly mapped out. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <1255973491-11626-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 20639c15d2e78f180d398a6b6422880fac3258bb Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 15:11:36 2009 -0200 perf tools: Add missing tools/perf/util/include/string.h To cure a bunch of: In file included from util/include/linux/bitmap.h:1, from util/header.h:8, from builtin-trace.c:7: util/include/../../../../include/linux/bitmap.h:8:26: error: linux/string.h: No such file or directory make: *** [builtin-trace.o] Error 1 make: *** Waiting for unfinished jobs.... Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <1255972296-11500-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 73cdcf567aaa4b348a1150c85ac5917c32f3c7f9 Author: Keith Rutkowski Date: Mon Oct 19 16:55:55 2009 -0400 HID: add NOGET quirk for another device from CH Products This patch was applied to Fedora 11's 2.6.30.8-64 kernel and adds the NOGET quirk for CH Products industrial class joystick(s). It is like the previous CH Products NOGET quirk patch for their consumer class joysticks. Without the quirk, the joystick would only be detected and would not function at all in kernels >= 2.6.29. It was tested with a CH Products 3-axis 5-button industrial joystick, product #HG-434IS000-U-217. Signed-off-by: Keith Rutkowski Signed-off-by: Jiri Kosina commit 3eff851b9dc1e84aa0822772e0be9afb0c973585 Author: Tony Lindgren Date: Mon Oct 19 17:32:58 2009 -0700 omap: headers: Create headers necessary for compile under mach-omap1 and mach-omap2 Create the headers needed for compiling under mach-omap1/include/mach and mach-omap2/include/mach. This was done with the following script: #!/bin/bash mach_files="clkdev.h gpio.h hardware.h io.h irqs.h memory.h \ smp.h system.h timex.h uncompress.h vmalloc.h" omaps="mach-omap1 mach-omap2" mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" mkdir -p $plat_dir_new git add $plat_dir_new for dir in $omaps; do mach_dir_new="arch/arm/$dir/include/mach" for header in $mach_files; do file="$mach_dir_new/$header" if [ ! -f $file ]; then echo -ne "/*\n * $file\n */\n\n#include \n" > $file git add $file if [ ! -f $plat_dir_new/$header ]; then git mv $mach_dir_old/$header $plat_dir_new/$header fi fi done done Signed-off-by: Tony Lindgren commit 1e79ab8a45b71d3d08eb6cdac44b66229dcea03e Author: Tony Lindgren Date: Mon Oct 19 17:32:55 2009 -0700 omap: headers: Move mtd-xip.h to be mach-omap1 specific These registers are omap1 specific. Signed-off-by: Tony Lindgren commit 72464dbae2749dd57bc2b3cd57d4fc6ba7abca37 Author: Tony Lindgren Date: Mon Oct 19 17:26:29 2009 -0700 omap: Split vmalloc.h for mach-omap1 and mach-omap2 Earlier patch "omap: Remap L3, L4 to get more kernel io address space" changed the VMALLOC_END. However, this change causes problems on mach-omap1: BUG: mapping for 0xe0000000 at 0xe0000000 overlaps vmalloc space BUG: mapping for 0xe1000000 at 0xe1000000 overlaps vmalloc space Fix this by creating separate vmalloc.h files for mach-omap1 and mach-omap2. Signed-off-by: Tony Lindgren commit c97c686467420f6765c7bc5bdae2b2aca141068b Author: Tony Lindgren Date: Mon Oct 19 17:26:19 2009 -0700 omap: headers: Split entry-macro.S for mach-omap1 and mach-omap2 Split entry-macro.S for mach-omap1 and mach-omap2 Signed-off-by: Tony Lindgren commit aca59b8922ad32e0555f78f99bcb31b5e24abe36 Author: Tony Lindgren Date: Mon Oct 19 17:26:17 2009 -0700 omap: headers: Split debug-macro.S for mach-omap1 and mach-omap2 This also creates the include/mach subdirectories under mach-omap1 and mach-omap2. Signed-off-by: Tony Lindgren commit 74cda9a5192e68a38720c8130160e7b3577098d4 Author: Tony Lindgren Date: Mon Oct 19 17:26:07 2009 -0700 omap: headers: Add mach path to include files This is to prepare for moving hardware.h to live under plat instead of mach. Signed-off-by: Tony Lindgren commit f5d2d659450f8e68675124b879e7de82600b77ba Author: Santosh Shilimkar Date: Mon Oct 19 17:25:57 2009 -0700 omap: Add OMAP4 L3 and L4 peripherals. This patch adds few necessary peripherals for OMAP4. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b4224b236b0325ae678fa6b70bd3798dbd93a475 Author: Santosh Shilimkar Date: Mon Oct 19 17:25:55 2009 -0700 omap: Fix DEBUG_LL UART io address This patch fixes the low level debug UART io address as per this series. The change is essential to have CONFIG_DEBUG_LL working. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit e49b824480bdc2b95764d65ea2ef2176a355fdd4 Author: Santosh Shilimkar Date: Mon Oct 19 17:25:53 2009 -0700 omap: Move SRAM map to claim more io space This patch moves SRAM map to free up more kernel address io space. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b7f3008ad1d795935551e4dd810b0255a7bfa3c9 Author: Stephen Smalley Date: Mon Oct 19 10:08:50 2009 -0400 SELinux: fix locking issue introduced with c6d3aaa4e35c71a3 Ensure that we release the policy read lock on all exit paths from security_compute_av. Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit 10db25fea4c11661070b97832b8cc3d2af495092 Author: Santosh Shilimkar Date: Mon Oct 19 15:25:49 2009 -0700 omap: Remap L3, L4 to get more kernel io address space This patch remap L3 and L4 io space to get more kernel address space. With this patch, 512 MB of IO space is reclaimed. Some more combinations are possible but to make it uniform across OMAP24XX, OMAP34XX and OMAP4430, these io combinations are chosen Once this is reviewed and tested sufficiently, a documentation entry can be created to ease up reading and debugging. Like "Documentation/arm/omap/io_map.txt" Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 233fd64e7f42a7b8e827ee02528474e0fabfebdc Author: Santosh Shilimkar Date: Mon Oct 19 15:25:31 2009 -0700 omap: Split OMAP2_IO_ADDRESS to L3 and L4 This patch splits OMAP2_IO_ADDRESS to OMAP2_L3_IO_ADDRESS and OMAP2_L4_IO_ADDRESS to reclaim more IO space. The omap_read*() and omap_write*() functions will work only over L4 address space. Current omap kernel stack uses these functions only to access registers over L4 io address space Note that these macros should only be used when ioremap does not work. Please use ioremap instead in all new code. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b0002e0e37de53782580a7587ad26b2131555653 Author: Tony Lindgren Date: Mon Oct 19 15:25:28 2009 -0700 omap: Use ioremap in dispc.c Use ioremap in dispc.c Cc: Imre Deak Cc: Tomi Valkeinen Signed-off-by: Tony Lindgren commit e4e7a13af2007edf215ad1164fc8d94c366cb72c Author: Tony Lindgren Date: Mon Oct 19 15:25:26 2009 -0700 omap: Use ioremap for omap4 L4 code Use ioremap for omap4 L4 code Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit f059429ea055c71648ae81c581eaa91d3761942b Author: Tony Lindgren Date: Mon Oct 19 15:25:24 2009 -0700 omap: Use getnstimeofday for omap_device Use getnstimeofday for omap_device Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 986a13f508156e1d041d59166beb2a3dec2ddfad Author: Tony Lindgren Date: Mon Oct 19 15:25:22 2009 -0700 omap: Use ioremap in omap_hwmod.c Use ioremap in omap_hwmod.c Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 9f7065dab5d12b10c1a77134cb1a3f7c5fd17f4f Author: Tony Lindgren Date: Mon Oct 19 15:25:20 2009 -0700 omap: Use ioremap in gpio.c Use ioremap in gpio.c Signed-off-by: Tony Lindgren commit 3566fc63589c6f45f31a82aeeb0af6e83adada1f Author: Tony Lindgren Date: Mon Oct 19 15:25:18 2009 -0700 omap: Use ioremap in dmtimer.c Use ioremap in dmtimer.c Signed-off-by: Tony Lindgren commit 7e9bf8475f4cd36e71a42cf5b33626a21ffec007 Author: Tony Lindgren Date: Mon Oct 19 15:25:15 2009 -0700 omap: Use ioremap in dma.c Use ioremap in dma.c Signed-off-by: Tony Lindgren commit 1b26fe868a7eb39df924f1173fb43a5c8d640822 Author: Tony Lindgren Date: Mon Oct 19 15:25:13 2009 -0700 omap: Use ioremap in irq.c Use ioremap in irq.c Signed-off-by: Tony Lindgren commit f9e8eefc603c40d57e4579f1b202f784e8367fe4 Author: Linus Walleij Date: Thu Sep 24 21:42:44 2009 +0100 ARM: 5725/2: U300 switch MMCI to use regulator This switches the U300 over from using a custom translate_vdd function (which was just flipping blind bits in the hardware) to using the regulator that actually controls the MMC voltage. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 3d81277b65b5b356d81e54fa71f04868cee739e2 Author: Linus Walleij Date: Wed Sep 23 15:45:02 2009 +0100 ARM: 5724/1: U300 AB3100 boardinfo v5 This defines regulator platform data and board power regulator hogs for the ST-Ericsson U300 platform. Cc: Mark Brown Cc: Liam Girdwood Cc: Samuel Ortiz Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a8cf81ffe0284660fe405e7189f47f1b032f5261 Author: Russell King Date: Mon Oct 19 16:51:28 2009 +0100 Revert "[ARM] unconditionally define __virt_to_phys and __phys_to_virt" This reverts commit 75f4aa15cf05ce6d99c8261cf57dcd749877fd1c. We have a couple of platforms which require non-linear P:V mappings, so we need these to be overridable. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 9927f327717400a3372ff8931859509986b8ad37 Merge: 4f06617 02a06d3 Author: Mark Brown Date: Mon Oct 19 16:15:35 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit 4f066173fe8deb8874f41917e5d26ea2e0c46e3b Author: Julia Lawall Date: Sat Oct 17 08:32:56 2009 +0200 ASoC: Move dereference after NULL test If the NULL test on jack is needed, then the derefernce should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Signed-off-by: Mark Brown commit 8d567b6b441bfcc20e8cbebc0dc376b2e280cd88 Author: Manuel Lauss Date: Mon Oct 19 16:10:59 2009 +0200 ASoC: au1x: psc-ac97: reorganize timeouts Codec read/write functions: wait 21us between the pokings of hardware. Add timeouts to unbounded loops waiting for bits to change. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit e697cd410a0c3aaea697c9915837e99933d8935b Author: Manuel Lauss Date: Mon Oct 19 16:10:58 2009 +0200 ASoC: au1x: psc-ac97: verify correct codec register was read Verify that the correct register has been received from the codec. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit d8707cecdf396bdb506252829d03837b2c67c939 Author: Peter Ujfalusi Date: Mon Oct 19 15:42:19 2009 +0300 ASoC: TWL4030: Only update the needed bits in *set_dai_sysclk Do not rewrite the whole register, but only update the needed bits in set_dai_sysclk functions. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit dd86e72abdbc4b436471af5a97927c6145f5298c Author: Ingo Molnar Date: Mon Oct 19 13:33:03 2009 +0200 perf stat: Count branches first Count branches first, cache-misses second. The reason is that on x86 branches are not counted by all counters on all CPUs. Before: Performance counter stats for 'ls': 0.756653 task-clock-msecs # 0.802 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 250 page-faults # 0.330 M/sec 2375725 cycles # 3139.781 M/sec 1628129 instructions # 0.685 IPC 19643 cache-references # 25.960 M/sec 4608 cache-misses # 6.090 M/sec 342532 branches # 452.694 M/sec branch-misses 0.000943356 seconds time elapsed After: Performance counter stats for 'ls': 1.056734 task-clock-msecs # 0.859 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 259 page-faults # 0.245 M/sec 3345932 cycles # 3166.295 M/sec 3074090 instructions # 0.919 IPC 616928 branches # 583.806 M/sec 39279 branch-misses # 6.367 % 21312 cache-references # 20.168 M/sec 3661 cache-misses # 3.464 M/sec 0.001230551 seconds time elapsed (also prettify the printout of branch misses, in case it's getting scaled.) Cc: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar --- tools/perf/builtin-stat.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index c373683..95a55ea 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] = { { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; --- tools/perf/builtin-stat.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 95a55ea..90e0a26 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -50,17 +50,17 @@ static struct perf_event_attr default_attrs[] = { - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES}, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS }, - - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CPU_CYCLES }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS }, + + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CPU_CYCLES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; commit 56aab464ff6232bcc2f53b26576983dc83f75db7 Author: Ingo Molnar Date: Mon Oct 19 13:27:08 2009 +0200 perf stat: Re-align the default_attrs[] array Clean up the array definition to be vertically aligned. No functional effects. Cc: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar --- tools/perf/builtin-stat.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index c373683..95a55ea 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] = { { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; commit 12133afffcc7140eea915b1572189a2ea0cf7b0e Author: Tim Blechmann Date: Mon Oct 19 12:03:33 2009 +0200 perf stat: Add branch performance events to default output Adds performance event information about branches and branch misses to the default output of perf stat. Signed-off-by: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar commit 1abc7f5500fff8422f34826a006648d8741d83d3 Author: Randy Dunlap Date: Sun Oct 18 19:20:24 2009 -0700 perf tools: Display better error messages on missing packages Check for libelf headers and glibc headers separately so that the error message correctly identifies which package installation is missing/needed. Signed-off-by: Randy Dunlap Cc: paulus@samba.org Cc: a.p.zijlstra@chello.nl Cc: efault@gmx.de Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <4ADBCCE8.3060300@oracle.com> Signed-off-by: Ingo Molnar commit db9f11e36d0125a5e3e595ea9ef2e4b89f7e8737 Author: Frederic Weisbecker Date: Sat Oct 17 17:57:18 2009 +0200 perf tools: Use DECLARE_BITMAP instead of an open-coded array Use DECLARE_BITMAP instead of an open coded array for our bitmap of featured sections. This makes the array an unsigned long instead of a u64 but since we use a 256 bits bitmap, the array size shouldn't vary between different boxes. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255795038-13751-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2ba0825075e76236d22a20decd8e2346a99faabe Author: Frederic Weisbecker Date: Sat Oct 17 17:12:34 2009 +0200 perf tools: Introduce bitmask'ed additional headers This provides a new set of bitmasked headers. A new field is added in the perf headers that implements a bitmap storing optional features present in the perf.data file. The layout can be pictured like this: (Usual perf headers)(Features bitmap)[Feature 0][Feature n][Feature 255] If the bit n is set, then the feature n is used in this file. They are all set in order. This brings a backward and forward compatibility. The trace_info section has moved into such optional features, this is the first and only one for now. This is backward compatible with the .32 file version although it doesn't support the previous separate trace.info file. And finally it doesn't support the current interim development version. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255792354-11304-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5a116dd2797677cad48fee2f42267e3cb69f5502 Author: Frederic Weisbecker Date: Sat Oct 17 17:12:33 2009 +0200 perf tools: Use kernel bitmap library Use the kernel bitmap library for internal perf tools uses. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255792354-11304-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 11018201b831e19304c0d639f105ad6c27e120b1 Author: Anton Blanchard Date: Sun Oct 18 22:29:23 2009 +1100 perf stat: Add branch performance metric When we count both branches and branch-misses it is useful to print out the percentage of branch-misses: # perf stat -e branches -e branch-misses /bin/true Performance counter stats for '/bin/true': 401684 branches # 0.000 M/sec 23301 branch-misses # 5.801 % Signed-off-by: Anton Blanchard Cc: paulus@samba.org Cc: a.p.zijlstra@chello.nl LKML-Reference: <20091018112923.GQ4808@kryten> Signed-off-by: Ingo Molnar commit a8ee303cae6fbdaa639afa50b9d03ce6f0c7d7da Author: Inaky Perez-Gonzalez Date: Thu Oct 8 12:36:03 2009 +0900 wimax/i2400m: SDIO: fix oops on reset when TXing on uninitialized data Currently the SDIO part of the TX resources were initialized/released with bus_dev_{start,stop}. The generic code's TX subsystem is destroyed afterwards, so there is a window from the bus-TX destruction to the generic-TX destruction where the generic-TX code might call into bus-TX to do transactions. The SDIO code cannot really cope with this (whereas in USB, how it is laid out, it correctly ignores it). In any case, it made no sense for the SDIO TX code to be in i2400m->bus_dev_start/stop(), so moved to i2400m->bus_setup/release(), which also takes care of the oops. Signed-off-by: Inaky Perez-Gonzalez commit 097acbeff98178e01c2f6adb2259ab4d811340cc Author: Inaky Perez-Gonzalez Date: Thu Oct 8 12:33:50 2009 +0900 wimax/i2400m: make i2400m->bus_dev_{stop,start}() optional In coming commits, the i2400m SDIO driver will not use i2400m->bus_dev_stop(). Thus changed to check before calling, as an empty stub has more overhead than a call to check if the function pointer is non-NULL. Signed-off-by: Inaky Perez-Gonzalez commit 4a78fd9a736db4c871bc8b583d66b61c38abd299 Author: Inaky Perez-Gonzalez Date: Thu Oct 8 08:11:38 2009 +0900 wimax/i2400m: fix oops caused by race condition when exiting USB kthreads Current i2400m USB code had to threads (one for processing RX, one for TX). When calling i2400m_{tx,rx}_release(), it would crash if the thread had exited already due to an error. So changed the code to have the thread fill in/out i2400mu->{tx,rx}_kthread under a spinlock; then the _release() function will call kthread_stop() only if {rx,tx}_kthread is still set. Signed-off-by: Inaky Perez-Gonzalez commit 0c96859d7a5f0286ed70d3c4e140ac6816a350da Author: Inaky Perez-Gonzalez Date: Wed Oct 7 22:57:39 2009 +0900 wimax/i2400m: Let device's status reports change the device state Currently __i2400m_dev_start was forcing, after uploading firmware and doing a few checks to WIMAX_ST_UNINITIALIZED. This can be overriding state changes that the device might have caused by sending reports; thus it makes more sense to remove it and let the device update the status on its own by sending reports. Signed-off-by: Inaky Perez-Gonzalez commit 46c501473d0a6fa62435dfd65c6884e1fd63b327 Author: Inaky Perez-Gonzalez Date: Wed Oct 7 22:46:29 2009 +0900 wimax/i2400m: fix oops in TX when tearing down the device All the entry points into the TX module should check if the device has been torn down. Otherwise, when the device resets or shuts down, there are windows when a call to i2400m_tx*() will oops the system. For that, make i2400m_tx_release() set i2400m->tx_buf to NULL under the tx_lock. Then, any entry point [i2400m_tx(), _tx_msg_sent(), _tx_msg_get()] will check for i2400m->tx_buf to be NULL and exit gracefully. Signed-off-by: Inaky Perez-Gonzalez commit a0beba21c3e2dff9a31739f1660ba3ff8c7150a7 Author: Inaky Perez-Gonzalez Date: Wed Oct 7 21:43:10 2009 +0900 wimax/i2400m: queue device's report until the driver is ready for them The i2400m might start sending reports to the driver before it is done setting up all the infrastructure needed for handling them. Currently we were just dropping them when the driver wasn't ready and that is bad in certain situations, as the sync between the driver's idea of the device's state and the device's state dissapears. This changes that by implementing a queue for handling reports. Incoming reports are appended to it and a workstruct is woken to process the list of queued reports. When the device is not yet ready to handle them, the workstruct is not woken, but at soon as the device becomes ready again, the queue is processed. As a consequence of this, i2400m_queue_work() is no longer used, and thus removed. Signed-off-by: Inaky Perez-Gonzalez commit af77dfa7811cd4e533003a9e7e9bf27dece96c6d Author: Inaky Perez-Gonzalez Date: Wed Oct 7 21:37:53 2009 +0900 wimax/i2400m: move i2400m_init() out of i2400m.h Upcoming changes will have to add things to this function that expose more internals, which would mean more forward declarators. Frankly, it doesn't need to be an inline, so moved to driver.c, where the declarations will be taken from the header file. Signed-off-by: Inaky Perez-Gonzalez commit b9ee95010bee6c0e17d18bc9d9c0cfab6e8cb73a Author: Inaky Perez-Gonzalez Date: Wed Oct 7 12:34:13 2009 +0900 wimax/i2400m: fix deadlock: don't do BUS reset under i2400m->init_mutex Since the addition of the pre/post reset handlers, it became clear that we cannot do a I2400M-RT-BUS type reset while holding the init_mutex, as in the case of USB, it will deadlock when trying to call i2400m_pre_reset(). Thus, the following changes: - clarify the fact that calling bus_reset() w/ I2400M_RT_BUS while holding init_mutex is a no-no. - i2400m_dev_reset_handle() will do a BUS reset to recover a gone device after unlocking init_mutex. - in the USB reset implementation, when cold and warm reset fails, fallback to QUEUING a usb reset, not executing a USB reset, so it happens from another context and does not deadlock. Signed-off-by: Inaky Perez-Gonzalez commit 5eeae35b9a2e304fc4ae3d9eed63afeea23b482c Author: Inaky Perez-Gonzalez Date: Wed Oct 7 12:20:15 2009 +0900 wimax/i2400m: when stopping the device, cancel any pending message The stop procedure for the device must make sure that any task that is waiting on a message is properly cancelled. This was being taken care of only by the __i2400m_dev_reset_handle() path and the rest was working by chance because the waits have a timeout. Fixed by adding a proper cancellation in __i2400m_dev_stop(). Signed-off-by: Inaky Perez-Gonzalez commit 28cff50d99ce9a1db65b7d4dcdcc0f1f8d9f9309 Author: Cindy H Kao Date: Fri Oct 2 19:31:17 2009 -0700 wimax/i2400m: change the bcf_len to exclude the extended header size The actual fw->size may not equal to the bcf size indicated in the bcf header if the extended bcf debug header is added in the tail. To reflect the actual fw size that will be downloaded to the device, it is now retrived from from the size field indicated in the bcf header. All of the headers (if there are extended headers) should indicate same value for the size field since only one set of firmware chunks is downloaded Signed-off-by: Cindy H Kao commit 6f4fc90a36fbe87e3003b3f7c8090ecc89bd1353 Author: Cindy H Kao Date: Fri Oct 2 19:18:43 2009 -0700 wimax/i2400m: use JUMP cmd for last FW chunk indication Both secure and non-secure boot must set the JUMP command in the bootmode header as the last FW chunk, so we change to use the JUMP command to decide if the FW chunk download is completed. Since we tend to use one single FW to support both secure and non-secure boot for most of the time, I2400M_BRH_SIGNED_JUMP is actually found even for non-secure boot. But in case the FW does come with I2400M_BRH_JUMP, we check for both of them in i2400m_dnload_bcf(). Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 81d3f905389e22bb9a5176b9309c3f451c260e1a Author: Inaky Perez-Gonzalez Date: Sat Oct 3 16:51:02 2009 +0900 wimax: allow WIMAX_RF_QUERY calls when state is still uninitialized Until now, calls to wimax_rfkill() will be blocked until the device is at least past the WIMAX_ST_UNINITIALIZED state, return -ENOMEDIUM when the device is in the WIMAX_ST_DOWN state. In parallel, wimax-tools would issue a wimax_rfkill(WIMAX_RF_QUERY) call right after opening a handle with wimaxll_open() as means to verify if the interface is really a WiMAX interface [newer kernel version will have a call specifically for this]. The combination of these two facts is that in some cases, before the driver has finalized initializing its device's firmware, a wimaxll_open() call would fail, when it should not. Thus, change the wimax_rfkill() code to allow queries when the device is in WIMAX_ST_UNINITIALIZED state. Signed-off-by: Inaky Perez-Gonzalez commit de9315fa3a35ebe587cc1a1c88655d095846785e Author: Inaky Perez-Gonzalez Date: Wed Sep 30 16:33:26 2009 -0700 wimax: allow user space to send messages once the device is registered It makes sense that the messaging pipe to the device can be used before the device is fully ready, as long as it is registered with the stack. Some debugging tools need it. Signed-off-by: Inaky Perez-Gonzalez commit 9835fd84990ca253c5b625005717a9be492788c0 Author: Inaky Perez-Gonzalez Date: Tue Sep 29 16:28:24 2009 -0700 wimax/i2400m: fix race condition with tcpdump et al tcpdump and friends were not being able to decode packets sent via WiMAX; they had a zero ethernet type, even when the stack was properly sending them to the device with the right type. It happens that the driver was overwriting the (fake) ethernet header for creating the hardware header and that was bitting the cloning used by tcpdump (et al) to look into the packets. Use pkskb_expand_head() [method copied from the e1000 driver] to fix. Thanks to Herbert Xu and Andi Kleen for helping to diagnose and pointing to the right fix. Cc: Herbert Xu Cc: Andi Kleen Signed-off-by: Inaky Perez-Gonzalez commit e1633fd636f3ed0379fcf08c47962205eadddb6b Author: Inaky Perez-Gonzalez Date: Fri Sep 18 11:50:50 2009 -0700 wimax/i2400m: reduce verbosity of debug messages in boot mode Missed a debug message that was being constantly printed as a dev_err(); became annoying. Demote it to a debug message. Signed-off-by: Inaky Perez-Gonzalez commit 3725d8c97436aeaa03eeb0c25361a7ec0f3f5bd2 Author: Inaky Perez-Gonzalez Date: Thu Sep 17 15:20:45 2009 -0700 wimax/i2400m: Implement pre/post reset support in the USB driver The USB stack can callback a driver is about to be reset by an external entity and right after it, so the driver can save state and then restore it. This commit implements said support; it is implemented actually in the core, bus-generic driver [i2400m_{pre,post}_reset()] and used by the bus-specific drivers. This way the SDIO driver can also use it once said support is brought to the SDIO stack. Signed-off-by: Inaky Perez-Gonzalez commit 2869da8587604e3fea5f85aeade486a08e8313bf Author: Inaky Perez-Gonzalez Date: Wed Sep 16 18:33:26 2009 -0700 wimax/i2400m: do bootmode buffer management in i2400m_setup/release() After the introduction of i2400m->bus_setup/release, there is no more race condition where the bootmode buffers are needed before i2400m_setup() is called. Before, the SDIO driver would setup RX before calling i2400m_setup() and thus need those buffers; now RX setup is done in i2400m->bus_setup(), which is called by i2400m_setup(). Thus, all the bootmode buffer management can now be done completely inside i2400m_setup()/i2400m_release(), removing complexity from the bus-specific drivers. Signed-off-by: Inaky Perez-Gonzalez commit 0856ccf29dfbaf957e4be80dd3eb88d97810b633 Author: Inaky Perez-Gonzalez Date: Wed Sep 16 18:23:27 2009 -0700 wimax/i2400m: introduce i2400m->bus_setup/release The SDIO subdriver of the i2400m requires certain steps to be done before we do any acces to the device, even for doing firmware upload. This lead to a few ugly hacks, which basically involve doing those steps in probe() before calling i2400m_setup() and undoing them in disconnect() after claling i2400m_release(); but then, much of those steps have to be repeated when resetting the device, suspending, etc (in upcoming pre/post reset support). Thus, a new pair of optional, bus-specific calls i2400m->bus_{setup/release} are introduced. These are used to setup basic infrastructure needed to load firmware onto the device. This commit also updates the SDIO subdriver to use said calls. Signed-off-by: Inaky Perez-Gonzalez commit c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd Author: Inaky Perez-Gonzalez Date: Wed Sep 16 17:10:55 2009 -0700 wimax/i2400m: clarify and fix i2400m->{ready,updown} The i2400m driver uses two different bits to distinguish how much the driver is up. i2400m->ready is used to denote that the infrastructure to communicate with the device is up and running. i2400m->updown is used to indicate if 'ready' and the device is up and running, ready to take control and data traffic. However, all this was pretty dirty and not clear, with many open spots where race conditions were present. This commit cleans up the situation by: - documenting the usage of both bits - setting them only in specific, well controlled places (i2400m_dev_start, i2400m_dev_stop) - ensuring the i2400m workqueue can't get in the middle of the setting by flushing it when i2400m->ready is set to zero. This allows the report hook not having to check again for the bit to be set [rx.c:i2400m_report_hook_work()]. - using i2400m->updown to determine if the device is up and running instead of the wimax state in i2400m_dev_reset_handle(). - not loosing missed messages sent by the hardware before i2400m->ready is set. In rx.c, whatever the device sends can be sent to user space over the message pipes as soon as the wimax device is registered, so don't wait for i2400m->ready to be set. Signed-off-by: Inaky Perez-Gonzalez commit 8f90f3ee83dc54e182d6a7548727cbae4b523e6e Author: Inaky Perez-Gonzalez Date: Wed Sep 16 17:53:57 2009 -0700 wimax/i2400m: cleanup initialization/destruction flow Currently the i2400m driver was starting in a weird way: registering a network device, setting the device up and then registering a WiMAX device. This is an historic artifact, and was causing issues, a some early reports the device sends were getting lost by issue of the wimax_dev not being registered. Fix said situation by doing the wimax device registration in i2400m_setup() after network device registration and before starting thed device. As well, removed spurious setting of the state to UNINITIALIZED; i2400m.dev_start() does that already. Signed-off-by: Inaky Perez-Gonzalez commit ac53aed9349242095a780f57ac0c995fb170c950 Author: Inaky Perez-Gonzalez Date: Wed Sep 16 16:30:39 2009 -0700 wimax/i2400m: on device stop, clean up pending wake & TX work When the i2400m device needs to wake up an idle WiMAX connection, it schedules a workqueue job to do it. Currently, only when the network stack called the _stop() method this work struct was being cancelled. This has to be done every time the device is stopped. So add a call in i2400m_dev_stop() to take care of such cleanup, which is now wrapped in i2400m_net_wake_stop(). Signed-off-by: Inaky Perez-Gonzalez commit cb5b756f746b77c5323ae413a41e9a40ea33c453 Author: Inaky Perez-Gonzalez Date: Tue Sep 15 15:25:20 2009 -0700 wimax/i2400m: don't overwrite error codes when failing to load firmware Make sure that i2400m_dev_bootstrap() doesn't overwrite the last known error code with -ENOENT; when a firmware fails to load, we want to know the cause and not a generic error code. Signed-off-by: Inaky Perez-Gonzalez commit 1a5a73c0c5459f991b871855eb36099df65ecb7e Author: Inaky Perez-Gonzalez Date: Mon Sep 14 15:28:14 2009 -0700 wimax/i2400m: implement .reset_resume in USB subdriver Current driver didn't implement the .reset_resume method. The i2400m normally always reset on a comeback from system standby/hibernation. This requires previously applied commits to cache the firmware image file. Signed-off-by: Inaky Perez-Gonzalez commit 7b43ca708a767a5f68eeeb732c569c0f11a7d6f7 Author: Inaky Perez-Gonzalez Date: Mon Sep 14 14:10:16 2009 -0700 wimax/i2400m: cache firmware on system suspend In preparation for a reset_resume implementation, have the firmware image be cached in memory when the system goes to suspend and released when out. This is needed in case the device resets during suspend; the driver can't load firmware until resume is completed or bad deadlocks happen. The modus operandi for this was copied from the Orinoco USB driver. The caching is done with a kobject to avoid race conditions when releasing it. The fw loader path is altered only to first check for a cached image before trying to load from disk. A Power Management event notifier is register to call i2400m_fw_cache() or i2400m_fw_uncache() which take care of the actual cache management. Signed-off-by: Inaky Perez-Gonzalez commit 3ef6129e57b04c116b1907b72c7a20720e6dde75 Author: Inaky Perez-Gonzalez Date: Mon Sep 14 14:05:19 2009 -0700 wimax/i2400m: add reason argument to i2400m_dev_reset_handle() In preparation for reset_resume support, in which the same code path is going to be used, add a diagnostic message to dev_reset_handle() that can be used to distinguish how the device got there. This uses the new payload argument added to i2400m_schedule_work() by the previous commit. Signed-off-by: Inaky Perez-Gonzalez commit b0fbcb2a0b54ee201fa8af61fdebe14c050f18fe Author: Inaky Perez-Gonzalez Date: Mon Sep 14 13:29:32 2009 -0700 wimax/i2400m: clean up & add a payload argument to i2400m_schedule_work() Forthcoming commits use having a payload argument added to i2400m_schedule_work(), which then becomes nearly identical to i2400m_queue_work(). This patch thus cleans up both's implementation, making it share common helpers and adding the payload argument to i2400m_schedule_work(). Signed-off-by: Inaky Perez-Gonzalez commit 7329012e673231dee9a21567cfb9881f5ea462ba Author: Dirk Brandewie Date: Wed Aug 12 11:29:46 2009 -0700 wimax/i6x50: add Intel WiFi/WiMAX Link 6050 Series support Add support for the WiMAX device in the Intel WiFi/WiMAX Link 6050 Series; this involves: - adding the device ID to bind to and an endpoint mapping for the driver to use. - at probe() time, some things are set depending on the device id: + the list of firmware names to try + mapping of endpoints Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit f8fc3295570115267ce1ce901f362d13d194aefc Author: Cindy H Kao Date: Fri Sep 4 17:38:46 2009 -0700 wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz sku Different sdio device IDs are designated to support different intel wimax silicon sku. The new macro SDIO_DEVICE_ID_IWMC3200_WIMAX_2G5(0x1407) is added to support iwmc3200 2.5GHz sku. The existing SDIO_DEVICE_ID_IWMC3200_WIMAX(0x1402) is for iwmc3200 general sku. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 10607c86e163e3da8bdf58a934da7dd3a68dcb7c Author: Inaky Perez-Gonzalez Date: Wed Sep 9 17:11:57 2009 -0700 wimax/i2400m: on firmware upload, select BCF header that matches device's request Devices based on the i2400m emit a "barker" (32 bit unsigned) when they boot. This barker is used to select, in the firmware file image, which header should be used to process the rest of the file. This commit implements said support, completing the series started by previous commits. We modify the i2400m_fw_dnload() firmware loading path by adding a call to i2400m_bcf_hdr_find() [new function], in which the right BCF header [as listed in i2400m->fw_hdrs by i2400m_fw_check()] is located. Then this header is fed to i2400m_dnload_init() and i2400m_dnload_finalize(). The changes to i2400m_dnload_finalize() are smaller than they look; they add the bcf_hdr argument and use that instead of bcf. Likewise in i2400m_dnload_init(). Signed-off-by: Inaky Perez-Gonzalez commit bfc44187bbaeabf597be6566a24e8fa7d689b984 Author: Inaky Perez-Gonzalez Date: Fri Sep 4 17:07:21 2009 -0700 wimax/i2400m: support extended firmware format The SBCF firmware format has been extended to support extra headers after the main payload. These extra headers are used to sign the firmware code with more than one certificate. This eases up distributing single code images that work in more than one SKU of the device. The changes to support this feature will be spread in a series of commits. This one just adds the support to parse the extra headers and store them in i2400m->fw_hdrs. Coming changes to the loader code will use that to determine which header to upload to the device. The i2400m_fw_check() function now iterates over all the headers and for each, calls i2400m_fw_hdr_check(), which does some basic checks on each header. It then stores the headers for the bootloader code to use. The i2400m_dev_bootstrap() function has been modified to cleanup i2400m->fw_hdrs when done. Signed-off-by: Inaky Perez-Gonzalez commit fabce1a485dd985c0e4c16f61f4ddb5e27e49cbf Author: Inaky Perez-Gonzalez Date: Fri Sep 4 14:53:43 2009 -0700 wimax/i2400m: verify firmware format version is known Make sure the bootloading code checks that the format of the file is understood (major version match). This also fixes a dumb typo in extracting the major version field. Signed-off-by: Inaky Perez-Gonzalez commit 923d708fed9d47c7b4d67694500d766337663e29 Author: Inaky Perez-Gonzalez Date: Fri Sep 4 14:50:59 2009 -0700 wimax/i2400m: fix reboot echo/ack barker deadlock The i2400m based devices can get in a sort of a deadlock some times; when they boot, they send a reboot "barker" (a magic number) and then the driver has to echo that same barker to ack reception (echo/ack). Then the device does a final ack by sending an ACK barker. The first time this happens, we don't know ahead of time with barker the device is going to send, as different device models and SKUs will send different barker depending on the EEPROM programming. If the device has sent the barker before the driver has been able to read it, the driver looses, as it doesn't know which barker it has to echo/ack back. With older devices, we tried a couple of combinations and that always worked; but now, with adding support for more, in which we have an unlimited number of new barkers, that is not an option. So we rework said case so that when the device gets stuck, we just cycle through all the known types until one forces the device to send an ack. Otherwise, the driver gives up and aborts. Signed-off-by: Inaky Perez-Gonzalez commit ebc5f62b76ad540ff7b3e438506638009e7812a6 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:53:30 2009 -0700 wimax/i2400m: retry loading firmware files in sequence The i2400m firmware loader is given a list of firmware files to try to load by the probe() function (which can be different based on the device's model / generation). Current code didn't attempt to load, check and try to boot with each file, but just to try to load if off disk. This is limiting in some cases, where we might want to try to load a firmware and if it fails to load onto the device, just fall back to another one. This changes the behaviour so all files are tried for being loaded from disk, checked and uploaded to the device until one suceeds in bringing the device up. Signed-off-by: Inaky Perez-Gonzalez commit aba3792ac2d7c808a2d2fd2adf89531e083bdb90 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:14:29 2009 -0700 wimax/i2400m: rework bootrom initialization to be more flexible This modifies the bootrom initialization code of the i2400m driver so it can more easily support upcoming hardware. Currently, the code detects two types of barkers (magic numbers) sent by the device to indicate the types of firmware it would take (signed vs non-signed). This schema is extended so that multiple reboot barkers are recognized; upcoming hw will expose more types barkers which will have to match a header in the firmware image before we can load it. For that, a barker database is introduced; the first time the device sends a barker, it is matched in the database. That gives the driver the information needed to decide how to upload the firmware and which types of firmware to use. The database can be populated from module parameters. The execution flow is not altered; a new function (i2400m_is_boot_barker) is introduced to determine in the RX path if the device has sent a boot barker. This function is becoming heavier, so it is put away from the hot reception path [this is why there is some reorganization in sdio-rx.c:i2400ms_rx and usb-notifc.c:i2400mu_notification_grok()]. The documentation on the process has also been updated. All these modifications are heavily based on previous work by Dirk Brandewie . Signed-off-by: Inaky Perez-Gonzalez commit 32742e6158657f19ad31653705bef56d983508e7 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:56:40 2009 -0700 wimax/i2400m: decide properly if using signed vs non-signed firmware loading The i2400m based devices can boot two main types of firmware images: signed and non-signed. Signed images have signature data included that must match that of a certificate stored in the device. Currently the code is making the decission on what type of firmware load (signed vs non-signed) is going to be loaded based on a hardcoded decission in __i2400m_ack_verify(), based on the barker the device sent upon boot. This is not flexible enough as future hardware will emit more barkers; thus the bit has to be set in a place where there is better knowledge of what is going on. This will be done in follow-up commits -- however this patch paves the way for it. So the querying of the mode is packed into i2400m_boot_is_signed(); the main changes are just using i2400m_boot_is_signed() to determine the method to follow and setting i2400m->sboot in i2400m_is_boot_barker(). The modifications in i2400m_dnload_init() and i2400m_dnload_finalize() are just reorganizing the order of the if blocks and thus look larger than they really are. Signed-off-by: Inaky Perez-Gonzalez commit 59bdc4be0b819173a8f840fc11ccb82d6f2ca64b Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:41:23 2009 -0700 wimax/i2400m: workaround not-so-working %zd printf format The kernel's %zd modifier does not really work. Use %ld (has to cast ssize_t to long). Signed-off-by: Inaky Perez-Gonzalez commit 4c2b1a11646bf74e2926ce8b13a21884adc1e05c Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:36:05 2009 -0700 wimax: allow specifying debug levels as command line option Add "debug" module options to all the wimax modules (including drivers) so that the debug levels can be set upon kernel boot or module load time. This is needed as currently there was a limitation where the debug levels could only be set when a device was succesfully enumerated. This made it difficult to debug issues that made a device not probe properly. Signed-off-by: Inaky Perez-Gonzalez commit 4dc1bf074e4db5aa281a7b82ceebb24df98922d2 Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:31:48 2009 -0700 wimax/i2400m: add missing debug submodule definition The i2400m driver was missing the definition for the sysfs debug level, which is declared in debug-levels.h. Signed-off-by: Inaky Perez-Gonzalez commit c77ca950abb587bcebad6dcd0b0b41d7c0255ce9 Author: Inaky Perez-Gonzalez Date: Mon Aug 31 17:57:56 2009 -0700 wimax/i2400m: during probe, call sdio_disable at most once In the Intel Wireless Multicomm 3200, the initialization is orchestrated by a component called Top. This component also monitors how many times a function is reset (via sdio_disable) to detect possible issues and will reset the whole multifunction device if any function triggers a maximum reset level. During WiMAX's probe, the driver needs to wait for Top to come up before it can enable the WiMAX function. If it cannot, it will return -ENODEV and the Top driver will rescan the SDIO bus once done loading. Currently, the WiMAX SDIO probe routine was trying a few times before returning -ENODEV, and this was triggering Top's too-many-resets detector. This is, in any case, unnecessary because the Top driver will force the bus rescan when the functions can be probed successfully. Added then a maxtries argument to i2400ms_enable_func() and set it to 1 when calling from probe. We want to reuse this function instead of flat calling out sdio_enable_func() to take advantage of hardware quirk workarounds. Reported-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 8d8fe198c6a756ae96617548af4776e7a86c0d3e Author: Cindy H Kao Date: Tue Aug 18 19:27:18 2009 -0700 wimax/i2400m: don't write to memory allocated by request_firmware() In kernel 2.6.31, the firmware requested to ram could be marked with read only attribute, and we can't write any thing directly to the memory when setting up the last JUMP brh cmd. Changed so that the scratch buffer is used. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 77e1251a7cc64c1e483a31c41c139fdf8121e75e Author: Inaky Perez-Gonzalez Date: Mon Aug 31 17:15:49 2009 -0700 wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf Because some underlying bus APIs (like USB) don't like data buffers in the stack or vmalloced areas, the i2400m driver provides a scratch buffer (i2400m->bm_cmd_buf) for said low-level drivers to copy command data to before passing it to said API. This is only used during boot mode. However, at some the code was copying the buffer even when the command was already specified in said buffer. This is ok, but it needs to be more careful. As thus, change so that: (a) the copy happens only if command buffer is not the scratch buffer (b) use memmove() in case there is overlapping Signed-off-by: Inaky Perez-Gonzalez commit 339ccc362cb60b48e478ff494172efadb385c0ab Author: Cindy H Kao Date: Mon Aug 10 18:36:15 2009 -0700 wimax/i2400m/sdio: clear the INTR status bit after reading size In order to avoid issues during high-load traffic, the interrupt status register has to be cleared ONLY after the RX size is read. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 2093586de29418820b89aae05746511392f8ad73 Author: Dirk Brandewie Date: Wed Aug 12 11:29:46 2009 -0700 wimax/i2400m: USB driver uses a configurable endpoint map Newer generations of the i2400m USB WiMAX device use a different endpoint map; in order to make it easy to support it, we make the endpoint-to-function mapeable instead of static. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 8bec9a5efd5691c5a32d85da1da09643290ebb72 Author: Cindy H Kao Date: Mon Aug 17 19:39:12 2009 -0700 wimax/iwmc3200: increase wait time before enable retry When trying to enable the iwmc3200 WiMAX SDIO function, we loop waiting for the top controller to be up and running (at which point we can succesfully enable the function). Between each try we wait for I2400MS_INIT_SLEEP_INTERVAL ms. Integration tests have found the current value of 10ms to be too short; it was upped to 100ms to give more time to the top controller to be ready. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 5c29e21d4768a7f1ce46f622b379802edeb1daf3 Author: Cindy H Kao Date: Mon Aug 17 19:39:12 2009 -0700 wimax/iwmc3200: don't disable the SDIO function if enable fails In the iwmc3200, disabling the WiMAX SDIO function when enable fails would possibly result in a device reset triggered by the iwmc3200's top controller since it monitors the bus reset activities from each SDIO function. In any case, the disable makes no sense; if the enable fails, it should not be disabled. Thus we remove the unecessary sdio_disable_func() in i2400ms_enable_function(). Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit f2696fbdb623993a9b4c05455df7ae3158a01111 Author: Cindy H Kao Date: Mon Aug 17 19:17:58 2009 -0700 wimax/iwmc3200: overwrite SDIO IOR timeout value to avoid platform hang The default SDIO IOE wait timeout returned from iwmc3200-wimax's CCCR is not efficient. This inefficiency will actually cause problems on Moorestown platforms (system hang). This is a sillicon bug that requires a software patch to by overwritting func->enable_timeout. The new value I2400MS_IOR_TIMEOUT is recommended and verified from the system integration results. Future sillicon releases will have this default value corrected in the future. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit c30836580b35ae5cab3de97a3df16878fe097868 Author: Dirk Brandewie Date: Thu Aug 13 13:48:29 2009 -0700 wimax/i2400m: Make boot retries a BUS-specific parameter In i2400m-based devices, the driver's bootloader will retry to load the firmware when things go wrong. The driver currently has a constant (I2400M_BOOT_RETRIES) which governs the max number of tries. However, different SKUs of the same hardware may admit or require different numbers of retries due to it's particulars, so it is made a BUS specific parameter and different values are assigned for 5x50 devices versus the 3200 ones. Signed-off-by: Dirk Brandewie Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit a134fd6b103b78378e3beb6af94d8d8c2abdd19d Author: Dirk Brandewie Date: Tue Aug 18 08:51:52 2009 -0700 wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc'd before first message The change to the SDIO boot mode RX chain could try to use the cmd and ack buffers befor they were allocated. USB does not have the problem but both were changed for consistency's sake. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 81b182a7542c4282191fa0b1e8d9fcb022c03e68 Author: Dirk Brandewie Date: Fri Jul 24 09:04:33 2009 -0700 wimax/i2400m: Update comments to talk about SDIO reset and not USB. Fixing comments from original cut and paste error Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit abb307338396bd58f5d9d32c4e56ef40ff668a74 Author: Dan Williams Date: Thu Sep 17 13:06:14 2009 -0700 i2400m: minimal ethtool support Add minimal ethtool support for carrier detection. Signed-off-by: Dan Williams Signed-off-by: Inaky Perez-Gonzalez commit 2d44f204adf503eb1774f0ab7e404031168851ea Author: Roel Kluin Date: Mon Jul 13 00:59:53 2009 +0200 wimax: misplaced parenthesis Fix misplaced parenthesis Signed-off-by: Roel Kluin Signed-off-by: Inaky Perez-Gonzalez commit a6346fa583766a51b7723288fc5d73ee5ea93479 Author: Roel Kluin Date: Mon Jul 13 01:48:42 2009 +0200 i2400m: keep index within ms_to_errno[] Ensure that index `status' remains within ms_to_errno[] Signed-off-by: Roel Kluin Signed-off-by: Inaky Perez-Gonzalez commit c29eaf3faef7547ba72355bac44e9ca6ffdaee39 Author: Inaky Perez-Gonzalez Date: Thu Aug 27 17:54:53 2009 -0700 wimax: indicate initial SW rfkill state is "blocked" The WiMAX stack assumes that all WiMAX devices are SW OFF when they are initialized. The recent changes in the RFKILL stack thus cause an initial call after rfkill_register(), because by default, rfkill considers devices to be SW ON upon registration. So call rfkill_init_sw_state() to set it to SW OFF so rfkill_register() doesn't do that unnecessary step. Signed-off-by: Inaky Perez-Gonzalez commit 5b45bfe5010ae1ddaac463d1bcdb141a4ff4ff66 Author: Cindy H Kao Date: Thu Aug 27 15:25:12 2009 -0700 wimax/i2400m: fix the bootmode RX deadlock in SDIO driver i2400ms_bus_bm_wait_for_ack() causes a race condition. It happens because this function clears i2400ms->bm_ack_size before waiting for an interrupt, which is set by the interrupt service routine i2400ms_rx() to indicate reception and size of received data; thus, if the interrupt came right before the clearing/waiting, it is lost. The fix is clear the bm_ack_size to -EINPROGRESS before we are enabling the RX interrupt configuration in i2400ms_rx_setup(). Then everytime when the interrupt service routine i2400ms_rx() is invoked during bootmode, bm_ack_size is updated with the actual rx_size and it is cleared to -EINPROGRESS again after the RX data is handled. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 663ebb4aa2fd0d19e3d1da0fed3fa3fa134a4ef0 Author: Oliver Neukum Date: Wed Aug 19 13:50:45 2009 -0600 wimax/i2400m/usb: remove unnecessary power management primitive in i2400m This patch removes an unneeded power management primitive. Power management is automatically enabled as probe ends. Signed-off-by: Oliver Neukum Signed-off-by: Inaky Perez-Gonzalez commit 14c011deb4cb906d72b6b2b6880e21c3cc110fcc Author: Paul Mundt Date: Mon Oct 19 15:52:20 2009 +0900 sh: Fix up cacheflush routine symbol exports. Fixes up flush_dcache_page() references by modules with run-time cache disabling. Signed-off-by: Paul Mundt commit eca28e3764e301fad662743d1e8ba7296cc6a109 Author: Paul Mundt Date: Mon Oct 19 15:51:21 2009 +0900 sh: Fix up uninitialized variable warning in dwarf unwinder. Signed-off-by: Paul Mundt commit eb2ff967a587a4a784fd2390f38e324a5bec01ec Author: Steffen Klassert Date: Wed Oct 7 22:50:40 2009 +0000 xfrm: remove skb_icv_walk The last users of skb_icv_walk are converted to ahash now, so skb_icv_walk is unused and can be removed. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 2ad9afbf5ca27482aa275de517261d56fd1e7ba0 Author: Steffen Klassert Date: Wed Oct 7 22:49:57 2009 +0000 ah: Remove obsolete code ah4 and ah6 are converted to ahash now, so we can remove the code for the obsolete hash algorithm. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 8631e9bdfea189b2e5efe3b03825cc24ebb6cfb7 Author: Steffen Klassert Date: Wed Oct 7 22:49:01 2009 +0000 ah6: convert to ahash This patch converts ah6 to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit dff3bb0626279bae04ed10ed61ab726d6b3ef4b4 Author: Steffen Klassert Date: Wed Oct 7 22:48:17 2009 +0000 ah4: convert to ahash This patch converts ah4 to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 49cbf952488e7fa2f1160c80016e09e6c2854b24 Author: Steffen Klassert Date: Wed Oct 7 22:47:16 2009 +0000 ah: Add struct crypto_ahash to ah_data To support for ahash algorithms, we add a pointer to a crypto_ahash to ah_data. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 8ffd1be6779c86ebc2a1013f43fdcee8bdbba2b7 Author: Benjamin Gilbert Date: Mon Oct 19 12:58:55 2009 +0900 crypto: hash - Remove cra_u.{digest,hash} Remove unused digest_alg and hash_alg structs from crypto_alg union and kill their definitions. This also ensures that old-style digest/hash algorithms maintained out of tree will break at build time rather than oopsing at runtime. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 085751b96897280cc3087920f8c6e7d1283f6d00 Author: Benjamin Gilbert Date: Mon Oct 19 12:57:20 2009 +0900 crypto: api - Remove digest case from procfs show handler Remove special handling of old-style digest algorithms from the procfs show handler. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 2141b6309b1fce535329c195cb5e5274a4c84ebc Author: Benjamin Gilbert Date: Mon Oct 19 12:53:37 2009 +0900 crypto: hash - Remove legacy hash/digest code 6941c3a0 disabled compilation of the legacy digest code but didn't actually remove it. Rectify this. Also, remove the crypto_hash_type extern declaration from algapi.h now that the struct is gone. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 667b6294bf088445996c8395b723ae9c9467e72b Author: Neil Horman Date: Mon Oct 19 11:57:02 2009 +0900 crypto: ansi_cprng - Add FIPS wrapper Patch to add fips(ansi_cprng) alg, which is ansi_cprng plus a continuous test Signed-off-by: Neil Horman Acked-by: Jarod Wilson Signed-off-by: Herbert Xu commit 0e1227d356e9b2fe0500d6cc7084f752040a1e0e Author: Huang Ying Date: Mon Oct 19 11:53:06 2009 +0900 crypto: ghash - Add PCLMULQDQ accelerated implementation PCLMULQDQ is used to accelerate the most time-consuming part of GHASH, carry-less multiplication. More information about PCLMULQDQ can be found at: http://software.intel.com/en-us/articles/carry-less-multiplication-and-its-usage-for-computing-the-gcm-mode/ Because PCLMULQDQ changes XMM state, its usage must be enclosed with kernel_fpu_begin/end, which can be used only in process context, the acceleration is implemented as crypto_ahash. That is, request in soft IRQ context will be defered to the cryptd kernel thread. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 2395f0e862aadf7d82d5a95cb2e8fdade8d7970d Author: Alan Cox Date: Wed Oct 14 05:22:24 2009 +0000 cosa: Kill off the use of the old ioctl path Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 8edf19c2fe028563fc6ea9cb1995b8ee4172d4b6 Author: Eric Dumazet Date: Thu Oct 15 00:12:40 2009 +0000 net: sk_drops consolidation part 2 - skb_kill_datagram() can increment sk->sk_drops itself, not callers. - UDP on IPV4 & IPV6 dropped frames (because of bad checksum or policy checks) increment sk_drops Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c720c7e8383aff1cb219bddf474ed89d850336e3 Author: Eric Dumazet Date: Thu Oct 15 06:30:45 2009 +0000 inet: rename some inet_sock fields In order to have better cache layouts of struct sock (separate zones for rx/tx paths), we need this preliminary patch. Goal is to transfert fields used at lookup time in the first read-mostly cache line (inside struct sock_common) and move sk_refcnt to a separate cache line (only written by rx path) This patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr, sport and id fields. This allows a future patch to define these fields as macros, like sk_refcnt, without name clashes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b0aba1e66c38d64be2c7dbf4b08c71857031ab67 Author: Samu Onkalo Date: Sun Oct 18 00:38:57 2009 -0700 Input: add open and close methods for polled devices Optional open and close methods for preparing and closing the device. Signed-off-by: Samu Onkalo Signed-off-by: Dmitry Torokhov commit 988ade6b8e27e79311812f83a87b5cea11fabcd7 Author: Krishna Kumar Date: Wed Oct 14 19:55:07 2009 +0000 genetlink: Optimize and one bug fix in genl_generate_id() 1. GENL_MIN_ID is a valid id -> no need to start at GENL_MIN_ID + 1. 2. Avoid going through the ids two times: If we start at GENL_MIN_ID+1 (*or bigger*) and all ids are over!, the code iterates through the list twice (*or lesser*). 3. Simplify code - no need to start at idx=0 which gets reset to GENL_MIN_ID. Patch on net-next-2.6. Reboot test shows that first id passed to genl_register_family was 16, next two were GENL_ID_GENERATE and genl_generate_id returned 17 & 18 (user level testing of same code shows expected values across entire range of MIN/MAX). Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 93860b08e31a3202b6e67e386811545e719a0165 Author: Krishna Kumar Date: Wed Oct 14 19:54:53 2009 +0000 genetlink: Optimize genl_register_family() genl_register_family() doesn't need to call genl_family_find_byid when GENL_ID_GENERATE is passed during register. Patch on net-next-2.6, compile and reboot testing only. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 0d9a40de60a4470777913d8d42044ae548e6545d Author: Krishna Kumar Date: Wed Oct 14 19:54:19 2009 +0000 cxgb3: No need to wake queue in xmit handler The xmit handler doesn't need to wake the queue after stopping it temporarily (some other drivers are doing the same). Patch on net-next-2.6, multiple netperf sessions tested. Signed-off-by: Krishna Kumar Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit a1c1f5eab7d8c3b4f645df8ce2882ff4f578aa45 Author: Einar Lueck Date: Wed Oct 14 22:54:59 2009 +0000 ctcm rollback in case of errors Group device now cleanly reacts to failures during channel start and implements a clean rollback. Signed-off-by: Einar Lueck Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d816d4238245b019d6f86f58163c78f015bd94ed Author: Klaus-Dieter Wacker Date: Wed Oct 14 22:54:58 2009 +0000 lcs: Recognize return codes of ccw_device_set_online(). The creation of a new lcs device requires a call to the function ccw_device_set_online() for the read and the write channel. Failure of either call should terminate the lcs device creation immediately with return code -ENODEV. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d62e09e34eba15be382a7aed27b0fa67112e29e0 Author: Klaus-Dieter Wacker Date: Wed Oct 14 22:54:57 2009 +0000 lcs: ODEBUG: object is on stack, but not annotated. Timer_list structure in lcs_send_lancmd() is allocated on stack. Initialization with init_timer() leads to above ODEBUG message. Instead use init_timer_on_stack() which prevents above msg. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9a4ff8d417e4ef2eeecb4a4433e3dbd8251aae5e Author: Ursula Braun Date: Wed Oct 14 22:54:56 2009 +0000 af_iucv: remove duplicate sock_set_flag Remove duplicate sock_set_flag(sk, SOCK_ZAPPED) in iucv_sock_close, which has been overlooked in September-commit 7514bab04e567c9408fe0facbde4277f09d5eb74. Cc: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 49f5eba7575e6dfb146c5e24623d50200ce23ff1 Author: Hendrik Brueckner Date: Wed Oct 14 22:54:55 2009 +0000 af_iucv: use sk functions to modify sk->sk_ack_backlog Instead of modifying sk->sk_ack_backlog directly, use respective socket functions. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7194660da7a6d119fa469bd11b58e7367a5cbdf4 Author: Dhananjay Phadke Date: Fri Oct 16 15:50:12 2009 +0000 netxen; update version to 4.0.62 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit caa2dd53bc2f9c44938f2f261ebe15e2f26cc51e Author: Narender Kumar Date: Fri Oct 16 15:50:11 2009 +0000 netxen: sysfs control for auto firmware recovery Firmware hang detection and recovery (reset) need to be disabled for diagnostic tools, which can run some disruptive tests. This adds a driver level control to turn off this feature by diag tools. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7cecdca133ea9791adce21819b9e9eed79045f23 Author: Dhananjay Phadke Date: Fri Oct 16 15:50:10 2009 +0000 netxen: fix error codes in for tools access Use -EIO or -EINVAL as error codes, these can get passed up to applications (tools). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6abb4b83eac25d91f6de834e97b2ea38e979575b Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:09 2009 +0000 netxen: onchip memory access change Add support for different windowing scheme for on chip memory in future chip revisions. This is required by diagnostic tools. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0be367bd5d10634c0836f57a684432fee935d929 Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:08 2009 +0000 netxen: reset sequence changes Future revisions need different chip reset sequence and firmware initialization. Also clean up some never used debug code. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit fb1f6a4378fe211d8c1397311d26e747e5ec61c5 Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:07 2009 +0000 netxen: 128 memory controller support Future revisions of the chip have 128 bit memory transactions. Require drivers to implement rmw in case of sub-128 bit accesses by driver. This is mostly used by diagnostic tools. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0a2aa440603f27ad40bcc14806f4d87aabbd8a0f Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:06 2009 +0000 netxen: defines for next revision Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1c8db713e21c82e14d0d1be14a09dae224472396 Author: Paul Mundt Date: Sun Oct 18 15:36:02 2009 +0900 sh: Fix up smp_mb__xxx() memory barriers for SH-4A SMP. In the past these were simply wrapping to barrier() which was sufficient on SH SMP platforms predating SH-4A. Unfortunately due to ll/sc semantics an explicit synco is needed in these cases, which is sorted for us by just switching these over to smp_mb(). smp_mb() also has the benefit of being wrapped to barrier() in the UP and non-SH4A cases, so old behaviour is maintained for those parts. Signed-off-by: Paul Mundt commit 15dfdddbf0c2be680d5d2fe2bbe3aad3dba3cf0e Author: Paul Mundt Date: Sun Oct 18 15:13:28 2009 +0900 sh: Disable SCIF2 on the SH-X3 proto CPU. SCIF2 and the FPU exceptions happen to share vector numbers, one in EXPEVT and the other in INTEVT. This is a violation of the interface and should have never made it in to silicon. On top of that, the demux hack that was added for special dispatch is rather error prone, and introduces more problems than it solves. Kill all of it off, and just refuse to deal with SCIF2 outright. Signed-off-by: Paul Mundt commit 0f8f86c7bdd1c954fbe153af437a0d91a6c5721a Merge: dca2d6a f39cdf2 Author: Frederic Weisbecker Date: Sun Oct 18 01:09:09 2009 +0200 Merge commit 'perf/core' into perf/hw-breakpoint Conflicts: kernel/Makefile kernel/trace/Makefile kernel/trace/trace.h samples/Makefile Merge reason: We need to be uptodate with the perf events development branch because we plan to rewrite the breakpoints API on top of perf events. commit 03fdb708926d5df2d9b9e62222c1666e20caa9e3 Author: Paul Mundt Date: Sat Oct 17 21:06:39 2009 +0900 sh: Convert to asm-generic/irqflags.h. This simplifies the irqflags support by switching over to the asm-generic version. The necessary support functions are brought out-of-line for both SHcompact and SHmedia instruction sets. Signed-off-by: Paul Mundt commit bb3c3e807140816b5f5fd4840473ee52a916ad4f Merge: 595c364 012abee Author: Ingo Molnar Date: Sat Oct 17 09:58:25 2009 +0200 Merge commit 'v2.6.32-rc5' into perf/probes Conflicts: kernel/trace/trace_event_profile.c Merge reason: update to -rc5 and resolve conflict. Signed-off-by: Ingo Molnar commit 595c36490deb49381dc51231a3d5e6b66786ed27 Author: Masami Hiramatsu Date: Fri Oct 16 20:08:27 2009 -0400 perf: Add perf-probe document Add perf-probe subcommand document and add it to command-list. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000827.16556.73539.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 9769833b8e4425dc93fc837bf124c6cb02a51abb Author: Masami Hiramatsu Date: Fri Oct 16 20:08:18 2009 -0400 perf: Add DIE_IF() macro for error checking Add DIE_IF() macro and replace ERR_IF() with it, and use linux/stringify.h. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000818.16556.82452.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 89c69c0eee7515cdc217f4278de43547284b3458 Author: Masami Hiramatsu Date: Fri Oct 16 20:08:10 2009 -0400 perf: Use eprintf() for debug messages in perf-probe Replace debug() macro with eprintf() and add -v option for showing those messages in perf-probe. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000810.16556.38013.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 074fc0e4b3f5d24306c2995f2f3b0bd4759e8aeb Author: Masami Hiramatsu Date: Fri Oct 16 20:08:01 2009 -0400 perf: Use die() for error cases in perf-probe Use die() for exiting perf-probe with errors. This replaces perror_exit(), msg_exit() and fprintf()+exit() with die(), and uses die() in semantic_error(). This also renames 'die' local variables to 'dw_die' for avoiding name confliction. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000801.16556.46866.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 4c20194c2de151bca14224ae384b47abf7636a95 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:52 2009 -0400 perf: Check libdwarf APIs for perf probe Check libdwarf APIs for perf probe in tools/perf/Makefile. Since dwarf_get_ranges() has been added from libdwarf 20081231 (and it's the newest function used in probe-finder.c), this just checks whether the function is defined. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000752.16556.92051.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d1baf5a5a6088e2991b7dbbd370ff200bd6615ce Author: Masami Hiramatsu Date: Fri Oct 16 20:07:44 2009 -0400 x86: Add AMD prefetch and 3DNow! opcodes to opcode map Add AMD prefetch and 3DNow! opcode including FEMMS. Since 3DNow! uses the last immediate byte as an opcode extension byte, x86 insn just treats the extenstion byte as an immediate byte instead of a part of opcode (insn_get_opcode() decodes first "0x0f 0x0f" bytes.) Users who are interested in analyzing 3DNow! opcode still can decode it by analyzing the immediate byte. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000744.16556.27881.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 8c95bc3e206cff7a55edd2fc5f0e2b305d57903f Author: Masami Hiramatsu Date: Fri Oct 16 20:07:36 2009 -0400 x86: Add MMX/SSE opcode groups to opcode map Add missing MMX/SSE opcode groups to x86 opcode map. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000736.16556.29061.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit e63cc2397ecc0f2b604f22fb9cdbb05911c1e5d4 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:28 2009 -0400 tracing/kprobes: Add failure messages for debugging Add verbose failure messages to kprobe-tracer for debugging. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000728.16556.16713.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f397af06e4c9bf5a0bc92facb8cb29905e338ab0 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:20 2009 -0400 tracing/kprobes: Update kprobe-tracer selftest against new syntax Update kprobe-tracer selftest since command syntax has been changed. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000720.16556.26343.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f39cdf25bf77219676ec5360980ac40b1a7e144a Author: Julia Lawall Date: Sat Oct 17 08:43:17 2009 +0200 perf tools: Move dereference after NULL test In each case, if the NULL test on thread is needed, then the dereference should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall LKML-Reference: Signed-off-by: Ingo Molnar commit 12d7ea2c5a5c87834daf9fcd920aab80ff6248b1 Author: Ajit Khaparde Date: Fri Oct 16 18:02:12 2009 -0700 be2net: Add support for next generation of BladeEngine device. Add new PCI ids to support next generation of BladeEngine device. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 84f90c9cc81d8db172d4f768fc4010f508897366 Author: Tony Lindgren Date: Fri Oct 16 09:53:00 2009 -0700 omap: Change low-level serial init to use ioremap Change low-level serial init to use ioremap Signed-off-by: Tony Lindgren commit b33a6363649f0ff83ec81597ea7fe7e688f973cb Author: Borislav Petkov Date: Fri Oct 16 12:31:33 2009 +0200 x86, mce: Add a global MCE init helper Add an early initcall (pre SMP) which sets up global MCE functionality. Signed-off-by: Borislav Petkov Cc: Andi Kleen LKML-Reference: <1255689093-26921-2-git-send-email-borislav.petkov@amd.com> Signed-off-by: Ingo Molnar commit 5e09954a9acc3b435ffe318b95afd3c02fae069f Author: Borislav Petkov Date: Fri Oct 16 12:31:32 2009 +0200 x86, mce: Fix up MCE naming nomenclature Prefix global/setup routines with "mcheck_" thus differentiating from the internal facilities prefixed with "mce_". Also, prefix the per cpu calls with mcheck_cpu and rename them to reflect the MCE setup hierarchy of calls better. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Cc: Andi Kleen LKML-Reference: <1255689093-26921-1-git-send-email-borislav.petkov@amd.com> Signed-off-by: Ingo Molnar commit 6b50f5c7c7163d50af0946a93b61c05e448f6038 Merge: 8968f9d fb25319 93ae501 Author: Ingo Molnar Date: Fri Oct 16 14:42:20 2009 +0200 Merge branches 'x86/mce' and 'x86/urgent' into perf/mce Merge reason: Put all MCE changes into this branch, we are queueing up a dependent patch. Signed-off-by: Ingo Molnar commit cae19b5902d52ff059f5df98ea993a00e5686af1 Author: Paul Mundt Date: Fri Oct 16 18:20:42 2009 +0900 sh: Kill off legacy UBC wakeup cruft. This code was added for some ancient SH-4 solution engines with peculiar boot ROMs that did silly things to the UBC MSTP bits. None of these have been in the wild for years, and these days the clock framework wraps up the MSTP bits, meaning that the UBC code is one of the few interfaces that is stomping MSTP bits underneath the clock framework. At this point the risks far outweigh any benefit this code provided, so just kill it off. Signed-off-by: Paul Mundt commit 78aed4a63aaa67f22cb1b541dd7528139a24c289 Merge: 896f0c0 f875295 Author: Paul Mundt Date: Fri Oct 16 18:16:02 2009 +0900 Merge branch 'sh/stable-updates' Conflicts: arch/sh/Kconfig commit 896f0c0e8e4ee02ee72a203aef79f362d5f7b7cc Author: Paul Mundt Date: Fri Oct 16 18:00:02 2009 +0900 sh: Support SCHED_MC for SH-X3 multi-cores. This enables SCHED_MC support for SH-X3 multi-cores. Presently this is just a simple wrapper around the possible map, but this allows for tying in support for some of the more exotic NUMA clusters where we can actually do something with the topology. Signed-off-by: Paul Mundt commit 9dbe00a56a60748668d2040cf4e59427060e2252 Author: Paul Mundt Date: Fri Oct 16 17:55:59 2009 +0900 sh: Fix up IRQ re-enabling for the need_resched() case. In the case where need_resched() is set in between the cpu_idle() and pm_idle() calls we were missing an else case for just re-enabling local IRQs and bailing out. This was noticed by the irqs_disabled() warning, even though IRQs were being re-enabled elsewhere. Signed-off-by: Paul Mundt commit 0e6d4986e7940125a04ba8c3aa558f3b248cb9b4 Author: Paul Mundt Date: Fri Oct 16 17:27:58 2009 +0900 sh: Make check_pgt_cache() more aggressive while idling. This follows the x86 change and moves check_pgt_cache() up under the !need_resched() tight loop, rather than simply calling in to it when exiting idle. Signed-off-by: Paul Mundt commit f533c3d340536198a4889a42a68d6c0d79a504e7 Author: Paul Mundt Date: Fri Oct 16 17:20:58 2009 +0900 sh: Idle loop chainsawing for SMP-based light sleep. This does a bit of chainsawing of the idle loop code to get light sleep working on SMP. Previously this was forcing secondary CPUs in to sleep mode with them not coming back if they didn't have their own local timers. Given that we use clockevents broadcasting by default, the CPU managing the clockevents can't have IRQs disabled before entering its sleep state. This unfortunately leaves us with the age-old need_resched() race in between local_irq_enable() and cpu_sleep(), but at present this is unavoidable. After some more experimentation it may be possible to layer on SR.BL bit manipulation over top of this scheme to inhibit the race condition, but given the current potential for missing wakeups, this is left as a future exercise. Signed-off-by: Paul Mundt commit 94eab0bb206443dd7480349804f64e2bba8dc6e1 Author: Paul Mundt Date: Fri Oct 16 17:19:08 2009 +0900 sh: Force boot CPU in to light sleep mode for SH-X3 SMP. All of the secondary CPUs are forced in to light sleep mode, but we were missing the same initialization for the boot CPU. This resulted in inconsistent sleep modes depending on which CPU we were on, confusing the idle loop when not polling. Signed-off-by: Paul Mundt commit abeaf33a4101764291ec79cf286e08c0966eb26e Merge: 731ba33 52a9490 Author: Paul Mundt Date: Fri Oct 16 15:14:50 2009 +0900 Merge branch 'sh/stable-updates' Conflicts: arch/sh/mm/cache-sh4.c commit a2bb28a0dbcc1370104a543d25eb28aab81d4a91 Merge: 012abee f8631e7 Author: Tony Lindgren Date: Thu Oct 15 18:16:10 2009 -0700 Merge branch 'omap7xx-fortony-rc3' of git://robotfuzz.com/linwizard-kernel into omap7xx commit 21912d1ca2546ca96743c91d5a4125aef2d9df70 Author: Rémi Denis-Courmont Date: Thu Oct 15 12:29:14 2009 -0700 Phonet: hold socket before giving it to sk_deliver_skb() Signed-off-by: Rémi Denis-Courmont Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 78eb00cc574d3dbf8e6bed804948a89e8110a064 Author: David Rientjes Date: Thu Oct 15 02:20:22 2009 -0700 slub: allow stats to be cleared When collecting slub stats for particular workloads, it's necessary to collect each statistic for all caches before the job is even started because the counters are usually greater than zero just from boot and initialization. This allows a statistic to be cleared on each cpu by writing '0' to its sysfs file. This creates a baseline for statistics of interest before the workload is started. Setting a statistic to a particular value is not supported, so all values written to these files other than '0' returns -EINVAL. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit e91edcf5a2940bb7f1f316c871dfe9e2aaf9d6d9 Author: Grant Likely Date: Thu Oct 15 10:58:09 2009 -0600 of: merge of_find_all_nodes() implementations Merge common code between Microblaze and PowerPC, and make it available to Sparc Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 82b2928c95d824afd9af3bb41660f3c3fa1f234e Author: Grant Likely Date: Thu Oct 15 10:58:07 2009 -0600 of: merge other miscellaneous prototypes Merge common prototypes used by Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 8482f56803b9498af84bc09e7bc769a5924f6443 Author: Grant Likely Date: Thu Oct 15 10:58:04 2009 -0600 of: merge of_*_flat_dt*() functions Merge common flattened device tree code between Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 526b5b3ed97bac22ed0c9feed97adcdc3a25244c Author: Grant Likely Date: Thu Oct 15 10:58:02 2009 -0600 of: merge of_node_get(), of_node_put() and of_find_all_nodes() Merge common code between Sparc, PowerPC and Microblaze. Sparc differs in the implementation at this point, so this patch uses a #ifdef to handle sparc differently for now. The merging of implementations will occur in a later patch Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit b6caf2ad7ce30648b89c1cf40d8f7cf6f4b58033 Author: Grant Likely Date: Thu Oct 15 10:58:00 2009 -0600 of: merge of_read_number() an of_read_ulong() Merge common code between Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 50436312f47f1fd2bf82c983638fe27ca7e03238 Author: Grant Likely Date: Thu Oct 15 10:57:58 2009 -0600 of: merge of_node_*_flag() and set_node_proc_entry() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit d45d94f672e3c79b0db1e6d76e1638ee521d56c0 Author: Grant Likely Date: Thu Oct 15 10:57:55 2009 -0600 of: merge struct boot_param_header from Microblaze and PowerPC Merge common code for working with Flattened Device Tree data structure Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit d8678b58708d7e6bf947ebd03eaf44baf2adfad8 Author: Grant Likely Date: Thu Oct 15 10:57:53 2009 -0600 of: add common header for flattened device tree representation Add a common header file for working with the flattened device tree data structure and merge the shared data tags used by Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 61e955db539e748cff2b8ea3bf7705259ebe9fb6 Author: Grant Likely Date: Thu Oct 15 10:57:51 2009 -0600 of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 6f1924928377bd035a9f64466f91a487c69271d2 Author: Grant Likely Date: Thu Oct 15 10:57:49 2009 -0600 of: merge struct device_node Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 731581e6a653f6a68a4d7ba9df6b886a85c7d080 Author: Grant Likely Date: Thu Oct 15 10:57:46 2009 -0600 of: merge phandle, ihandle and struct property Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 9d24c888c779c877f1baf5a73e0cec78266ff7bb Author: Grant Likely Date: Thu Oct 15 10:57:44 2009 -0600 of: Rework linux/of.h and asm/prom.h include ordering In preparation to prune things out of the Sparc, PowerPC and Microblaze asm/prom.h files, change the #include statements to ensure that even if asm/prom.h is included first, linux/of.h gets to determine the order in which files are processed. This patch adds a #include to each of the prom.h files *above* the multi-include protection macros to ensure that linux/of.h can define things before prom.h gets processed. At the end of the merge the cross dependencies between the files should be gone and a sane #include scheme can be restored. Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit f88f2b4fdb1e098433ad2b005b6f7353f7268ce1 Author: Cyrill Gorcunov Date: Thu Oct 15 19:04:16 2009 +0400 x86: apic: Allow noop operations to be called almost at any time As only apic noop is used we allow to use almost any operation caller wants (and which of them noop driver supports of course). Initially it was reported by Ingo Molnar that apic noop issue a warning for pkg id (which is actually false positive and should be eliminated). So we save checking (and warning issue) for read/write operations while allow any other ops to be freely used. Also: - fix noop_cpu_to_logical_apicid, it should be 0. - rename noop_default_phys_pkg_id to noop_phys_pkg_id (we use default_ prefix for more general routines in apic subsystem). Reported-by: Ingo Molnar Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki LKML-Reference: <20091015150416.GC5331@lenovo> Signed-off-by: Ingo Molnar commit 3da8e6885ec2dea67321c904d721be90e00cd748 Merge: c8bf93f 8e8b2d6 Author: Mark Brown Date: Thu Oct 15 15:02:14 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit c8bf93f0fe8c5a509a29e30f3bac823fa0f6d96e Author: Peter Ujfalusi Date: Thu Oct 15 09:03:56 2009 +0300 ASoC: Codec driver for Texas Instruments tlv320dac33 codec Driver for Texas Instruments TLV320DAC33 (SLAS546) low power stereo audio DAC. TLV320DAC33 is a stereo audio codec with integrated 24KB FIFO for low power audio playback. The digital interface can use I2S, DSP (A or B), Right and Left justified formats. DAC33 has stereo analog input, which can be bypassed to the analog outputs. Regarding to the internal 24KB FIFO the driver implements 'FIFO bypass' mode (default) and nSample mode (FIFO is in use). a) In 'FIFO bypass' mode the internal FIFO is not in use, the codec is working synchronously as a normal codec (it needs constant stream of data on the digital interface). b) The nSample mode implementation uses one interrupt line from DAC33 to the host: Alarm threshold is set to 10ms of audio data (limit by the driver implementation). DAC33 will signal an interrupt, when the FIFO level goes under the Alarm threshold. The host will write to nSample register a value (number of stereo samples), to tell DAC33 how many samples it should read in a burst from the host. When the DAC33 received the number of samples, it disables the clocks on the I2S bus. When the FIFO use again goes under the Alarm threshold, DAC33 signals the host with an interrupt, and the process is repeated. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 640fb39e386a0dac9014e5b8a512de0950e30288 Author: Igor Grinberg Date: Wed Oct 14 09:20:26 2009 +0200 ASoC: finally enable support for eXeda and CM-X300 Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport CC: Mark Brown CC: alsa-devel@alsa-project.org Signed-off-by: Mark Brown commit d2058b0cd039aad89b111d83b9c347e9d8f57a84 Author: Mark Brown Date: Tue Oct 13 17:39:56 2009 +0100 ASoC: Remove snd_soc_suspend_device() The PM core will grow pm_link infrastructure in 2.6.33 which can be used to implement the intended functionality of the ASoC-specific device suspend and resume callbacks so drop them. Signed-off-by: Mark Brown commit 434a83c3fbb951908a3a52040f7f0e0b8ba00dd0 Author: Ingo Molnar Date: Thu Oct 15 11:50:39 2009 +0200 events: Harmonize event field names and print output names Now that we can filter based on fields via perf record, people will start using filter expressions and will expect them to be obvious. The primary way to see which fields are available is by looking at the trace output, such as: gcc-18676 [000] 343.011728: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.012727: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.032692: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.033690: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.034687: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.035686: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.036684: irq_handler_entry: irq=0 handler=timer While 'irq==0' filters work, the 'handler==' filter expression does not work: $ perf record -R -f -a -e irq:irq_handler_entry --filter handler=timer sleep 1 Error: failed to set filter with 22 (Invalid argument) The problem is that while an 'irq' field exists and is recognized as a filter field - 'handler' does not exist - its name is 'name' in the output. To solve this, we need to synchronize the printout and the field names, wherever possible. In cases where the printout prints a non-field, we enclose that information in square brackets, such as: perf-1380 [013] 724.903505: softirq_exit: vec=9 [action=RCU] perf-1380 [013] 724.904482: softirq_exit: vec=1 [action=TIMER] This way users can use filter expressions more intuitively: all fields that show up as 'primary' (non-bracketed) information is filterable. This patch harmonizes the field names for all irq, bkl, power, sched and timer events. We might in fact think about dropping the print format bit of generic tracepoints altogether, and just print the fields that are being recorded. Cc: Li Zefan Cc: Tom Zanussi Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a66abe7fbf7805a1a02f241bd5283265ff6706ec Author: Ingo Molnar Date: Thu Oct 15 12:24:04 2009 +0200 tracing/events: Fix locking imbalance in the filter code Américo Wang noticed that we have a locking imbalance in the error paths of ftrace_profile_set_filter(), causing potential leakage of event_mutex. Also clean up other error codepaths related to event_mutex while at it. Plus fix an initialized variable in the subsystem filter code. Reported-by: Américo Wang Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <2375c9f90910150247u5ccb8e2at58c764e385ffa490@mail.gmail.com> Signed-off-by: Ingo Molnar commit c171b552a7d316c7e1c3ad6f70a30178dd53e14c Author: Li Zefan Date: Thu Oct 15 11:22:07 2009 +0800 perf trace: Add filter Suppport Add a new option "--filter " to perf record, and it should be right after "-e trace_point": #./perf record -R -f -e irq:irq_handler_entry --filter irq==18 ^C # ./perf trace perf-4303 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 See Documentation/trace/events.txt for the syntax of filter expressions. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD6955F.90602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6fb2915df7f0747d9044da9dbff5b46dc2e20830 Author: Li Zefan Date: Thu Oct 15 11:21:42 2009 +0800 tracing/profile: Add filter support - Add an ioctl to allocate a filter for a perf event. - Free the filter when the associated perf event is to be freed. - Do the filtering in perf_swevent_match(). Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69546.8050401@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b0f1a59a98d7ac2102e7e4f22904c26d564a5628 Author: Li Zefan Date: Thu Oct 15 11:21:12 2009 +0800 tracing/filters: Use a different op for glob match "==" will always do a full match, and "~" will do a glob match. In the future, we may add "=~" for regex match. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69528.3050309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fce29d15b59245597f7f320db4a9f2be0f5fb512 Author: Li Zefan Date: Thu Oct 15 11:20:34 2009 +0800 tracing/filters: Refactor subsystem filter code Change: for_each_pred for_each_subsystem To: for_each_subsystem for_each_pred This change also prepares for later patches. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69502.8060903@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 713490e02eed242b4c1c672b3c0c8b708f8b6f1d Merge: c4dc775 1beee96 Author: Ingo Molnar Date: Thu Oct 15 11:33:56 2009 +0200 Merge branch 'tracing/core' into perf/core Merge reason: to add event filter support we need the following commits from the tracing tree: 3f6fe06: tracing/filters: Unify the regex parsing helpers 1889d20: tracing/filters: Provide basic regex support 737f453: tracing/filters: Cleanup useless headers Signed-off-by: Ingo Molnar commit 0edf1a683e499191b27a067956ae9f5fa6e046c6 Author: Paul E. McKenney Date: Wed Oct 14 10:15:59 2009 -0700 rcu: Update trace.txt documentation for blocked-tasks lists 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: npiggin@suse.de Cc: jens.axboe@oracle.com LKML-Reference: <12555405592804-git-send-email-> Signed-off-by: Ingo Molnar commit bd58b430039435e4c981cf802b5b11d511d73abd Author: Paul E. McKenney Date: Wed Oct 14 10:15:54 2009 -0700 rcu: Update trace.txt documentation to reflect recent changes o Remove the CONFIG_PREEMPT_RCU documentation since this config option has now been removed. o Change the now-incorrect references to "rcu" labels to instead be "rcu_sched". o Add notes stating that CONFIG_TREE_PREEMPT_RCU kernels will have additional "rcu_preempt" output. o Note the new "oqlen" field in the rcuhier output (for RCU callbacks orphaned by an offlined 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 Cc: npiggin@suse.de Cc: jens.axboe@oracle.com LKML-Reference: <1255540559799-git-send-email-> Signed-off-by: Ingo Molnar commit 3397e040dfacbb303498ced1baa96be983dcea06 Author: Paul E. McKenney Date: Wed Oct 14 16:36:38 2009 -0700 rcu: Add rnp->blocked_tasks to tracing Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca 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: npiggin@suse.de Cc: jens.axboe@oracle.com Cc: Josh Triplett LKML-Reference: <20091014233638.GE6763@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar kernel/rcutree_trace.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit c4dc775f53136cd6af8f88bce67cce9b42751768 Author: Steven Rostedt Date: Wed Oct 14 15:43:44 2009 -0400 perf tools: Remove all char * typecasts and use const in prototype The (char *) for all the static strings was a fix for the symptom and not the disease. The real issue was that the function prototypes needed to be declared "const char *". Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.635935008@goodmis.org> Signed-off-by: Ingo Molnar commit afdf1a404eed236d6f762ee44cc0f1dcc97206e0 Author: Steven Rostedt Date: Wed Oct 14 15:43:43 2009 -0400 perf tools: Handle - and + in parsing trace print format The opterators '-' and '+' are not handled in the trace print format. To do: '++' and '--'. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.330843045@goodmis.org> Signed-off-by: Ingo Molnar commit cda48461c7fb8431a99b7960480f5f42cc1a5324 Author: Steven Rostedt Date: Wed Oct 14 15:43:42 2009 -0400 perf tools: Add latency format to trace output Add the irqs disabled, preemption count, need resched, and other info that is shown in the latency format of ftrace. # perf trace -l perf-16457 2..s2. 53636.260344: kmem_cache_free: call_site=ffffffff811198f perf-16457 2..s2. 53636.264330: kmem_cache_free: call_site=ffffffff811198f perf-16457 2d.s4. 53636.300006: kmem_cache_free: call_site=ffffffff810d889 Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.076588953@goodmis.org> Signed-off-by: Ingo Molnar commit 0d1da915c76838c9ee7af7cdefbcb2bae9424161 Author: Steven Rostedt Date: Wed Oct 14 15:43:41 2009 -0400 perf tools: Handle both versions of ftrace output The ftrace output events can have either arguments or no arguments. The parser needs to be able to handle both. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.790221427@goodmis.org> Signed-off-by: Ingo Molnar commit ffa1895561645103d8f8059b35d9c06e6eeead2e Author: Steven Rostedt Date: Wed Oct 14 15:43:40 2009 -0400 perf tools: Fix bprintk reading in trace output The bprintk parsing was broken in more ways than one. The file parsing was incorrect, and the words used by the arguments are always 4 bytes aligned, even on 64-bit machines. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.520931637@goodmis.org> Signed-off-by: Ingo Molnar commit 07a4bdddcf2546ccfbfb3c782deab636c371edeb Author: Steven Rostedt Date: Wed Oct 14 15:43:39 2009 -0400 perf tools: Still continue on failed parsing of an event Even though an event may fail to parse, we should not kill the entire report. The trace should still be able to show what it can. If an event fails to parse, a warning is printed, and the output continues. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.190809589@goodmis.org> Signed-off-by: Ingo Molnar commit 13999e59343b042b0807be2df6ae5895d29782a0 Author: Steven Rostedt Date: Wed Oct 14 15:43:38 2009 -0400 perf tools: Handle the case with and without the "signed" trace field The trace format files now have a "signed" field. But we should still be able to handle the kernels that do not have this field. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.888239553@goodmis.org> Signed-off-by: Ingo Molnar commit f1d1feecf07261d083859ecfef0d4399036f9683 Author: Steven Rostedt Date: Wed Oct 14 15:43:37 2009 -0400 perf tools: Handle newlines in trace parsing better New lines between args in the trace format can break the parsing. This should not be the case. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.637991808@goodmis.org> Signed-off-by: Ingo Molnar commit b99af874829cba2b30d212bc6fd31b56275ee4d2 Author: Steven Rostedt Date: Wed Oct 14 15:43:36 2009 -0400 perf tools: Handle * as typecast in trace parsing The '*' is currently only treated as a multiplication, and it needs to be handled as a typecast pointer. This is the version used by trace-cmd. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.409327875@goodmis.org> Signed-off-by: Ingo Molnar commit 0959b8d65ce26131c2d5ccfa518a7b76529280fa Author: Steven Rostedt Date: Wed Oct 14 15:43:35 2009 -0400 perf tools: Handle arrays in print fields for trace parsing The array used by the ftrace stack events (caller[x]) causes issues with the parser. This adds code to handle the case, but it also assumes that the array is of type long. Note, this is a special case used (currently) only by the ftrace user and kernel stack records. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.124833639@goodmis.org> Signed-off-by: Ingo Molnar commit 298ebc3ef2a6c569b3eb51651f04e26aecbf8a1d Author: Steven Rostedt Date: Wed Oct 14 15:43:34 2009 -0400 perf tools: Handle trace parsing of < and > The code to handle the '<' and '>' ops was all in place, but they were not in the switch statement to consider them as valid ops. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.807434040@goodmis.org> Signed-off-by: Ingo Molnar commit 91ff2bc191827f0d3f5ad0a433ff7df7d2dd9aee Author: Steven Rostedt Date: Wed Oct 14 15:43:33 2009 -0400 perf tools: Fix backslash processing on trace print formats The handling of backslashes was broken. It would stop parsing when encountering one. Also, '\n', '\t', '\r' and '\\' were not converted. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.521974680@goodmis.org> Signed-off-by: Ingo Molnar commit 924a79af2cdee26a034b9bdce8c9c76995b5c901 Author: Steven Rostedt Date: Wed Oct 14 15:43:32 2009 -0400 perf tools: Handle print concatenations in event format file kmem_alloc ftrace event format had a string that was broken up by two tokens. "string 1" "string 2". This patch lets the parser be able to handle the concatenation. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.253818714@goodmis.org> Signed-off-by: Ingo Molnar commit b2d76447dfb8c695324c61c87f63e414f44fce5a Author: Eilon Greenstein Date: Thu Oct 15 00:19:31 2009 -0700 bnx2x: Update to version 1.52.1-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 35c5f8fef12a2e4b788aa45ff72206ce4ac8e4b4 Author: Eilon Greenstein Date: Thu Oct 15 00:19:05 2009 -0700 bnx2x: Report the maximal available BW as link speed The device is limited to the maximal BW allocation, so it should be displayed as the link speed to notify the user. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 061bc702f6912b6e45b9aaf1c9bf2f8122406d47 Author: Eilon Greenstein Date: Thu Oct 15 00:18:47 2009 -0700 bnx2x: Do not call load/unload functionality from DCC There is really no need to clear the MAC or the FW filtering rules - it was added for completion, but caused race conditions with load/unload. Removing this redundant code Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c4ff7cbf88be8bb0e3f942089f0ef0a40d98d654 Author: Eilon Greenstein Date: Thu Oct 15 00:18:27 2009 -0700 bnx2x: Adding FW mailbox mutex DCC commands are not protected with the RTNL lock, so a mutex should be added Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f34d28ea0174df63253dc20a95de0b48e3d8145a Author: Eilon Greenstein Date: Thu Oct 15 00:18:08 2009 -0700 bnx2x: Changing the Disabled state to a flag When working with DCC, a function can be disabled or enabled (virtual link down or up). Using the function state introduced some race conditions with the load/unload flow. Using a separate flag to indicate that the function is disabled. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 52a7a12fb560f22dd093ca74f3a768d51b044a40 Author: Eilon Greenstein Date: Thu Oct 15 00:17:45 2009 -0700 bnx2x: Remove old FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b015e3d112cab1880d262c56655c3ff60e179ceb Author: Eilon Greenstein Date: Thu Oct 15 00:17:20 2009 -0700 bnx2x: Allowing 0 as initial fairness value Value of zero was used to disable the fairness mechanism. Though the code (driver and FW) allowed changing the value at run time, it did not allow to do that if the mechanism was disabled to begin with. Fixed the FW to allow turning on and off the mechanism at run time. Fixed the code to read the value from the chip at the right sequence. Without this fix, if the initial value was set to zero, traffic could not run on the interface. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 69dc2df3aaee2ce5e875b14b7271436559be9a95 Author: Eilon Greenstein Date: Thu Oct 15 00:16:27 2009 -0700 bnx2x: Add FW 5.2.7 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b226f744d40b052ac126c4cb16c76f66e5185128 Merge: d5b889f a3ccf63 Author: Ingo Molnar Date: Thu Oct 15 08:44:42 2009 +0200 Merge branch 'linus' into perf/core Merge reason: pick up tools/perf/ changes from upstream. Signed-off-by: Ingo Molnar commit 09115cd42b52704ebd1789524e3e318963a5558d Author: David S. Miller Date: Wed Oct 14 21:32:43 2009 -0700 sparc: Add missing __NR_recvmmsg define. Signed-off-by: David S. Miller commit 766e9037cc139ee25ed93ee5ad11e1450c4b99f6 Author: Eric Dumazet Date: Wed Oct 14 20:40:11 2009 -0700 net: sk_drops consolidation sock_queue_rcv_skb() can update sk_drops itself, removing need for callers to take care of it. This is more consistent since sock_queue_rcv_skb() also reads sk_drops when queueing a skb. This adds sk_drops managment to many protocols that not cared yet. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 48bccd25df71f4f8177cb800f4b288222eb57761 Author: Thomas Sailer Date: Wed Oct 14 15:15:24 2009 -0700 hamradio: Fix bit test correctly. Signed-off-by: Thomas Sailer Signed-off-by: David S. Miller commit 86a0a1e52d0918125ffc21475537a032f9a71d7c Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:31 2009 +0000 Phonet: forward incoming packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit aa6c45f32f7db292f8f6a76d7b39c19007d6a456 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:30 2009 +0000 Phonet: route outgoing packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f062f41d06575744b9eaf725eef8a5d3b5f5b7ca Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:29 2009 +0000 Phonet: routing table Netlink interface Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 55748ac0468134a89bc55aed6a9691e320caa8a9 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:28 2009 +0000 Phonet: routing table backend The Phonet "universe" only has 64 addresses, so we keep a trivial flat routing table. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f14001fcd7bd03983c872810a3b11af4148bae72 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:27 2009 +0000 Phonet: deliver broadcast packets to broadcast sockets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 27b3a5c51b50a234fb4a21146841e6723b5934ce Author: Frederic Weisbecker Date: Wed Oct 14 23:34:31 2009 +0200 kill-the-bkl/reiserfs: drop the fs race watchdog from _get_block_create_0() We had a watchdog in _get_block_create_0() that jumped to a fixup retry path in case the bkl got relaxed while calling kmap(). This is not necessary anymore since we now have a reiserfs lock that is not implicitly relaxed while sleeping. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit 205cb37b89ab37db553907e5ac17962eec561804 Author: Frederic Weisbecker Date: Wed Oct 14 23:22:17 2009 +0200 kill-the-bkl/reiserfs: definitely drop the bkl from reiserfs_ioctl() The reiserfs ioctl path doesn't need the big kernel lock anymore , now that the filesystem synchronizes through its own lock. We can then turn reiserfs_ioctl() into an unlocked_ioctl callback. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit ac78a07893d24d95ff5f39d0433c25210f224f07 Author: Frederic Weisbecker Date: Wed Oct 14 23:08:43 2009 +0200 kill-the-bkl/reiserfs: always lock the ioctl path Reiserfs uses the ioctl callback for its file operations, which means that its ioctl path is still locked by the bkl, this was synchronizing with the rest of the filsystem operations. We have changed that by locking it with the new reiserfs lock but we do that only from the compat_ioctl callback. Fix that by locking reiserfs_ioctl() everytime. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit cb7c96da3651111efbe088fa12f9bed61836ea93 Author: Stefan Richter Date: Thu Oct 8 00:42:53 2009 +0200 firewire: core: optimize Topology Map creation The Topology Map of the local node was created in CPU byte order, then a temporary big endian copy was created to compute the CRC, and when a read request to the Topology Map arrived it had to be converted to big endian byte order again. We now generate it in big endian byte order in the first place. This also rids us of 1000 bytes stack usage in tasklet context. Signed-off-by: Stefan Richter commit fe242579e9f33150868f1bb79c7e262ad7953f17 Author: Stefan Richter Date: Thu Oct 8 00:42:27 2009 +0200 firewire: core: clarify generate_config_rom usage Move the static config ROM buffer into the scope of the two callers of generate_config_rom(). That way the ROM length can be passed over as return value rather than through a pointer argument. It also becomes more obvious that accesses to the config ROM buffer have to be serialized and how this is accomplished. And firewire-core.ko shrinks a bit as well. Signed-off-by: Stefan Richter commit 8e85973efc87dfae8508f1a3440fd44612897458 Author: Stefan Richter Date: Thu Oct 8 00:41:59 2009 +0200 firewire: optimize config ROM creation The config ROM image of the local node was created in CPU byte order, then a temporary big endian copy was created to compute the CRC, and finally the card driver created its own big endian copy. We now generate it in big endian byte order in the first place to avoid one byte order conversion and the temporary on-stack copy of the ROM image (1000 bytes stack usage in process context). Furthermore, two 1000 bytes memset()s are replaced by one 1000 bytes - ROM length sized memset. The trivial fw_memcpy_{from,to}_be32() helpers are now superfluous and removed. The newly added __compute_block_crc() function will be folded into fw_compute_block_crc() in a subsequent change. Signed-off-by: Stefan Richter commit e21fcf798e246202d7b60e864f1d7302ebaaf41c Author: Stefan Richter Date: Thu Oct 8 00:41:38 2009 +0200 firewire: cdev: normalize variable names Unify some names: - "e" for pointers to subtypes of struct event, - "event" for struct members and pointers to struct event, - "r" for pointers to subtypes of struct client_resource, - "resource" for struct members and pointers to struct client_resource, - other names for struct members and pointers to other types. Signed-off-by: Stefan Richter commit 9fb551bf72929b316abb6d96cfb2ec05e896042a Author: Stefan Richter Date: Thu Oct 8 00:41:10 2009 +0200 firewire: normalize style of queue_work wrappers A few stylistic changes to unify some code patterns in the subsystem: - The similar queue_delayed_work helpers fw_schedule_bm_work, schedule_iso_resource, and sbp2_queue_work now have the same call convention. - Two conditional calls of schedule_iso_resource are factored into another small helper. - An sbp2_target_get helper is added as counterpart to sbp2_target_put. Object size of firewire-core is decreased a little bit, object size of firewire-sbp2 remains unchanged. Signed-off-by: Stefan Richter commit 67ca0e5fa884f483d655ef19f22ad8509138dd3e Author: Arnaldo Carvalho de Melo Date: Wed Oct 14 13:11:30 2009 -0700 ia64: Fix up the syscall table for recvmmsg Reported-by: "Tony Luck" Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Tony Luck Signed-off-by: David S. Miller commit 7e44c0b56b07a5e34de9943cfb2fee72e71a9f0e Author: Stefan Richter Date: Thu Oct 8 00:39:56 2009 +0200 firewire: cdev: fix memory leak in an error path If copy_from_user in an FW_CDEV_IOC_SEND_RESPONSE ioctl failed, an inbound_transaction_resource instance is no longer referenced and needs to be freed. Signed-off-by: Stefan Richter commit 1beee96bae0daf7f491356777c3080cc436950f5 Author: Frederic Weisbecker Date: Wed Oct 14 20:50:32 2009 +0200 ftrace: Rename set_bootup_ftrace into set_cmdline_ftrace set_cmdline_ftrace is a better match against what does this function: apply a tracer name from the kernel command line. Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Li Zefan commit 06f43d66ec36388056f5c697bf1e67c0e0a1645c Author: Frederic Weisbecker Date: Wed Oct 14 20:43:39 2009 +0200 ftrace: Copy ftrace_graph_filter boot param using strlcpy We are using strncpy in the wrong way to copy the ftrace_graph_filter boot param because we pass the buffer size instead of the max string size it can contain (buffer size - 1). The end result might not be NULL terminated as we are abusing the max string size. Lets use strlcpy() instead. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 4a4de9c7d7111ce4caf422b856756125d8304f9d Author: Dimitri Sivanich Date: Wed Oct 14 09:22:57 2009 -0500 x86: UV RTC: Rename generic_interrupt to x86_platform_ipi Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014142257.GE11048@sgi.com> Signed-off-by: Ingo Molnar commit d5991ff297ad2f7e2698eefcd8269df5ecec150f Author: Dimitri Sivanich Date: Wed Oct 14 09:21:03 2009 -0500 x86: UV RTC: Clean up error handling Cleanup error handling in uv_rtc_setup_clock. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014142103.GD11048@sgi.com> Signed-off-by: Ingo Molnar commit 8c28de4d011f37b2893ecfcec9a985c0e9bd786f Author: Dimitri Sivanich Date: Wed Oct 14 09:18:48 2009 -0500 x86: UV RTC: Add clocksource only boot option Add clocksource only boot option for UV RTC. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014141848.GC11048@sgi.com> Signed-off-by: Ingo Molnar commit e47938b1faaf9e9041ae842a878901001ce20ea1 Author: Dimitri Sivanich Date: Wed Oct 14 09:16:30 2009 -0500 x86: UV RTC: Fix early expiry handling Tune/fix early timer expiry handling and return correct early timeout value for set_next_event. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014141630.GB11048@sgi.com> Signed-off-by: Ingo Molnar commit d2ed82a3e7d1f63b2da3f1aa5763667dd17919ac Author: Logan Li Date: Wed Oct 14 10:10:38 2009 +0800 ALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF 48 kHz limit is for slightly better stability, and sample rates other than 48k (like 96k/192k) are for better sound quality. We choose better quality, so remove the 48k limit. Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 55e858c8483af427144f33b42b818b30612b82b0 Author: John Kacur Date: Sun Oct 11 22:24:25 2009 +0200 agp: Remove the BKL from agp_open - Remove the BKL from agp_open - Perform a few clean-ups. Analysis: --------- int minor is local to the function. The following are protected by agp_fe.agp_mutex struct agp_file_private *priv; struct agp_client *client; Call-outs: kzalloc should be safe to call under the mutex_lock agp_find_client_by_pid: - agp_mmap calls that under agp_fe.agp_mutex which we hold in agp_open - agpioc_reserve_wrap calls it without any locking what-so-ever. - Is that an error? Or is that okay because it has pid that is a unique handle? agp_insert_file_private: - This function only manipulates struct agp_file_private, once again while agp_fe.agp_mutex is held Signed-off-by: John Kacur Acked-by: David Airlie LKML-Reference: Signed-off-by: Thomas Gleixner commit f96d3015e9f7f7fff4cab7ed1d467664cc980061 Author: Thomas Gleixner Date: Wed Oct 14 16:36:26 2009 +0200 inifiband: Remove BKL from ipath_open() cycle_kernel_lock() got pushed down to ipath_open(). I tried hard to understand what it might protect, but finally gave up. Roland noted that qlogic seems to have abandoned the ipath driver and came to the following wise conclusion: "So I guess if the BKL stuff is blocking you in any way, we can just drop it from ipath and leave it as yet another race condition in a rotting old driver." Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Roland Dreier commit d2a7be0be1099c2554f4705d2c1c5081f8f96efc Author: Thomas Gleixner Date: Sat Oct 10 16:07:03 2009 +0200 mips: Remove BKL from tb0219 cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. tb0219_base is initialized before the character device is registered, but the spinlock is not initialized. Initialize the spinlock statically and remove cycle_kernel_lock(). Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.222654356@linutronix.de> Cc: Yoichi Yuasa Cc: Ralf Baechle commit 3a8183a2061ba54c4c2b3cd31c3add6fd717e853 Author: Thomas Gleixner Date: Sat Oct 10 16:02:53 2009 +0200 drivers: Remove BKL from scx200_gpio cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.167321547@linutronix.de> Acked-by: Jim Cromie commit 71d69bc2c0202f438669073d849999d2f6b6ca31 Author: Thomas Gleixner Date: Sat Oct 10 15:56:00 2009 +0200 drivers: Remove BKL from pc8736x_gpio cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.127093710@linutronix.de> Acked-by: Jim Cromie commit eb29b758a8b0b2dbffd8dc898490237d3ee783e4 Author: Thomas Gleixner Date: Sat Oct 10 15:33:17 2009 +0200 parisc: Remove BKL from eisa_eeprom Remove the empty ioctl and the cycle_kernel_lock() in eisa_eeprom_open() which got there with the big BKL push down. There is nothing to wait for and sychronize with after the misc device has been registered. Remove the empty ioctl as well. The generic code handles the -ENOTTY if no ioctl function is provided. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.086917493@linutronix.de> Cc: Kyle McMartin commit a5ee6dc9ebe8fc2640ee3fbf2c340bd853e2fd36 Author: Thomas Gleixner Date: Sat Oct 10 15:14:03 2009 +0200 rtc: Remove BKL from efirtc BKL locking came to efirtc via the big BKL push down, but the access to the efi functions is protected by efi_rtc_lock already. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.046644063@linutronix.de> commit d2d23559857e5f34762c61487f8ffb2fa4d7442d Author: Thomas Gleixner Date: Sat Oct 10 12:41:43 2009 +0200 input: Remove BKL from hp_sdc_rtc cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.884891604@linutronix.de> Cc: Geert Uytterhoeven Cc: Dmitry Torokhov commit a09ba31a54dbc9a548c4ff90619e4c7128a4282e Author: Thomas Gleixner Date: Sat Oct 10 12:36:32 2009 +0200 hw_random: Remove BKL from core hw_random core is completely serialized with rng_mutex. No need for the cycle_kernel_lock() magic. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.844488872@linutronix.de> Cc: Herbert Xu commit 95fdac73725c15072d068ac7f131958cf5c324e4 Author: Thomas Gleixner Date: Sat Oct 10 13:38:57 2009 +0200 macintosh: Remove BKL from ans-lcd The ans-lcd driver got the cycle_kernel_lock() in anslcd_open() from the BKL pushdown and it still uses the locked ioctl. The BKL serialization in this driver is more than obscure and definitely does not cover all possible corner cases. Protect the access to the hardware with a local mutex and get rid of BKL and locked ioctl. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.966159859@linutronix.de> Acked-by: Benjamin Herrenschmidt commit 9e8ab74ddaa591575f599248080a1f0d917a56ee Author: Frederic Weisbecker Date: Fri Oct 9 21:27:06 2009 +0200 nvram: Drop the bkl from non-generic nvram_llseek() Drop the bkl from nvram_llseek() as it obviously protects nothing. The file offset is safe in essence. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255116426-7270-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Thomas Gleixner commit 6783b9cd7104470a3afab51c205c5aea53a2858f Author: Frederic Weisbecker Date: Fri Oct 9 21:20:30 2009 +0200 nvram: Drop the bkl from nvram_llseek() There is nothing to protect inside nvram_llseek(), the file offset doesn't need to be protected and nvram_len is only initialized from an __init path. It's safe to remove the big kernel lock there. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255116030-6929-1-git-send-email-fweisbec@gmail.com> Cc: Greg KH Signed-off-by: Thomas Gleixner commit 205153aa40b7fb36dc7fe76c1798584ace55b288 Author: Frederic Weisbecker Date: Fri Oct 9 20:31:02 2009 +0200 mem_class: Drop the bkl from memory_open() The generic open callback for the mem class devices is "protected" by the bkl. Let's look at the datas manipulated inside memory_open: - inode and file: safe - the devlist: safe because it is constant - the memdev classes inside this array are safe too (constant) After we find out which memdev file operation we need to use, we call its open callback. Depending on the targeted memdev, we call either open_port() that doesn't manipulate any racy data (just a capable() check), or we call nothing. So it's safe to remove the big kernel lock there. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255113062-5835-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Thomas Gleixner commit 4c2aedc2543248c3fdc8c06c662b589d36c93bbb Author: Thomas Gleixner Date: Sat Oct 10 15:35:52 2009 +0000 spi: Remove BKL from spidev_open The BKL was added there with the big pushdown. Remove it as the code is serialized already. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.318535932@linutronix.de> Cc: David Brownell commit a7e63bb5f08378620d913824ab42e49027f22194 Author: Thomas Gleixner Date: Sat Oct 10 15:35:48 2009 +0000 drivers: Remove BKL from cs5535_gpio The big BKL pushdown added cycle_kernel_lock(). There is nothing to wait for in this driver. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.277882707@linutronix.de> commit 40b798efe3460797a4ac928ee2e038774e2758eb Author: Thomas Gleixner Date: Sat Oct 10 15:35:43 2009 +0000 drivers: Remove BKL from misc_open misc_open() is already serialized with misc_mtx. Remove the BKL locking which got there via the BKL pushdown. Signed-off-by: Thomas Gleixner Cc: Greg Kroah-Hartman LKML-Reference: <20091010153349.237173041@linutronix.de> commit 9636bc0555e3f383c120ddcffe4b7c5c58a10b1a Author: Cyrill Gorcunov Date: Wed Oct 14 19:09:04 2009 +0400 x86, apic: Explain show_lapic= in kernel parameters list Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091014150904.GA5259@lenovo> Signed-off-by: Ingo Molnar commit 8c0daee204f794d095ae301f408c5f9f40e4547d Author: John Kacur Date: Mon Oct 12 23:41:55 2009 +0200 mn10300: Remove the BKL from sys_execve This looks like a cut-and-paste from functionality that no-longer needs the bkl Just remove it. Also, rewrite slightly so that it looks closer to sys_execve on other architectures. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: David Howells Cc: Koichi Yasutake LKML-Reference: Signed-off-by: Thomas Gleixner commit eb7371d4fdcc40a390e8bdf90c99b5541213ca45 Author: John Kacur Date: Mon Oct 12 23:37:28 2009 +0200 m68knommu: Remove the BKL from sys_execve This looks like a copy-and-paste of functionality that no-longer needs the bkl. Just remove it. Signed-off-by: John Kacur Reviewed: Frederic Weisbecker Acked-by: Greg Ungerer LKML-Reference: Signed-off-by: Thomas Gleixner commit 2624167cd8b4965d0ef548e84767a30214edd8d4 Author: John Kacur Date: Mon Oct 12 23:09:24 2009 +0200 m68k: Remove the BKL from sys_execve This seems like a copy-and-paste from code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker LKML-Reference: Cc: Geert Uytterhoeven Signed-off-by: Thomas Gleixner commit e3c1a6b35c84795f7cb31cb7f4748166904cc0bc Author: John Kacur Date: Mon Oct 12 23:04:11 2009 +0200 h83000: Remove BKL from sys_execve This looks like a copy-and-paste job for code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Cc: Yoshinori Sato LKML-Reference: Signed-off-by: Thomas Gleixner commit b69975a35a7332624b6977a5676a6fc320070360 Author: John Kacur Date: Mon Oct 12 22:53:25 2009 +0200 frv: Remove the BKL from sys_execve sys_execve for frv seems to be a copy-and-paste of sys_execve that no longer requires the bkl. Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: David Howells LKML-Reference: Signed-off-by: Thomas Gleixner commit 25708a5fe7467dcc69d9b92c1701aad4a0c71887 Author: John Kacur Date: Mon Oct 12 22:44:40 2009 +0200 blackfin: Remove the BKL from sys_execve This looks like a cut-and-paste job. For example, compare this function to sys_execve in arch/x86/kernel/process_64.c and it is almost line by line the same, except the one in x86 nolonger has the big kernel lock. All of the functions called between the lock are generic and not specific to blackfin - thus, I believe it is safe to remove the bkl here. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: Mike Frysinger LKML-Reference: Signed-off-by: Thomas Gleixner commit 05d86412eab6a18cf57697474cc4f8fbfcd6936f Author: Thomas Gleixner Date: Fri Oct 9 19:02:20 2009 +0200 x86: Remove BKL from apm_32 The lock/unlock kernel pair in do_open() got there with the BKL push down and protects nothing. Remove it. Replace the lock/unlock kernel in the ioctl code with a mutex to protect standbys_pending and suspends_pending. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.365236337@linutronix.de> commit ac06ea2cd06291e63951b51dd7c9a23e6a1f2683 Author: Thomas Gleixner Date: Sat Oct 10 09:35:48 2009 +0200 x86: Remove BKL from microcode cycle_lock_kernel() in microcode_open() is a worthless exercise as there is nothing to wait for. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.196074920@linutronix.de> commit d63c489b881707adf9c0b89f771b30a1d78f4197 Author: Thomas Gleixner Date: Sat Oct 10 15:36:34 2009 +0000 um: Remove BKL from mmapper cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. mmapper_open() cannot be called before misc_register() succeeded, but p_buf might be uninitialized. Move the initialization of p_buf before the misc_register() call and get rid of cycle_kernel_lock(). Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.682213670@linutronix.de> Cc: Jeff Dike commit df502e389383b219e44819fe757614450d95f297 Author: Thomas Gleixner Date: Sat Oct 10 15:36:30 2009 +0000 um: Remove BKL from random cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.641118498@linutronix.de> Cc: Jeff Dike commit ca1b82ba0888e742a7efdb89ed8e2aab453e091f Author: Thomas Gleixner Date: Sat Oct 10 10:21:03 2009 +0200 s390: Remove BKL from prng cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner Cc: Martin Schwidefsky LKML-Reference: <20091010153349.601625576@linutronix.de> Acked-by: Jan Glauber commit 6f15fa50087c8317e353145319466afbeb27a75d Author: Thomas Gleixner Date: Fri Oct 9 20:31:33 2009 +0200 sys: Remove BKL from sys_reboot Serialization of sys_reboot can be done local. The BKL is not protecting anything else. LKML-Reference: <20091010153349.405590702@linutronix.de> Signed-off-by: Thomas Gleixner commit 1a6deaea3584fd7af1cad492b1fe0867060b45db Author: Jonathan Corbet Date: Thu Aug 6 13:35:44 2009 -0600 pm_qos: clean up racy global "name" variable "name" is a poor name for a file-global variable. It was used in three different functions, with no mutual exclusion. But it's just a tiny, temporary string; let's just move it onto the stack in the functions that need it. Also use snprintf() just in case. Signed-off-by: Jonathan Corbet LKML-Reference: <20091010153349.113570550@linutronix.de> Acked-by: Mark Gross Reviewed-by: Frederic Weisbecker Signed-off-by: Thomas Gleixner commit e6fe07a014c7a3466dcd1a387a9ac04d84c2703c Author: Jonathan Corbet Date: Thu Aug 6 13:22:40 2009 -0600 pm_qos: remove BKL pm_qos_power_open got its lock_kernel() calls from the open() pushdown. A look at the code shows that the only global resources accessed are pm_qos_array and "name". pm_qos_array doesn't change (things pointed to therein do change, but they are atomics and/or are protected by pm_qos_lock). Accesses to "name" are totally unprotected with or without the BKL; that will be fixed shortly. The BKL is not helpful here; take it out. Signed-off-by: Jonathan Corbet LKML-Reference: <20091010153349.071381158@linutronix.de> Acked-by: Mark Gross Reviewed-by: Frederic Weisbecker Signed-off-by: Thomas Gleixner commit 7ec13187ef48b04bb7f6dfa266c7271a52d009c2 Author: Ingo Molnar Date: Wed Oct 14 15:06:42 2009 +0200 x86, apic: Fix prototype in hw_irq.h This warning: In file included from arch/x86/include/asm/ipi.h:23, from arch/x86/kernel/apic/apic_noop.c:27: arch/x86/include/asm/hw_irq.h:105: warning: ‘struct irq_desc’ declared inside parameter list arch/x86/include/asm/hw_irq.h:105: warning: its scope is only this definition or declaration, which is probably not what you want triggers because irq_desc is defined after hw_irq.h is included in irq.h. Since it's pointer reference only, a forward declaration of the type will solve the problem. LKML-Reference: Signed-off-by: Ingo Molnar commit deed49fbb68d7d07ec6c3dfd06bffc74e9abc6fa Author: Thomas Gleixner Date: Wed Oct 14 01:19:46 2009 -0700 net: Remove BKL from tun The lock_kernel/unlock_kernel() in cycle_kernel_lock() which is called in tun_chr_open() is not serializing against anything and safe to remove. tun_chr_fasync() is serialized by get/put_tun() and fasync_helper() has no dependency on BKL. The modification of tun->flags is racy with and without the BKL so removing it does not make it worse. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 459c6d15a0c52bae43842ff2cd0dd41aa7de9b7f Author: Frederic Weisbecker Date: Sat Sep 19 07:14:15 2009 +0200 tracing: Document HAVE_SYSCALL_TRACEPOINTS needs Document the arch needed requirements to get the support for syscalls tracing. v2: HAVE_FTRACE_SYSCALLS have been changed to HAVE_SYSCALL_TRACEPOINTS recently. Update this config name in the documentation then. Signed-off-by: Frederic Weisbecker Acked-by: Heiko Carstens Cc: Ingo Molnar Cc: Steven Rostedt Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron Cc: Lai Jiangshan Cc: Martin Schwidefsky Cc: Paul Mundt commit c44fc770845163f8d9e573f37f92a7b7a7ade14e Author: Frederic Weisbecker Date: Sat Sep 19 06:50:42 2009 +0200 tracing: Move syscalls metadata handling from arch to core Most of the syscalls metadata processing is done from arch. But these operations are mostly generic accross archs. Especially now that we have a common variable name that expresses the number of syscalls supported by an arch: NR_syscalls, the only remaining bits that need to reside in arch is the syscall nr to addr translation. v2: Compare syscalls symbols only after the "sys" prefix so that we avoid spurious mismatches with archs that have syscalls wrappers, in which case syscalls symbols have "SyS" prefixed aliases. (Reported by: Heiko Carstens) Signed-off-by: Frederic Weisbecker Acked-by: Heiko Carstens Cc: Ingo Molnar Cc: Steven Rostedt Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron Cc: Lai Jiangshan Cc: Martin Schwidefsky Cc: Paul Mundt commit 731ba3301de41d2ffae9dd3e0f85f7361d8ad8f4 Author: Paul Mundt Date: Wed Oct 14 16:42:28 2009 +0900 sh: Count NMIs in irq_cpustat_t. This plugs in support for NMI counting per-CPU via irq_cpustat_t. Modelled after the x86 implementation. Signed-off-by: Paul Mundt commit 9338ad6ffb70eca97f335d93c54943828c8b209e Author: Dimitri Sivanich Date: Tue Oct 13 15:32:36 2009 -0500 x86, apic: Move SGI UV functionality out of generic IO-APIC code Move UV specific functionality out of the generic IO-APIC code. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091013203236.GD20543@sgi.com> [ Cleaned up the code some more in their new places. ] Signed-off-by: Ingo Molnar commit 6c2c502910247d2820cb630e7b28fb6bdecdbf45 Author: Dimitri Sivanich Date: Wed Sep 30 11:02:59 2009 -0500 x86: SGI UV: Fix irq affinity for hub based interrupts This patch fixes handling of uv hub irq affinity. IRQs with ALL or NODE affinity can be routed to cpus other than their originally assigned cpu. Those with CPU affinity cannot be rerouted. Signed-off-by: Dimitri Sivanich LKML-Reference: <20090930160259.GA7822@sgi.com> Signed-off-by: Ingo Molnar commit 2626eb2b2fd958dc0f683126aa84e93b939699a1 Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:05 2009 +0400 x86, apic: Limit apic dumping, introduce new show_lapic= setup option In case if a system has a large number of cpus printing apics contents may consume a long time period. We limit such an output by 1 apic by default. But to have an ability to see all apics or some part of them we introduce "show_lapic" setup option which allow us to limit/unlimit the number of APICs being dumped. Example: apic=debug show_lapic=5, or apic=debug show_lapic=all Also move apic_verbosity checking upper that way so helper routines do not need to inspect it at all. Suggested-by: Yinghai Lu Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.926793122@openvz.org> Signed-off-by: Ingo Molnar commit a933c61829509eb27083146dda392132baa0969a Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:04 2009 +0400 x86, apic: Use apic noop driver In case if apic were disabled we may use the whole apic NOOP driver instead of sparse poking the some functions in apic driver. Also NOOP would catch any inappropriate apic operation calls (not just read/write). Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.747817361@openvz.org> Signed-off-by: Ingo Molnar commit 9844ab11c763bfed9f054c82366b19dcda66aca9 Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:03 2009 +0400 x86, apic: Introduce the NOOP apic driver Introduce NOOP APIC driver. We should use it in case if apic was disabled due to hardware of software/firmware problems (including user requested to disable it case). The driver is attempting to catch any inappropriate apic operation call with warning issue. Also it is possible to use some apic operation like IPI calls, read/write without checking for apic presence which should make callers code easier. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.534682104@openvz.org> Signed-off-by: Ingo Molnar commit 56bfc42f6cba3e831094c01a23fbbb17a20bbdf8 Author: Paul Mundt Date: Wed Oct 14 16:05:42 2009 +0900 sh: TS_RESTORE_SIGMASK conversion. Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Based on the x86 and powerpc change. Signed-off-by: Paul Mundt commit bc09dcadc1a3da87d58aa70ebc8e9441205be75c Author: Miguel Aguilar Date: Tue Oct 13 23:37:32 2009 -0700 Input: add DaVinci Keypad Driver This driver enables keypad support on DaVinci platforms. DM365 is the only platform that uses this driver at the moment. Signed-off-by: Miguel Aguilar Signed-off-by: Dmitry Torokhov commit 216023255abc13ca276adfcf4ff2af111aaebc5e Author: Dmitry Torokhov Date: Tue Oct 13 23:37:30 2009 -0700 Input: vsxxxaa - change formatting style to match the rest of the kernel - no spaces between function name and opening parenthesis - switch statements were indented too much This makes checkpatch (and me) happy. Signed-off-by: Dmitry Torokhov commit 7d3fadd148cbba1bc1836dd5a5d2d4b67788ffd5 Author: Dmitry Torokhov Date: Tue Oct 13 23:36:00 2009 -0700 Input: lkkbd - change formatting style to match the rest of the kernel - no spaces between function name and opening parenthesis - switch statements were indented too much This makes checkpatch (and me) happy. Signed-off-by: Dmitry Torokhov commit b195e46677bed5f044bc2eede65fd41c886ef5b2 Merge: d780613 457b646 Author: Paul Mundt Date: Wed Oct 14 15:53:08 2009 +0900 Merge branch 'sh/stable-updates' commit 4d8289494a37e19cd7f3beacea9c957ad3debad6 Author: Jiri Olsa Date: Tue Oct 13 16:33:54 2009 -0400 tracing: Enable "__cold" functions Based on the commit: a586df06 "x86: Support __attribute__((__cold__)) in gcc 4.3" some of the functions goes to the ".text.unlikely" section. Looks like there's not many of them (I found printk, panic, __ssb_dma_not_implemented, fat_fs_error), but still worth to include I think. Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt LKML-Reference: <20091013203426.175845614@goodmis.org> Signed-off-by: Ingo Molnar commit 5cb084bb1f3fd4dcdaf7e4cf564994346ec8f783 Author: Jiri Olsa Date: Tue Oct 13 16:33:53 2009 -0400 tracing: Enable records during the module load I was debuging some module using "function" and "function_graph" tracers and noticed, that if you load module after you enabled tracing, the module's hooks will convert only to NOP instructions. The attached patch enables modules' hooks if there's function trace allready on, thus allowing to trace module functions. Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt LKML-Reference: <20091013203425.896285120@goodmis.org> Signed-off-by: Ingo Molnar commit 756d17ee7ee4fbc8238bdf97100af63e6ac441ef Author: jolsa@redhat.com Date: Tue Oct 13 16:33:52 2009 -0400 tracing: Support multiple pids in set_pid_ftrace file Adding the possibility to set more than 1 pid in the set_pid_ftrace file, thus allowing to trace more than 1 independent processes. Usage: sh-4.0# echo 284 > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid 284 sh-4.0# echo 1 >> ./set_ftrace_pid sh-4.0# echo 0 >> ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid swapper tasks 1 284 sh-4.0# echo 4 > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid 4 sh-4.0# echo > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid no pid sh-4.0# Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker LKML-Reference: <20091013203425.565454612@goodmis.org> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 194ec34184869f0de1cf255c924fc5299e1b3d27 Author: Steven Rostedt Date: Tue Oct 13 16:33:50 2009 -0400 function-graph/x86: Replace unbalanced ret with jmp The function graph tracer replaces the return address with a hook to trace the exit of the function call. This hook will finish by returning to the real location the function should return to. But the current implementation uses a ret to jump to the real return location. This causes a imbalance between calls and ret. That is the original function does a call, the ret goes to the handler and then the handler does a ret without a matching call. Although the function graph tracer itself still breaks the branch predictor by replacing the original ret, by using a second ret and causing an imbalance, it breaks the predictor even more. This patch replaces the ret with a jmp to keep the calls and ret balanced. I tested this on one box and it showed a 1.7% increase in performance. Another box only showed a small 0.3% increase. But no box that I tested this on showed a decrease in performance by making this change. Signed-off-by: Steven Rostedt Acked-by: Mathieu Desnoyers Cc: Frederic Weisbecker LKML-Reference: <20091013203425.042034383@goodmis.org> Signed-off-by: Ingo Molnar commit d780613acc0eeea89e1b3a7d9db765e0f2a4a950 Author: Paul Mundt Date: Wed Oct 14 11:51:28 2009 +0900 sh: Only invalidate the I-cache range for secondary CPUs stack_start. Secondary CPUs already take care of the D-cache bits through the common cache initialization path, and the only thing that is necessary after twiddling around with stack_start is ensuring that the I-cache changes are visible (particularly since this tends to be the only part lacking coherency). Signed-off-by: Paul Mundt commit 36c871992697eaaf88a3682c2c3003a41c54b8c0 Author: Paul Mundt Date: Wed Oct 14 11:49:49 2009 +0900 sh: Provide CALLER_ADDRx definitions even when ftrace is disabled. Despite being located in the ftrace header, the CALLER_ADDRx definitions are used by generic code. As such, we have to provide it generically, and given that there is no real dependence on ftrace in the first place, the definitions can just be moved out. Signed-off-by: Paul Mundt commit 825332e4ff1373c55d931b49408df7ec2298f71e Author: Arjan van de Ven Date: Wed Oct 14 08:17:36 2009 +1100 capabilities: simplify bound checks for copy_from_user() The capabilities syscall has a copy_from_user() call where gcc currently cannot prove to itself that the copy is always within bounds. This patch adds a very explicity bound check to prove to gcc that this copy_from_user cannot overflow its destination buffer. Signed-off-by: Arjan van de Ven Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit ccabcd2dbe08c3b44ebae18e43ba212dfcb706d1 Author: Jiri Kosina Date: Fri Oct 2 18:31:36 2009 +0200 HID: remove useless DRIVER_VERSION macro DRIVER_VERSION has no use whatosoever, it has been set to "2.6" for ages. Remove it. Signed-off-by: Jiri Kosina commit 88adb72bcf3b1cc6b440fda9fa97bc2151245fc5 Author: Jiri Kosina Date: Fri Oct 2 18:29:34 2009 +0200 HID: fix MODULE_AUTHOR usage in HID modules Remove unused (in usbhid module) DRIVER_AUTHOR macrco and properly use multiple MODULE_AUTHOR() instances in both modules. Signed-off-by: Jiri Kosina commit eb8141ccd32d422fa11c6e2108cae4c40456d811 Author: Lamarque Vieira Souza Date: Fri Oct 2 15:04:44 2009 +0200 HID: blacklist Acer Ferrari 4005 optical mouse Marks Acer Bluetooth Optical Rechargeable Mouse from Ferrari 4005 notebook to be ignored by hid core. This change makes hid core to use input session instead of hid session with that mouse. With hid session the mouse cursor moves too laggy, using input session corrects this problem. Signed-off-by: Lamarque V. Souza Signed-off-by: Jiri Kosina commit 421355de876b9f3fcc7e4cb6026e416fb12a5068 Merge: aace495 0fe7463 Author: David S. Miller Date: Tue Oct 13 12:55:20 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit aace495933a981274b6491d71b915165a61defdc Author: Manuel Lauss Date: Tue Oct 13 07:25:49 2009 +0000 net: smsc911x: allow platform_data to specify mac address Extend the driver to accept a MAC address specified in platform_data. Signed-off-by: Manuel Lauss Signed-off-by: David S. Miller commit b4efc5610980bc4b65a6cb49b939cf5f7dfa2723 Author: Manuel Lauss Date: Tue Oct 13 07:25:48 2009 +0000 net: enable smsc911x on MIPS Signed-off-by: Manuel Lauss Signed-off-by: David S. Miller commit d189a7e85835dbfb22b1d04eb7f3ab575ccacb96 Author: Ajit Khaparde Date: Tue Oct 13 01:46:56 2009 +0000 ixgb: Fix erroneous display of stats by ethtool -S Commit 5675f221 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 231835e4163cf14c90e295f1729004f571ee1cc7 Author: Ajit Khaparde Date: Tue Oct 13 01:46:29 2009 +0000 igb: Fix erroneous display of stats by ethtool -S Commit 337e067d overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 8328c38fcda2743249fd142174acf025d4cdd21f Author: Ajit Khaparde Date: Tue Oct 13 01:45:48 2009 +0000 e1000: Fix erroneous display of stats by ethtool -S Commit 23d26497 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit e0f36a95c7adb6551188cdcc5a7031ce106fccbf Author: Ajit Khaparde Date: Tue Oct 13 01:45:09 2009 +0000 e1000e: Fix erroneous display of stats by ethtool -S Commit fd8235bb overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 29c3a050f83c524218b1baa4e43aedd21501b338 Author: Ajit Khaparde Date: Tue Oct 13 01:47:33 2009 +0000 ixgbe: Fix erroneous display of stats by ethtool -S Commit 59aa3cc4 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 70f9cf8951e5253cfef821f8dcb92f6fc3af50c6 Author: Dhananjay Phadke Date: Tue Oct 13 05:31:45 2009 +0000 netxen: add sysfs entries for diag tools Add sysfs entries to enable register and memory access for diagnostic tools. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f03b0ebd8e7132bd9adb41348070813feb280300 Author: Dhananjay Phadke Date: Tue Oct 13 05:31:44 2009 +0000 netxen: separate register and memory access lock Since register and onboard memory access has separate window registers, they need not be kept under same lock. Also, memory is always accessed from process context (mostly for firmware init and diagnostic tools). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 907fa1201c76f426a13bdff5be2747fb62c2353f Author: Dhananjay Phadke Date: Tue Oct 13 05:31:43 2009 +0000 netxen: annotate register windowing code Use common variables crb_win, ocm_win for all revisions of chip. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 47abe35610cbbfb3cc92847efdf588a8be1f5ebc Author: Dhananjay Phadke Date: Tue Oct 13 05:31:42 2009 +0000 netxen: add access to on chip memory for tools Add access to on chip memory, this is used by debug and diagnostic tools only. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1f5e055db369a5d1c74174571585a4ec2e6c40fb Author: Amit Kumar Salecha Date: Tue Oct 13 05:31:41 2009 +0000 netxen: remove sub 64-bit mem accesses Sub 64-bit / unaligned access to oncard memory was only used by old diagnostic tools, causes some intermittent issues when memory controller agent is used. The new access method was added by commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742 ("netxen: improve pci memory access"). Firmware init anyway uses 8-byte strides. This also fixes address/offset calculation for NX2031 context memory (SIU). For NX3031, SIU uses same register offsets as packet memory (MIU). Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 89d71a66c40d629e3b1285def543ab1425558cd5 Author: Eric Dumazet Date: Tue Oct 13 05:34:20 2009 +0000 net: Use netdev_alloc_skb_ip_align() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d5b889f2ecec7849e851ddd31c34bdfb3482b5de Author: Arnaldo Carvalho de Melo Date: Tue Oct 13 11:16:29 2009 -0300 perf tools: Move threads & last_match to threads.c This was just being copy'n'pasted all over. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <20091013141629.GD21809@ghostprotocols.net> Signed-off-by: Ingo Molnar commit f4f0b418188cc7995375acbb54e87c80f21861bd Author: Mike Galbraith Date: Tue Oct 13 14:57:20 2009 +0200 perf tools: Remove expensive old debug code from perf top Calling gettimeofday() at high frequency is painful for handicapped boxen. The spot calling gettimeofday() is old unneeded debug code, so remove it. Reported-by: Ingo Molnar Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Peter Zijlstra LKML-Reference: <1255438640.7173.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit ed9d040d40942e9c48167f9f37f86fab8e0e5e17 Author: Ben Dooks Date: Mon Oct 12 21:17:09 2009 +0100 ASoC: S3C: Remove Remove the include from arch/arm/plat-s3c/include/plat/audio.h as it provides nothing to the current kernel and is not in any future plans for the system. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Mark Brown commit bff1c09640b3006bca711e18ef08a5fb955ad9b5 Author: roel kluin Date: Tue Oct 6 10:07:15 2009 +0000 sb1250-mac: duplicate setting of bit V_MAC_RX_PL_THRSH(4) in sbmac_channel_start() The bit V_MAC_RX_PL_THRSH(4) was already set a few lines higher. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a81d4bfdef72af6b332306a64e2d119bd5365506 Author: roel kluin Date: Tue Oct 6 01:20:08 2009 +0000 net/hamradio: fix test in receive() The negation makes it a bool before the comparison and hence it will never evaluate to true. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 06a96b33aea838b61a6eeccded781a305cf85a12 Author: roel kluin Date: Wed Oct 7 00:59:42 2009 +0000 x25: bit and/or confusion in x25_ioctl()? Looking at commit ebc3f64b864f it appears that this was intended and not the original, equivalent to `if (facilities.reverse & ~0x81)'. In x25_parse_facilities() that patch changed how facilities->reverse was set. No other bits were set than 0x80 and/or 0x01. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit f14d42f314cb45a080bf84ecadf8b9b1eebbe9fd Author: Karen Xie Date: Thu Oct 8 09:11:05 2009 +0000 cxgb3: Added private MAC address and provisioning packet handler for iSCSI This patch added support of private MAC address per port and provisioning packet handler for iSCSI traffic only. The above changes are isolated to the cxgb3 driver, independent of any scsi or iscsi driver changes. Acked-by: Karen Xie Acked-by: Divy Le Ray Signed-off-by: Rakesh Ranjan Signed-off-by: David S. Miller commit bcd5149ded6b2edbf3732fa1483600a716b1cba6 Author: Magnus Damm Date: Fri Oct 9 00:20:04 2009 +0000 net: add Runtime PM to the sh_eth driver Add Runtime PM support to the sh_eth driver. The clock to the ethernet hardware block will be enabled as long as the network device is up. Signed-off-by: Magnus Damm Tested-by: Kuninori Morimoto Signed-off-by: David S. Miller commit 748031f9fd2c06b28817d80761a5de97190cfd03 Author: Magnus Damm Date: Fri Oct 9 00:17:14 2009 +0000 net: allow sh_eth to get mac address through platform data Extend the sh_eth driver to allow passing the mac address using the platform data structure. This to simplify board setup code. Signed-off-by: Magnus Damm Tested-by: Kuninori Morimoto Signed-off-by: David S. Miller commit a6e4bc5304033e434fabccabb230b8e9ff55d76f Author: Wolfgang Grandegger Date: Thu Oct 8 22:17:11 2009 +0000 can: make the number of echo skb's configurable This patch allows the CAN controller driver to define the number of echo skb's used for the local loopback (echo), as suggested by Kurt Van Dijck, with the function: struct net_device *alloc_candev(int sizeof_priv, unsigned int echo_skb_max); The CAN drivers have been adapted accordingly. For the ems_usb driver, as suggested by Sebastian Haas, the number of echo skb's has been increased to 10, which improves the transmission performance a lot. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kurt Van Dijck Signed-off-by: David S. Miller commit 61321bbd6235ca9a40ba3bc249e8906cc66233c3 Author: Eric Dumazet Date: Wed Oct 7 17:11:23 2009 +0000 net: Add netdev_alloc_skb_ip_align() helper Instead of hardcoding NET_IP_ALIGN stuff in various network drivers, we can add a helper around netdev_alloc_skb() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f373b53b5fe67aa4a6f28f921a529cc90f88e79b Author: Eric Dumazet Date: Fri Oct 9 00:16:19 2009 +0000 tcp: replace ehash_size by ehash_mask Storing the mask (size - 1) instead of the size allows fast path to be a bit faster. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3faca053d0a9c877597935b434150b422dbc6fb Author: Cosmin Ratiu Date: Fri Oct 9 03:11:14 2009 +0000 ipv6: fix devconf after adding force_tllao option Signed-off-by: Cosmin Ratiu Signed-off-by: David S. Miller commit c30f33437c3f85ec48353a1ef811e148217a2aaf Merge: 132cc53 2ec24ff Author: Jens Axboe Date: Tue Oct 13 12:29:45 2009 +0200 Merge branch 'for-linus' into for-2.6.33 commit 1bac0497ef9af8d933860672223e38bd6ac4934a Merge: 2c96c14 bf7c5b4 Author: Ingo Molnar Date: Tue Oct 13 12:03:08 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit cfed95a693e1ea5d08b9c9019bc30e448437ee2f Author: Vincent Legoll Date: Tue Oct 13 10:18:16 2009 +0200 perf tools: Do not manually count string lengths Use strlen & macros instead of manually counting string lengths as this is error prone and may lend to bugs. Signed-off-by: Vincent Legoll Cc: Linus Torvalds LKML-Reference: <4727185d0910130118m5387058dndb02ac9b384af9f0@mail.gmail.com> Signed-off-by: Ingo Molnar commit e4b053d96ae4e23e7023eb9f591bd7fc5c9c8cb9 Author: Paul Mundt Date: Tue Oct 13 16:52:50 2009 +0900 sh: ftrace: Make code modification NMI safe. This cribs the x86 implementation of ftrace_nmi_enter() and friends to make ftrace_modify_code() NMI safe, particularly on SMP configurations. For additional notes on the problems involved, see the comment below ftrace_call_replace(). Signed-off-by: Paul Mundt commit 38fc0026da255aa328c3730a1c4d28b4e11e6a2b Author: Nicolas de Pesloüan Date: Tue Oct 13 00:45:06 2009 -0700 bonding: change bond_create_proc_entry() to return void The function bond_create_proc_entry is currently of type int. Two versions of this function exist: The one in the ifdef CONFIG_PROC_FS branch always return 0. The one in the else branch (which is empty) return nothing. When CONFIG_PROC_FS is undef, this cause the following warning: drivers/net/bonding/bond_main.c: In function `bond_create_proc_entry': drivers/net/bonding/bond_main.c:3393: warning: control reaches end of non-void function No caller of this function use the returned value. So change the returned type from int to void and remove the useless return 0; . Signed-off-by: Nicolas de Pesloüan Reported-by: Rakib Mullick Signed-off-by: David S. Miller commit 8968f9d3dc23d9a1821d97c6f11e72a59382e56c Author: Hidetoshi Seto Date: Tue Oct 13 16:19:41 2009 +0900 perf_event, x86, mce: Use TRACE_EVENT() for MCE logging This approach is the first baby step towards solving many of the structural problems the x86 MCE logging code is having today: - It has a private ring-buffer implementation that has a number of limitations and has been historically fragile and buggy. - It is using a quirky /dev/mcelog ioctl driven ABI that is MCE specific. /dev/mcelog is not part of any larger logging framework and hence has remained on the fringes for many years. - The MCE logging code is still very unclean partly due to its ABI limitations. Fields are being reused for multiple purposes, and the whole message structure is limited and x86 specific to begin with. All in one, the x86 tree would like to move away from this private implementation of an event logging facility to a broader framework. By using perf events we gain the following advantages: - Multiple user-space agents can access MCE events. We can have an mcelog daemon running but also a system-wide tracer capturing important events in flight-recorder mode. - Sampling support: the kernel and the user-space call-chain of MCE events can be stored and analyzed as well. This way actual patterns of bad behavior can be matched to precisely what kind of activity happened in the kernel (and/or in the app) around that moment in time. - Coupling with other hardware and software events: the PMU can track a number of other anomalies - monitoring software might chose to monitor those plus the MCE events as well - in one coherent stream of events. - Discovery of MCE sources - tracepoints are enumerated and tools can act upon the existence (or non-existence) of various channels of MCE information. - Filtering support: we just subscribe to and act upon the events we are interested in. Then even on a per event source basis there's in-kernel filter expressions available that can restrict the amount of data that hits the event channel. - Arbitrary deep per cpu buffering of events - we can buffer 32 entries or we can buffer as much as we want, as long as we have the RAM. - An NMI-safe ring-buffer implementation - mappable to user-space. - Built-in support for timestamping of events, PID markers, CPU markers, etc. - A rich ABI accessible over system call interface. Per cpu, per task and per workload monitoring of MCE events can be done this way. The ABI itself has a nice, meaningful structure. - Extensible ABI: new fields can be added without breaking tooling. New tracepoints can be added as the hardware side evolves. There's various parsers that can be used. - Lots of scheduling/buffering/batching modes of operandi for MCE events. poll() support. mmap() support. read() support. You name it. - Rich tooling support: even without any MCE specific extensions added the 'perf' tool today offers various views of MCE data: perf report, perf stat, perf trace can all be used to view logged MCE events and perhaps correlate them to certain user-space usage patterns. But it can be used directly as well, for user-space agents and policy action in mcelog, etc. With this we hope to achieve significant code cleanup and feature improvements in the MCE code, and we hope to be able to drop the /dev/mcelog facility in the end. This patch is just a plain dumb dump of mce_log() records to the tracepoints / perf events framework - a first proof of concept step. Signed-off-by: Hidetoshi Seto Cc: Huang Ying Cc: Andi Kleen LKML-Reference: <4AD42A0D.7050104@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit bf7c5b43a12614847b83f507fb169ad30640e406 Author: Frederic Weisbecker Date: Mon Oct 12 22:31:32 2009 +0200 tracing: Remove unused ftrace_trace_addr helper Remove the ftrace_trace_addr() function as only its off-case is implemented and there are no users of it currently. But we keep ftrace_graph_addr() off-case, in case someone come to use the function graph tracer to profit from top-level callers filtering. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit aef6f81b55f462082699c06e8e67e6eb5630ed45 Author: Frederic Weisbecker Date: Mon Oct 12 22:23:24 2009 +0200 tracing: Rename set_ftrace to set_bootup_ftrace Do this rename because set_ftrace is too much generic and not enough self-explainable as a name. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit 9dbdd6c41c12fb42ee7188eafa7e1917b192af3a Merge: 7a693d3 1612913 Author: Ingo Molnar Date: Tue Oct 13 09:31:28 2009 +0200 Merge commit 'v2.6.32-rc4' into perf/core Merge reason: we were on an -rc1 base, merge up to -rc4. Signed-off-by: Ingo Molnar commit c8afde7f40577b80d30aa8abcdee74c76a4b800a Author: Paul Mundt Date: Tue Oct 13 16:31:08 2009 +0900 sh: Don't profile return_address(). This adds return_address.c to the -pg exclusion list, as this is the building block for CALLER_ADDRx we do not want to profile this. Signed-off-by: Paul Mundt commit 2c96c142e941041973faab20ca3b82d57f435c5e Merge: 3c35586 8ad8073 Author: Ingo Molnar Date: Tue Oct 13 09:24:51 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up tracing/filters fix from the urgent queue, we will queue up dependent patches. Signed-off-by: Ingo Molnar commit c634263df5890daafe0ea470faee3305736bbc3d Author: Ben Hutchings Date: Mon Oct 12 09:27:07 2009 +0000 sfc: 10Xpress: Initialise pause advertising flags The mdio module now handles reconfiguration of pause advertising through ethtool, but not initialisation. Add the necessary initialisation to tenxpress_phy_init(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27fbc7db52315d6ec37fe3292c1b2ee62180c643 Author: Ben Hutchings Date: Mon Oct 12 09:26:37 2009 +0000 mdio: Expose pause frame advertising flags to ethtool In mdio45_ethtool_gset_npage() and mdio45_ethtool_gset(), check MDIO pause frame advertising flags and set the corresponding ethtool flags. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 767f4a7ca8041442e033dd919b591d00f6901e03 Author: Ben Hutchings Date: Mon Oct 12 09:26:17 2009 +0000 mdio: Advertise pause (flow control) settings even if autoneg is off Currently, if pause autoneg is off we do not set either pause advertising flag. If autonegotiation of speed and duplex settings is enabled, there is no way for the link partner to distinguish this from our refusing to use pause frames. We should instead set the advertising flags according to the forced mode so that the link partner can follow our lead. This is consistent with the behaviour of other drivers. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be926fc4046913d9ad921aeacdf9329978241c38 Author: Anton Vorontsov Date: Mon Oct 12 06:00:42 2009 +0000 gianfar: Add support for hibernation Thanks to various cleanups and refactorings this is now straightforward: convert the gianfar driver to dev_pm_ops, plus add ->restore() callback that will fully reinitialize MAC internal registers and BDs. Note that I kept legacy suspend/resume callbacks so that this patch doesn't depend on PowerPC changes (i.e. dev_pm_ops support for OF platform drivers). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8728327e7a7a7f21f3a7109e65503f4cc3305e78 Author: Anton Vorontsov Date: Mon Oct 12 06:00:39 2009 +0000 gianfar: Factor out gfar_init_bds() from gfar_alloc_skb_resources() After hibernation we want to just reinitialize BDs, no need to allocate anything. So, factor out BDs initialization code from gfar_alloc_skb_resourses(). Also, teach gfar_init_bds() to reuse already allocated RX SKBs, i.e. just call gfar_init_rxbdp() if a SKB was already allocated and mapped. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8a102fe001cc016dabcc392247a2b008e37ffe6a Author: Anton Vorontsov Date: Mon Oct 12 06:00:37 2009 +0000 gianfar: Factor out RX BDs initialization from gfar_new_rxbdp() We want to just reinitialize RX BDs after hibernation, no need to map the skb->data again. So let's factor gfar_init_rxbdp() out of gfar_new_rxbdp(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 32c513bca062f6c04b902d09c716fea205671e23 Author: Anton Vorontsov Date: Mon Oct 12 06:00:36 2009 +0000 gianfar: Move tbase/rbase initialization to gfar_init_mac() For hibernation we want to call gfar_init_mac() without need to free/allocate_skb_resources sequence, so save the DMA address into a private struct, and move tbase/rbase initialization to gfar_init_mac(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 826aa4a05669a46e435f65db901186e42bb43d8d Author: Anton Vorontsov Date: Mon Oct 12 06:00:34 2009 +0000 gianfar: Split allocation and initialization steps out of startup_gfar() Two new functions implemented: gfar_alloc_skb_resources() and gfar_init_mac(). We'll use gfar_init_mac() for restoring after hibernation. The patch just moves the code around, there should be no functional changes. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 14231176b0dc358f8693f25b62017d222dd995e6 Author: Anton Vorontsov Date: Mon Oct 12 06:00:33 2009 +0000 gianfar: Don't needlessly set the wrap bit for the last RX BD startup_gfar() sets the wrap bit for the last rxbd just after gfar_new_rxbdp() call, which is issued for all rxbds. And gfar_new_rxbdp() has the following check already: if (bdp == priv->rx_bd_base + priv->rx_ring_size - 1) lstatus |= BD_LFLAG(RXBD_WRAP); So we don't need to set the bit again. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit e69edd21819823bbad06d1d02f9fa21713fad173 Author: Anton Vorontsov Date: Mon Oct 12 06:00:30 2009 +0000 gianfar: Simplify skb resources freeing code Remove dma_free_coherent() from stop_gfar() and gfar_start() calls, place it into free_skb_resources(). That makes SKB resources management more understandable, plus free_skb_resources() will be used as a cleanup routine for gfar_alloc_skb_resources() that will be implemented soon. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ccc05c6e1e4fb672c93c98d92079c89a976e80ba Author: Anton Vorontsov Date: Mon Oct 12 06:00:26 2009 +0000 gianfar: Some cleanups for startup_gfar() We're going to split the startup_gfar() into 3 separate functions, so let's cleanup the code a little bit so that cosmetic changes won't distract attention from logical ones. - Remove needless casts (e.g. (struct sk_buff **)kmalloc()); - Turn 'unsigned long vaddr;' into 'void *vaddr', to avoid casting; - Add new 'struct device *dev' variable as a shorthand for '&priv->ofdev->dev' that is used all over the place, also rename 'struct net_device *dev' to 'struct net_device *ndev'; - Turn printk(KERN_ERR ...) to pr_err(...), which is shorter; - Don't return bogus -1 (i.e. -EPERM) when request_irq() fails; - Turn '&priv->regs->' to just '®s->'. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit a2e2725541fad72416326798c2d7fa4dafb7d337 Author: Arnaldo Carvalho de Melo Date: Mon Oct 12 23:40:10 2009 -0700 net: Introduce recvmmsg socket syscall Meaning receive multiple messages, reducing the number of syscalls and net stack entry/exit operations. Next patches will introduce mechanisms where protocols that want to optimize this operation will provide an unlocked_recvmsg operation. This takes into account comments made by: . Paul Moore: sock_recvmsg is called only for the first datagram, sock_recvmsg_nosec is used for the rest. . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that works in the same fashion as the ppoll one. If the underlying protocol returns a datagram with MSG_OOB set, this will make recvmmsg return right away with as many datagrams (+ the OOB one) it has received so far. . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen datagrams and then recvmsg returns an error, recvmmsg will return the successfully received datagrams, store the error and return it in the next call. This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg, where we will be able to acquire the lock only at batch start and end, not at every underlying recvmsg call. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a688e4885c1aa6b88ab5ffa64655bacc01749c9e Author: Tobias Hansen Date: Mon Oct 12 16:24:15 2009 +0200 ALSA: snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd This is the correct error number for telling the USB system that this driver is not for the device. Signed-off-by: Tobias Hansen Signed-off-by: Takashi Iwai commit 7a693d3f0d10f978ebdf3082c41404ab97106567 Author: Ingo Molnar Date: Tue Oct 13 08:16:30 2009 +0200 perf_events, x86: Fix event constraints code There was namespace overlap due to a rename i did - this caused the following build warning, reported by Stephen Rothwell against linux-next x86_64 allmodconfig: arch/x86/kernel/cpu/perf_event.c: In function 'intel_get_event_idx': arch/x86/kernel/cpu/perf_event.c:1445: warning: 'event_constraint' is used uninitialized in this function This is a real bug not just a warning: fix it by renaming the global event-constraints table pointer to 'event_constraints'. Reported-by: Stephen Rothwell Cc: Stephane Eranian Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091013144223.369d616d.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit c05e85a06e376f6b6d59e71e5333d707e956d78b Author: David S. Miller Date: Mon Oct 12 23:18:35 2009 -0700 cnic: Need to include net/ip6_checksum.h drivers/net/cnic.c: In function 'cnic_init_storm_conn_bufs': drivers/net/cnic.c:1757: error: implicit declaration of function 'csum_ipv6_magic' Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit fb5bbee0dd033db7c31fe6cb78d2ce2b6588fd42 Author: Thomas Chou Date: Mon Oct 12 21:35:00 2009 -0700 Input: add driver for Altera PS/2 controller This patch adds a new SERIO driver to support the Altera University Program PS/2 controller. [dtor@mail.ru: assorted cleanups] Signed-off-by: Thomas Chou Signed-off-by: Dmitry Torokhov commit 5a3abba77dc0eb0b00332c21899123cdfa3b19e5 Author: Paul Mundt Date: Tue Oct 13 13:32:19 2009 +0900 sh: Tidy up the dwarf module helpers. This enables us to build the dwarf unwinder both with modules enabled and disabled in addition to reducing code size in the latter case. The helpers are also consolidated, and modified to resemble the BUG module helpers. Signed-off-by: Paul Mundt commit ac4fac8cb24ab209ae373a3e3e9995dff7d0c394 Author: Paul Mundt Date: Tue Oct 13 13:10:14 2009 +0900 sh: Generalize CALLER_ADDRx support. This splits out the unwinder implementation and adds a new return_address() abstraction modelled after the ARM code. The DWARF unwinder is tied in to this, returning NULL otherwise in the case of being unable to support arbitrary depths. This enables us to get correct behaviour with the unwinder enabled, as well as disabling the arbitrary depth support when frame pointers are enabled, as arbitrary depths with __builtin_return_address() are not supported regardless. With this abstraction it's also possible to layer on a simplified implementation with frame pointers in the event that the unwinder isn't enabled, although this is left as a future exercise. Signed-off-by: Paul Mundt commit 5852b203ef1b85a8eacc1cc686ed9bac11ee31cc Merge: 913df44 9922262 Author: Paul Mundt Date: Tue Oct 13 12:45:08 2009 +0900 Merge branch 'sh/stable-updates' commit 913df4453f85f1fe79b35ecf3c9a0c0b707d22a2 Author: Paul Mundt Date: Tue Oct 13 12:35:30 2009 +0900 sh: maple: PHYSADDR() -> virt_to_phys() conversion. Maple's abuse of PHYSADDR() likewise can be converted to virt_to_phys() for its cases, although in practice this really wants explicit remapping. Signed-off-by: Paul Mundt commit 54d5102fac3dd4034104e1b38a44a873d5f3a8d3 Author: Paul Mundt Date: Tue Oct 13 12:30:40 2009 +0900 cdrom: gdrom: Kill off PHYSADDR use. PHYSADDR() is gone, and completely unecessary in all of the cases the gdrom driver was using it. Kill off all references to it, and change the one legitimate use over to virt_to_phys() instead. Signed-off-by: Paul Mundt commit 95019b48addc014c7de6653517663527a1747fb7 Merge: 7a0064d 964f7e5 Author: Paul Mundt Date: Tue Oct 13 11:27:08 2009 +0900 Merge branch 'sh/stable-updates' commit 7a0064d67215c53dce56839c82db504d0a066b79 Merge: 8ec006c d26cddb Author: Paul Mundt Date: Tue Oct 13 10:31:50 2009 +0900 Merge branch 'sh/ftrace' of git://github.com/mfleming/linux-2.6 commit 23e8ec0d1c410f2f1d81050ee155db229abb1707 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:30 2009 -0400 perf probe: Add perf probe command support without libdwarf Enables 'perf probe' even if libdwarf is not installed. If libdwarf is not found, 'perf probe' just disables dwarf support. Users can use 'perf probe' to set up new events by using kprobe_events format. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222830.1684.25665.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4ea42b181434bfc6a0a18d32214130a242d489bf Author: Masami Hiramatsu Date: Thu Oct 8 17:17:38 2009 -0400 perf: Add perf probe subcommand, a kprobe-event setup helper Add perf probe subcommand that implements a kprobe-event setup helper to the perf command. This allows user to define kprobe events using C expressions (C line numbers, C function names, and C local variables). Usage ----- perf probe [] -P 'PROBEDEF' [-P 'PROBEDEF' ...] -k, --vmlinux vmlinux/module pathname -P, --probe probe point definition, where p: kprobe probe r: kretprobe probe GRP: Group name (optional) NAME: Event name FUNC: Function name OFFS: Offset from function entry (in byte) SRC: Source code path LINE: Line number ARG: Probe argument (local variable name or kprobe-tracer argument format is supported.) Changes in v4: - Add _GNU_SOURCE macro for strndup(). Changes in v3: - Remove -r option because perf always be used for online kernel. - Check malloc/calloc results. Changes in v2: - Check synthesized string length. - Rename perf kprobe to perf probe. - Use spaces for separator and update usage comment. - Check error paths in parse_probepoint(). - Check optimized-out variables. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091008211737.29299.14784.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit e93f4d8539d5e9dd59f4af9d8ef4e9b62cfa1f81 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:14 2009 -0400 tracing/kprobes: Robustify fixed field names against variable field names conflicts Rename probe-common fixed field names to harder conflictable names, because current 'ip', 'func', and other probe field names are easily in conflict with user-specified variable names. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222814.1684.407.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit a703d946e883d8e447d0597de556e2effd110372 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:07 2009 -0400 tracing/kprobes: Avoid field name confliction Check whether the argument name is in conflict with other field names while creating a kprobe through the debugfs interface. Changes in v3: - Check strcmp() == 0 instead of !strcmp(). Changes in v2: - Add common_lock_depth to reserved name list. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222807.1684.26880.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 2e06ff6389aedafc4a3a374344ac70672252f9b5 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:59 2009 -0400 tracing/kprobes: Make special variable names more self-explainable Rename special variables to more self-explainable names as below: - $rv to $retval - $sa to $stack - $aN to $argN - $sN to $stackN Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222759.1684.3319.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 98272ed0d2e6509fe7dc571e77956c99bf653bb6 Author: H. Peter Anvin Date: Mon Oct 12 14:14:10 2009 -0700 x86: use kernel_stack_pointer() in kprobes.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: "David S. Miller" Cc: Masami Hiramatsu commit 5ca6c0ca5dbf105d7b0ffdae2289519982189730 Author: H. Peter Anvin Date: Mon Oct 12 14:12:18 2009 -0700 x86: use kernel_stack_pointer() in kgdb.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin Cc: Jason Wessel commit a343c75d338aa2afaea4a2a8e40de9e67b6fb4a7 Author: H. Peter Anvin Date: Mon Oct 12 14:11:09 2009 -0700 x86: use kernel_stack_pointer() in dumpstack.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Furthermore, user_mode() is only valid when the process is known to not run in V86 mode. Use the safer user_mode_vm() instead. Signed-off-by: H. Peter Anvin commit def3c5d0a34e4b09b3cea4435c17209ad347104d Author: H. Peter Anvin Date: Mon Oct 12 14:09:07 2009 -0700 x86: use kernel_stack_pointer() in process_32.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin commit adc1938994f7f1112d335d998b5218b0aa680ad6 Author: David Rientjes Date: Fri Sep 25 15:20:09 2009 -0700 x86: Interleave emulated nodes over physical nodes Add interleaved NUMA emulation support This patch interleaves emulated nodes over the system's physical nodes. This is required for interleave optimizations since mempolicies, for example, operate by iterating over a nodemask and act without knowledge of node distances. It can also be used for testing memory latencies and NUMA bugs in the kernel. There're a couple of ways to do this: - divide the number of emulated nodes by the number of physical nodes and allocate the result on each physical node, or - allocate each successive emulated node on a different physical node until all memory is exhausted. The disadvantage of the first option is, depending on the asymmetry in node capacities of each physical node, emulated nodes may substantially differ in size on a particular physical node compared to another. The disadvantage of the second option is, also depending on the asymmetry in node capacities of each physical node, there may be more emulated nodes allocated on a single physical node as another. This patch implements the second option; we sacrifice the possibility that we may have slightly more emulated nodes on a particular physical node compared to another in lieu of node size asymmetry. [ Note that "node capacity" of a physical node is not only a function of its addressable range, but also is affected by subtracting out the amount of reserved memory over that range. NUMA emulation only deals with available, non-reserved memory quantities. ] We ensure there is at least a minimal amount of available memory allocated to each node. We also make sure that at least this amount of available memory is available in ZONE_DMA32 for any node that includes both ZONE_DMA32 and ZONE_NORMAL. This patch also cleans the emulation code up by no longer passing the statically allocated struct bootnode array among the various functions. This init.data array is not allocated on the stack since it may be very large and thus it may be accessed at file scope. The WARN_ON() for nodes_cover_memory() when faking proximity domains is removed since it relies on successive nodes always having greater start addresses than previous nodes; with interleaving this is no longer always true. Signed-off-by: David Rientjes Cc: Linus Torvalds Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 8716273caef7f55f39fe4fc6c69c5f9f197f41f1 Author: David Rientjes Date: Fri Sep 25 15:20:04 2009 -0700 x86: Export srat physical topology This is the counterpart to "x86: export k8 physical topology" for SRAT. It is not as invasive because the acpi code already seperates node setup into detection and registration steps, with the exception of registering e820 active regions in acpi_numa_memory_affinity_init(). This is now moved to acpi_scan_nodes() if NUMA emulation is disabled or deferred. acpi_numa_init() now returns a value which specifies whether an underlying SRAT was located. If so, that topology can be used by the emulation code to interleave emulated nodes over physical nodes or to register the nodes for ACPI. acpi_get_nodes() may now be used to export the srat physical topology of the machine for NUMA emulation. Signed-off-by: David Rientjes Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 8ee2debce32412118cf8c239e0026ace56ea1425 Author: David Rientjes Date: Fri Sep 25 15:20:00 2009 -0700 x86: Export k8 physical topology To eventually interleave emulated nodes over physical nodes, we need to know the physical topology of the machine without actually registering it. This does the k8 node setup in two parts: detection and registration. NUMA emulation can then used the physical topology detected to setup the address ranges of emulated nodes accordingly. If emulation isn't used, the k8 nodes are registered as normal. Two formals are added to the x86 NUMA setup functions: `acpi' and `k8'. These represent whether ACPI or K8 NUMA has been detected; both cannot be true at the same time. This specifies to the NUMA emulation code whether an underlying physical NUMA topology exists and which interface to use. This patch deals solely with separating the k8 setup path into Northbridge detection and registration steps and leaves the ACPI changes for a subsequent patch. The `acpi' formal is added here, however, to avoid touching all the header files again in the next patch. This approach also ensures emulated nodes will not span physical nodes so the true memory latency is not misrepresented. k8_get_nodes() may now be used to export the k8 physical topology of the machine for NUMA emulation. Signed-off-by: David Rientjes Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 1af5ba514f0c2f2e2af965a4ffa5e8ab269271b9 Author: David Rientjes Date: Fri Sep 25 15:19:47 2009 -0700 x86: Clean up and add missing log levels for k8 Convert all printk's in arch/x86/mm/k8topology_64.c to use pr_info() or pr_err() appropriately. Adds log levels for messages currently lacking them. Signed-off-by: David Rientjes Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit ad8f4356af58f7ded6b4a5787c67c7cab51066b5 Author: Arjan van de Ven Date: Tue Oct 6 07:04:52 2009 -0700 x86: Don't use the strict copy checks when branch profiling is in use The branch profiling creates very complex code for each if statement, to the point that gcc has trouble even analyzing something as simple as if (count > 5) count = 5; This then means that causing an error on code that gcc cannot analyze for copy_from_user() and co is not very productive. This patch excludes the strict copy checks in the case of branch profiling being enabled. Signed-off-by: Arjan van de Ven Cc: Steven Rostedt LKML-Reference: <20091006070452.5e1fc119@infradead.org> Signed-off-by: Ingo Molnar commit 5402240c0bc621ef6865c80043bda30a29365948 Author: Valentine Barshak Date: Mon Oct 12 04:25:05 2009 -0700 pasemi_mac: ethtool set settings support Add ethtool set settings to pasemi_mac_ethtool. Signed-off-by: Valentine Barshak Acked-by: Olof Johansson Signed-off-by: David S. Miller commit fad9ab2cefd3a3b4754f49eb41e2f43ea314cdce Author: Sarveshwar Bandi Date: Mon Oct 12 04:23:15 2009 -0700 be2net: Implement ethtool get_phys_id function. Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit 3b885787ea4112eaa80945999ea0901bf742707f Author: Neil Horman Date: Mon Oct 12 13:26:31 2009 -0700 net: Generalize socket rx gap / receive queue overflow cmsg Create a new socket level option to report number of queue overflows Recently I augmented the AF_PACKET protocol to report the number of frames lost on the socket receive queue between any two enqueued frames. This value was exported via a SOL_PACKET level cmsg. AFter I completed that work it was requested that this feature be generalized so that any datagram oriented socket could make use of this option. As such I've created this patch, It creates a new SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a SOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue overflowed between any two given frames. It also augments the AF_PACKET protocol to take advantage of this new feature (as it previously did not touch sk->sk_drops, which this patch uses to record the overflow count). Tested successfully by me. Notes: 1) Unlike my previous patch, this patch simply records the sk_drops value, which is not a number of drops between packets, but rather a total number of drops. Deltas must be computed in user space. 2) While this patch currently works with datagram oriented protocols, it will also be accepted by non-datagram oriented protocols. I'm not sure if thats agreeable to everyone, but my argument in favor of doing so is that, for those protocols which aren't applicable to this option, sk_drops will always be zero, and reporting no drops on a receive queue that isn't used for those non-participating protocols seems reasonable to me. This also saves us having to code in a per-protocol opt in mechanism. 3) This applies cleanly to net-next assuming that commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 369bc18f9a6c4e2686204c1d7476ab684a720968 Author: Stefan Assmann Date: Mon Oct 12 22:17:21 2009 +0200 ftrace: add kernel command line graph function filtering Add a command line parameter to allow limiting the function graphs that are traced on boot up from the given top-level callers , when ftrace=function_graph is specified. This patch adds the following command line option: ftrace_graph_filter=function-list Where function-list is a comma separated list of functions to filter. [fweisbec@gmail.com: picked the documentation changes from the v2 patch] Signed-off-by: Stefan Assmann Acked-by: Steven Rostedt LKML-Reference: <4AD2DEB9.2@redhat.com> Signed-off-by: Frederic Weisbecker commit 99329c44f28a1b7ac83beebfb4319e612042e319 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:48 2009 -0400 tracing/kprobes: Remove '$ra' special variable Remove '$ra' (return address) because it is already shown at the head of each entry. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222748.1684.12711.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 405b2651e4bedf8d3932b64cad649b4d26b067f5 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:40 2009 -0400 tracing/kprobes: Add $ prefix to special variables Add $ prefix to the special variables(e.g. sa, rv) of kprobe-tracer. This resolves consistency issues between kprobe_events and perf-kprobe. The main goal is to avoid conflicts between local variable names of probed functions, used by perf probe, and special variables used in the kprobe event creation interface (stack values, etc...) and also available from perf probe. ie: we don't want rv (return value) to conflict with a local variable named rv in a probed function. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222740.1684.91170.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit ae24ffe5ecec17c956ac25371d7c2e12b4b36e53 Author: Brian Gerst Date: Mon Oct 12 10:18:23 2009 -0400 x86, 64-bit: Move K8 B step iret fixup to fault entry asm Move the handling of truncated %rip from an iret fault to the fault entry path. This allows x86-64 to use the standard search_extable() function. Signed-off-by: Brian Gerst Cc: Linus Torvalds Cc: Jan Beulich LKML-Reference: <1255357103-5418-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 814b7963e50e331f129acc25ad92bd4db45c300f Author: Peter Ujfalusi Date: Mon Oct 12 11:43:55 2009 +0300 ASoC: TPA6130A2: Make tpa6130a2_power as static The power for the amplifier should be handled internally by the tpa6130a2 driver. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c03cb3149daed3e411657e3212d05ae27cf1a874 Author: Arjan van de Ven Date: Sun Oct 11 10:33:02 2009 -0700 x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED MTRR and PAT support (which got added to CPUs over 10 years ago) are no longer really optional in that more and more things are depending on PAT just working, including various drivers and newer versions of X. (to not even speak of MTRR) Having this as a regular config option just no longer makes sense. This patch relegates CONFIG_X86_PAT to the EMBEDDED category so ultra-embedded can still disable it if they really need to. Also-Suggested-by: Roland Dreier Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: Henrique de Moraes Holschuh LKML-Reference: <20091011103302.62bded41@infradead.org> Signed-off-by: Ingo Molnar commit fb2531953fd8855abdcf458459020fd382c5deca Author: Borislav Petkov Date: Wed Oct 7 13:20:38 2009 +0200 mce, edac: Use an atomic notifier for MCEs decoding Add an atomic notifier which ensures proper locking when conveying MCE info to EDAC for decoding. The actual notifier call overrides a default, negative priority notifier. Note: make sure we register the default decoder only once since mcheck_init() runs on each CPU. Signed-off-by: Borislav Petkov LKML-Reference: <20091003065752.GA8935@liondog.tnic> Signed-off-by: Ingo Molnar commit d5e63bded6e819ca77ee1a1d97c783a31f6caf30 Author: David S. Miller Date: Mon Oct 12 03:00:31 2009 -0700 Revert "af_packet: add interframe drop cmsg (v6)" This reverts commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab. Neil is reimplementing this generically, outside of AF_PACKET. Signed-off-by: David S. Miller commit 55ffb7a6bd45d0083ffb132381cb46964a4afe01 Author: Mike Galbraith Date: Sat Oct 10 14:46:04 2009 +0200 perf sched: Add -C option to measure on a specific CPU To refresh, trying to sched record only one CPU results in bogus latencies as below. I fixed^Wmade it stop doing the bad thing today, by following task migration events properly. Before: marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10 marge:/root/tmp # perf sched lat ----------------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------------- Xorg:4943 | 1.290 ms | 1 | avg: 1670.132 ms | max: 1670.132 ms | hald-addon-stor:3569 | 0.091 ms | 3 | avg: 658.609 ms | max: 1975.797 ms | hald-addon-stor:3573 | 0.209 ms | 4 | avg: 499.138 ms | max: 1990.565 ms | audispd:4270 | 0.012 ms | 1 | avg: 0.015 ms | max: 0.015 ms | .... marge:/root/tmp # perf sched trace|grep 'Xorg:4943' swapper-0 [000] 401.184013288: sched_stat_runtime: task: Xorg:4943 runtime: 1233188 [ns], vruntime: 19105169779 [ns] rt2870TimerQHan-4947 [000] 402.854140127: sched_stat_wait: task: Xorg:4943 wait: 580073 [ns] rt2870TimerQHan-4947 [000] 402.854141770: sched_migrate_task: task Xorg:4943 [140] from: 1 to: 0 rt2870TimerQHan-4947 [000] 402.854143854: sched_stat_wait: task: Xorg:4943 wait: 0 [ns] rt2870TimerQHan-4947 [000] 402.854145397: sched_switch: task rt2870TimerQHan:4947 [140] (D) ==> Xorg:4943 [140] Xorg-4943 [000] 402.854193133: sched_stat_runtime: task: Xorg:4943 runtime: 56546 [ns], vruntime: 11766332500 [ns] Xorg-4943 [000] 402.854196842: sched_switch: task Xorg:4943 [140] (S) ==> swapper:0 [140] After: marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10 marge:/root/tmp # perf sched lat ----------------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------------- amarokapp:11150 | 271.297 ms | 878 | avg: 0.130 ms | max: 1.057 ms | konsole:5965 | 1.370 ms | 12 | avg: 0.092 ms | max: 0.855 ms | Xorg:4943 | 179.980 ms | 1109 | avg: 0.087 ms | max: 1.206 ms | hald-addon-stor:3574 | 0.212 ms | 9 | avg: 0.040 ms | max: 0.169 ms | hald-addon-stor:3570 | 0.223 ms | 9 | avg: 0.037 ms | max: 0.223 ms | klauncher:5864 | 0.550 ms | 8 | avg: 0.032 ms | max: 0.048 ms | The 'Maximum delay ms' results are now sane. Signed-off-by: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 7e4ff9e3e8f88de8a8536f43294cd32b4e7d9123 Author: Mike Galbraith Date: Mon Oct 12 07:56:03 2009 +0200 perf tools: Fix counter sample frequency breakage Commit 42e59d7d19dc4b4 switched to a default sample frequency of 1KHz, which overrides any user supplied count, causing sched, top and timechart to miss events due to their discrete events being flagged PERF_SAMPLE_PERIOD. Override default sample frequency when the user profides a period count, and make both record and top honor that user supplied option. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arjan van de Ven LKML-Reference: <1255326963.15107.2.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 91b2a3f9bb0fa8d64b365a10b0624b0341e1a338 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:45:13 2009 +0000 ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0. ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0. Do not use bit-shift if relay_prefixlen == 0; relay_prefix << 32 does not result in 0. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e7db38c38fe8df1d890ae772737e27308bdc5956 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:44:45 2009 +0000 ipv6 sit: Fix 6rd relay address. ipv6 sit: Fix 6rd relay address. Relay's address should be extracted from real IPv6 address instead of configured prefix. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e0c93948154328e13b4c0b0502d66af93f0fdfc4 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:31:34 2009 +0000 ipv6 sit: Ensure to initialize 6rd parameters. ipv6 sit: Ensure to initialize 6rd parameters. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 71034ba845c9ff219373066f904286c0b7506922 Author: Michael Chan Date: Sat Oct 10 13:46:59 2009 +0000 cnic: Add main functions to support bnx2x devices. Add iSCSI support for bnx2x devices. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e251306556d30c9c678feca60204acaaa0784cbd Author: Michael Chan Date: Sat Oct 10 13:46:58 2009 +0000 cnic: Add bnx2x data structures. Add hardware and software structures for bnx2x devices. Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 86b53606ebec06b16be81c30fabdf8decc2be6b2 Author: Michael Chan Date: Sat Oct 10 13:46:57 2009 +0000 cnic: Refactor some code. Refactor ring init. code for subsequent 10G patches. Also add rtnl_lock() in cnic_uio_open() to prevent race condition with netdev events. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 993ac7b5183f82edc9696cd17faae03523e00e09 Author: Michael Chan Date: Sat Oct 10 13:46:56 2009 +0000 bnx2x: Add main CNIC interface functions. Add the main CNIC registration, callback, MAC addr. setup functions. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37b091bacba7bd329eced9a56998b6247da414c4 Author: Michael Chan Date: Sat Oct 10 13:46:55 2009 +0000 bnx2x: Add hw init code to support iSCSI. Add code to initialize hardware blocks used for iSCSI. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e665bfda5b8fea586ddd028b26a6e2ed9e987c6b Author: Michael Chan Date: Sat Oct 10 13:46:54 2009 +0000 bnx2x: Refactor MAC address setup code. For iSCSI MAC address setup in later patches. Signed-off-by: Shmulik Ravid - Rabinovitz Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2891290219d8a28a923560d53d24c00fa96fa09f Author: Michael Chan Date: Sat Oct 10 13:46:53 2009 +0000 bnx2x: Refactor bnx2x_sp_post(). Some of the SPQ (slow-path queue) operations will be used by the cnic code in later patches. Signed-off-by: Shmulik Ravid - Rabinovitz Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6abd23468deaf3f6215a80b564f85df934209721 Author: Ron Mercer Date: Sat Oct 10 09:35:10 2009 +0000 qlge: Add CBFC pause frame counters to ethtool stats. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 80928860941023bb37e9c61927395d0eb753bc3b Author: Ron Mercer Date: Sat Oct 10 09:35:09 2009 +0000 qlge: Don't fail open when port is not initialized. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit fda9b77c10a4db06e1431e6494a69e93a9dc5491 Author: Ron Mercer Date: Sat Oct 10 09:35:08 2009 +0000 qlge: Get rid of firmware handler debug code. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 52e55f3cde3ac3c7982dbc0cc67075456b135a31 Author: Ron Mercer Date: Sat Oct 10 09:35:07 2009 +0000 qlge: Remove inline math for small rx buf mapping. rx_ring->sbq_buf_len now holds the length of the mapped portion of the buffer rather than the overall length. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 88051b4e4f270966b9e2ec070822513c46083fe1 Author: Ron Mercer Date: Sat Oct 10 09:35:06 2009 +0000 qlge: Store firmware revision as early as possible. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 91ced682f9de17ebab5fcb2a70b48e372eb43281 Author: Ron Mercer Date: Sat Oct 10 09:35:05 2009 +0000 qlge: Add handler for DCBX firmware event. The driver has nothing to do, but this marker prevents the event from showing up 'not handled'. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bc9167f39ff8cd428e8577eb72751a653008edb2 Author: Ron Mercer Date: Sat Oct 10 09:35:04 2009 +0000 qlge: Set PCIE max read request size. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1d1023d039d8295070b8dbb92c4d972237235304 Author: Ron Mercer Date: Sat Oct 10 09:35:03 2009 +0000 qlge: Remove explicit setting of PCI Dev CTL reg. Remove explicit setting of error reporting bits. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 7fe13c5733790ef582769a54693fa6a5abf3c032 Merge: 8aa0f64a 10c435f Author: David S. Miller Date: Sun Oct 11 23:15:47 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 68f139204c1a2b10cc292d9cca036ebdbb6730a8 Author: Wu Zhangjin Date: Sat Oct 10 23:53:49 2009 +0800 ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency SND_CS5535AUDIO is available on Loongson(MIPS compatible) family machines, and checked it with ARCH=x86_64, no relative compiling warnings & errors, so, remove the platform dependency directly. Reported-by: rixed@happyleptic.org Acked-by: Andres Salomon Signed-off-by: Wu Zhangjin Signed-off-by: Takashi Iwai commit 3c355863fb32070a2800f41106519c5c3038623a Author: Joe Perches Date: Sun Oct 4 17:53:40 2009 -0700 testmmiotrace.c: Add and use pr_fmt(fmt) - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt. - Strip MODULE_NAME from pr_s. - Remove MODULE_NAME definition. Signed-off-by: Joe Perches LKML-Reference: <3bb66cc7f85f77b9416902e1be7076f7e3f4ad48.1254701151.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 3bb258bf430d29a24350fe4f44f8bf07b7b7a8f6 Author: Joe Perches Date: Sun Oct 4 17:53:29 2009 -0700 ftrace.c: Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Remove prefixes from pr_, use pr_fmt(fmt). No change in output. Signed-off-by: Joe Perches Acked-by: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <9b377eefae9e28c599dd4a17bdc81172965e9931.1254701151.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 0f48327eac5f65ad029d7112cac97577766730ba Author: Stephen Rothwell Date: Mon Oct 12 15:56:17 2009 +1100 sound: use semicolons to end statements Fixes: sound/pci/hda/patch_via.c: In function 'patch_vt1718S': sound/pci/hda/patch_via.c:4951: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1716S': sound/pci/hda/patch_via.c:5441: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt2002P': sound/pci/hda/patch_via.c:5794: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1812': sound/pci/hda/patch_via.c:6148: error: expected expression before 'return' Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit a27ab9f26b729326778271c1efd895aef4fda1c4 Author: Tetsuo Handa Date: Sun Oct 4 21:49:49 2009 +0900 LSM: Pass original mount flags to security_sb_mount(). This patch allows LSM modules to determine based on original mount flags passed to mount(). A LSM module can get masked mount flags (if needed) by flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE | MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT | MS_STRICTATIME); Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8b8efb44033c7e86b3dc76f825c693ec92ae30e9 Author: Tetsuo Handa Date: Sun Oct 4 21:49:48 2009 +0900 LSM: Add security_path_chroot(). This patch allows pathname based LSM modules to check chroot() operations. This hook is used by TOMOYO. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 89eda06837094ce9f34fae269b8773fcfd70f046 Author: Tetsuo Handa Date: Sun Oct 4 21:49:47 2009 +0900 LSM: Add security_path_chmod() and security_path_chown(). This patch allows pathname based LSM modules to check chmod()/chown() operations. Since notify_change() does not receive "struct vfsmount *", we add security_path_chmod() and security_path_chown() to the caller of notify_change(). These hooks are used by TOMOYO. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8ec006c58775869175edee3d23f4525b6df2935a Merge: 3d4e0cf 5ab78ff Author: Paul Mundt Date: Mon Oct 12 08:50:07 2009 +0900 Merge branch 'sh/dwarf-unwinder' Conflicts: arch/sh/kernel/dwarf.c commit 5ab78ff693d09a6ffc7ca80ad600b2f5feb89d7f Merge: 74db247 c2d474d Author: Paul Mundt Date: Mon Oct 12 08:42:46 2009 +0900 Merge branch 'sh/dwarf-unwinder' of git://github.com/mfleming/linux-2.6 into sh/dwarf-unwinder commit d26cddbbd23b81eac4fcf340b633e97b40b8d3a1 Author: Matt Fleming Date: Sun Oct 11 17:56:17 2009 +0100 sh: tracing: Use the DWARF unwinder for CALLER_ADDRx The major reason for implementing the DWARF unwinder in the first place was so that we could stop using __builtin_return_address(n), which doesn't work on SH for n > 0. Signed-off-by: Matt Fleming commit c2d474d6f8b48b6698343cfc1a3630c4647aa7b2 Author: Matt Fleming Date: Sat Oct 10 16:17:06 2009 +0100 sh: Remove any reference to recursive functions from comments Originally, dwarf_unwind_stack() was a recursive function and it seems that some of the old comments were never updated. Signed-off-by: Matt Fleming commit ed4fe7f488008f38d5f423f0bcc736b1779d6ddc Author: Matt Fleming Date: Sat Oct 10 16:03:11 2009 +0100 sh: Fix memory leak in dwarf_unwind_stack() If we broke out of the while (1) loop because the return address of "frame" was zero, then "frame" needs to be free'd before we return. Signed-off-by: Matt Fleming commit 8066e51ae7329220f459470a38387f8533e99141 Author: Krzysztof Helt Date: Sun Oct 11 12:48:00 2009 +0200 ALSA: snd_dma_pointer workaround for chipsets with buggy DMA The chipsets with the isa_dma_bridge_buggy set do not stop DMA during DMA counter reads. The DMA counter is read in two 8-bit read steps on x86 platform. Sometimes, such reads happen during higher byte change so the lower byte is already decremented (rolled over) but the higher byte is not. It introduces an error that position is moved 256 bytes ahead of the true position. Thus, the next DMA position read can return a lower value then the previous read. If the DMA position is decreased (reversed) the ALSA subsystem is tricked into the playback underrun error and resets the playback. It results in a "pop" during a playback. Work around the issue by reading the counter twice and choosing a higher value. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 633c7e92bdd54ba939f2bd3b78c72e1e1a1dd077 Author: Krzysztof Helt Date: Sun Oct 11 12:38:49 2009 +0200 ALSA: wss: reuse CS4231 controls for AD1848 The C4231 control set is a superset of the AD1848 control set so reuse the CS4231 controls definitions for the AD1848. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 377ff31ae06f0d2644839246cd18c3e17fe62a48 Author: Lydia Wang Date: Sat Oct 10 19:08:55 2009 +0800 ALSA: HDA VIA: Only cosmetic changes Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 8e86597f3cbd0a58808560116abe1bc0023256b0 Author: Lydia Wang Date: Sat Oct 10 19:08:52 2009 +0800 ALSA: HDA VIA: comments: update copyright, changeset, etc. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bfdc675a73f7697ead12c07dbf11e2b2632676f4 Author: Lydia Wang Date: Sat Oct 10 19:08:50 2009 +0800 ALSA: HDA VIA: Change PW4 connect select default to to MW0. According to customer request, hp should be default to redirected mode, i.e. PW4 connect select default to to MW0. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 71eb7dccb7d2d22236dbe46db07f8000d09fba01 Author: Lydia Wang Date: Sat Oct 10 19:08:49 2009 +0800 ALSA: HDA VIA: rename vt1708_control_templates[]. To via_control_templates[]. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit ab6734e7ea32e9f9cbe0f55eeddf4aa629ed1c3d Author: Lydia Wang Date: Sat Oct 10 19:08:46 2009 +0800 ALSA: HDA VIA: Add VT1812 support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 25eaba2f8a6877ba6f58197c4723c2433a316e09 Author: Lydia Wang Date: Sat Oct 10 19:08:43 2009 +0800 ALSA: HDA VIA: Add VT2002P support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit f3db423df84570c9950754a5771ad26f0111235f Author: Lydia Wang Date: Sat Oct 10 19:08:41 2009 +0800 ALSA: HDA VIA: Add VT1716S support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bb3c6bfc3f7a5416d85c5dbc312e2d47fc672eef Author: Lydia Wang Date: Sat Oct 10 19:08:39 2009 +0800 ALSA: HDA VIA: Add VT1828S and VT2020 support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit eb7188cafcb7aa1419b8889494cdbd4e6a01da1c Author: Lydia Wang Date: Sat Oct 10 19:08:34 2009 +0800 ALSA: HDA VIA: Add VT1718S support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bc7e7e5ce05047e16633a94d36fa144af1d2b4c7 Author: Lydia Wang Date: Sat Oct 10 19:08:32 2009 +0800 ALSA: HDA VIA: Move backdoor verbs to vt17xx_volume_init_verb As init verbs, vt17xx_volume_init_verb is a better place to hold them. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 6369bcfccb57da28ad3e09b25fecd841a415ae95 Author: Lydia Wang Date: Sat Oct 10 19:08:31 2009 +0800 ALSA: HDA VIA: Replace MIC_BOOST_VOLUME. With snd_hda_override_amp_caps. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 4483a2f5907fa824bd6384c36fdcee9777cab1b9 Author: Lydia Wang Date: Sat Oct 10 19:08:29 2009 +0800 ALSA: HDA VIA: Modify vt1709_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 9645c2039d5cfdbdcebe297420e180b6cd262836 Author: Lydia Wang Date: Sat Oct 10 19:08:27 2009 +0800 ALSA: HDA VIA: Modify vt1708_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit c873cc25280113d71463ad5075413d283be6b766 Author: Lydia Wang Date: Sat Oct 10 19:08:21 2009 +0800 ALSA: HDA VIA: Replace via_playback_pcm_prepare/cleanup Replaced with via_playback_multi_pcm_prepare/cleanup to support multi-stream operations Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 82ef9e45c48634af5e3f6ab9ac75b6642c538020 Author: Lydia Wang Date: Sat Oct 10 19:08:19 2009 +0800 ALSA: HDA VIA: Modify vt1708_set_pinconfig_connect function. like seqassoc 0xff, seqassoc 0xf0 of vt1708 should override Port Connectivity field into 'AC_JACK_PORT_COMPLEX' Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 1f2e99febd5dd0c91f0d0752674029a4376649e5 Author: Lydia Wang Date: Sat Oct 10 19:08:17 2009 +0800 ALSA: HDA VIA: Add Jack detect feature for VT1708. VT1708 does not support unsolicited response, but we need hp detect to automute speaker. Implemented in workqueue. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit dcf34c8cc685781cebbe1f4c75272a3269eba3a1 Author: Lydia Wang Date: Sat Oct 10 19:08:15 2009 +0800 ALSA: HDA VIA: Refresh front playback mute in via_hp_automute. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit a34df19a658170fb7125e8017ee46ba54b1ad495 Author: Lydia Wang Date: Sat Oct 10 19:08:01 2009 +0800 ALSA: HDA VIA: Add VIA_JACK_EVENT process in via_unsol_event. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit a80e6e3c8c21ca50837e2e42fa438a4ff4a9788e Author: Lydia Wang Date: Sat Oct 10 19:07:55 2009 +0800 ALSA: HDA VIA: When changing input source, update power state. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 1564b2878f5cf160f60af99d4dbca1dd7809ee8a Author: Lydia Wang Date: Sat Oct 10 19:07:52 2009 +0800 ALSA: HDA VIA: Add smart5.1 function. Smart 5.1 is for 3-jacks model, to reuse input pins as outputs. While off, they act as "line out" / "line in" / "mic in". While on, they acts as "line out" / "back left/right" / "center/lfe". Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit cdc1784d49258198df600fbc1d37c07d7eee5ed6 Author: Lydia Wang Date: Sat Oct 10 19:07:47 2009 +0800 ALSA: HDA VIA: Rewrite via_independent_hp_put Use hp_independent_mode_index to store hp index, and simplify function via_independent_hp_put with it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 0713efebfa1a1878feeeb17cbadc3d2d2c9e9ed2 Author: Lydia Wang Date: Sat Oct 10 19:07:43 2009 +0800 ALSA: HDA VIA: Change VT1708S & VT1702 hp mode controls For VT1708S and VT1702, deactivate "Headphone Playback Volume" and "Headphone Playback Mute" control if "Independent HP" mode is OFF. and rename VT1702 "Independent HP" text. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 9510e8dd9cb4469d146953270364af6dd86a39be Author: Lydia Wang Date: Sat Oct 10 19:07:39 2009 +0800 ALSA: HDA VIA: Remove unused argument of via_new_analog_input Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 173143791068ac9f155c378a591d0b3d6c4a45ca Author: Lydia Wang Date: Sat Oct 10 19:07:37 2009 +0800 ALSA: HDA VIA: Add low current mode for power saving. For VT1708B, VT1708S and VT1702, enter low current mode if no analog stream is opened and all aa path mute. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit f5271101faf1655d862849f42518c2a88ef394fb Author: Lydia Wang Date: Sat Oct 10 19:07:35 2009 +0800 ALSA HDA VIA: Add VIA_CTL_WIDGET_ANALOG_MUTE control type Enter low power state if AA-Path volume is muted. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit c2c02ea326d3683f551120e74a297b354a223357 Author: Lydia Wang Date: Sat Oct 10 19:07:32 2009 +0800 ALSA: HDA VIA: Limit VT1702 AA-Path max volume according to customer request, VT1702 AA-Path max volume (12 dB) is too high, so limit to 0 dB. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 518bf3ba753ad93644e7c6cf95c043c918d9429b Author: Lydia Wang Date: Sat Oct 10 19:07:29 2009 +0800 ALSA: HDA VIA: Add VT1708B-CE codec support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 744ff5f487925223beb6e21460c8cec468b54ab4 Author: Lydia Wang Date: Sat Oct 10 19:07:26 2009 +0800 ALSA: HDA VIA: Change get_codec_type argument to hda_codec type Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit b6153e1175a46db9dde17d12609adba7d72330b9 Author: Lydia Wang Date: Sat Oct 10 19:07:23 2009 +0800 ALSA: HDA VIA: Remove unused IS_VT17xx_VENDORID macro IS_VT17*_VENDORID macros are used nowhere, so clean them up. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 26917499fd4d9e699e17f9f3b23f856ce5c5283a Merge: 0afe5f8 f0613d5 Author: Takashi Iwai Date: Sun Oct 11 17:53:33 2009 +0200 Merge branch 'fix/hda' into topic/hda commit a6a2f2ad67506090e332f440457553c0ec011d68 Author: Matt Fleming Date: Fri Oct 9 23:20:54 2009 +0100 sh: Teach the DWARF unwinder about modules Pass a module's .eh_frame section to the DWARF unwinder at module load time so that the section's FDEs and CIEs can be registered with the DWARF unwinder. This allows us to unwind the stack through module code when generating backtraces. Signed-off-by: Matt Fleming commit 3d4e0cfb3372ee7754f743ab90944540cef4ecc6 Author: Paul Mundt Date: Sat Oct 10 22:45:41 2009 +0900 sh: Reinstate ILSEL -> IRL intc mappings for SH-X3 proto CPU. In the multi-evt conversion for the SH-X3 proto CPU, IRLs were dropped down to a single unique masking source, which ended up blowing up on ILSEL-based IRQs which have special semantics that otherwise confuse the intc code. While this does result in intc spewing about not having a unique masking source, we don't really care. Signed-off-by: Paul Mundt commit 2a8bc923455f320da6c460258c21d2235ab2edc8 Author: Paul Mundt Date: Sat Oct 10 22:24:55 2009 +0900 sh: Shut up CONFIG_32BIT=n compiler warnings. Signed-off-by: Paul Mundt commit 20b5014b3e5fe7b874a3f6a1dc03b0c21cb222cd Author: Matt Fleming Date: Tue Oct 6 21:22:33 2009 +0000 sh: Fold fixed-PMB support into dynamic PMB support The initialisation process differs for CONFIG_PMB and for CONFIG_PMB_FIXED. For CONFIG_PMB_FIXED we need to register the PMB entries that were allocated by the bootloader. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit ef269b32763b22100eda9c0bf99d462c6cd65377 Author: Matt Fleming Date: Tue Oct 6 21:22:32 2009 +0000 sh: Fix the offset from P1SEG/P2SEG where we map RAM We need to map the gap between 0x00000000 and __MEMORY_START in the PMB, as well as RAM. With this change my 7785LCR board can switch to 32bit MMU mode at runtime. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 3105121949b609964f370d42d1b90fe7fc01d6b1 Author: Matt Fleming Date: Tue Oct 6 21:22:30 2009 +0000 sh: Remap physical memory into P1 and P2 in pmb_init() Eventually we'll have complete control over what physical memory gets mapped where and we can probably do other interesting things. For now though, when the MMU is in 32-bit mode, we map physical memory into the P1 and P2 virtual address ranges with the same semantics as they have in 29-bit mode. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit edd7de803c79c7df117bf3f0e22ffdba1b1ef256 Author: Matt Fleming Date: Tue Oct 6 21:22:29 2009 +0000 sh: Get rid of the kmem cache code Unfortunately, at the time during in boot when we want to be setting up the PMB entries, the kmem subsystem hasn't been initialised. We now match pmb_map slots with pmb_entry_list slots. When we find an empty slot in pmb_map, we set the bit, thereby acquiring the corresponding pmb_entry_list entry. There is a benefit in using this static array of struct pmb_entry's; we don't need to acquire any locks in order to traverse the list of struct pmb_entry's. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 8386aebb9e15a94137693ea4f4df84207f71cc75 Author: Matt Fleming Date: Tue Oct 6 21:22:28 2009 +0000 sh: Make most PMB functions static There's no need to export the internal PMB functions for allocating, freeing and modifying PMB entries, etc. This way we can restrict the interface for PMB. Also remove the static from pmb_init() so that we have more freedom in setting up the initial PMB entries and turning on MMU 32bit mode. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit b336f124b1cca55c28b2c5df0e02aa5ace5be7d4 Author: Matt Fleming Date: Tue Oct 6 21:22:26 2009 +0000 sh: CONFIG_PMB doesn't mean the MMU is in 32bit mode CONFIG_PMB will eventually allow the MMU to be switched between 29-bit and 32-bit mode dynamically at runtime. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 1f69b6af9171f50135cce8023c84d82fbf42a8f5 Author: Matt Fleming Date: Tue Oct 6 21:22:25 2009 +0000 sh: Prepare for dynamic PMB support To allow the MMU to be switched between 29bit and 32bit mode at runtime some constants need to swapped for functions that return a runtime value. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 8bd642b17bea31f8361b61c16c8d154638414df4 Author: Matt Fleming Date: Tue Oct 6 21:22:24 2009 +0000 sh: Obliterate the P1 area macros Replace the use of PHYSADDR() with __pa(). PHYSADDR() is based on the idea that all addresses in P1SEG are untranslated, so we can access an address's physical page as an offset from P1SEG. This doesn't work for CONFIG_PMB/CONFIG_PMB_FIXED because pages in P1SEG and P2SEG are used for PMB mappings and so can be translated to any physical address. Likewise, replace a P1SEGADDR() use with virt_to_phys(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 067784f6239e08a084b4d8d597e14435331eae51 Author: Matt Fleming Date: Tue Oct 6 21:22:23 2009 +0000 sh: Allocate PMB entry slot earlier Simplify set_pmb_entry() by removing the possibility of not finding a free slot in the PMB. Instead we now allocate a slot in pmb_alloc() so that if there are no free slots we fail at allocation time, rather than in set_pmb_entry(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 5e3679c594e3a9bf819347bc59f70e03f2c6b272 Merge: a469f62 f9e2bdf Author: Paul Mundt Date: Sat Oct 10 21:36:53 2009 +0900 Merge branch 'sh/cachetlb' commit a469f627c15de2af392be23508e6094d7268e2b7 Author: Guennadi Liakhovetski Date: Sat Oct 3 11:21:30 2009 +0000 SH: add support for the RJ54N1CB0C camera for the kfr2r09 platform Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit abd134db940ddccaf6a61d88cf0841a62b917ab3 Author: Krzysztof Helt Date: Sat Oct 10 10:25:39 2009 +0200 ALSA: wss: convert CS4231 mixer to dB scale Convert CS4231 mixer to dB scale after AD1848 mixer. Also, add missing microphone boost control for the AD1848 and correct wrong bits for loopback volume on the AD1848. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 6fcfa3959a5f5ecb7c333f54f401575d94eb8172 Author: Krzysztof Helt Date: Sat Oct 10 10:27:58 2009 +0200 ALSA: sscape: coding style fixes Fix coding style errors in the driver. Also, add missing argument for CMD_XXX_MIDI_VOL command. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit e634d8fc792c66c3d4ff45518c04848c1e28f221 Author: H. Peter Anvin Date: Fri Oct 9 15:56:53 2009 -0700 x86-64: merge the standard and compat start_thread() functions The only thing left that differs between the standard and compat start_thread functions is the actual segment numbers and the prototype, so have a single common function which contains the guts and two very small wrappers. Signed-off-by: H. Peter Anvin Acked-by: Suresh Siddha commit a6f05a6a0a1713d5b019f096799d49226807d3df Author: H. Peter Anvin Date: Thu Oct 8 18:02:54 2009 -0700 x86-64: make compat_start_thread() match start_thread() For no real good reason, compat_start_thread() was embedded inline in whereas the native start_thread() lives in process_*.c. Move compat_start_thread() to process_64.c, remove gratuitious differences, and fix a few items which mostly look like bit rot. In particular, compat_start_thread() didn't do free_thread_xstate(), which means it was hanging on to the xstate store area even when it was not needed. It was also not setting old_rsp, but it looks like that generally shouldn't matter for a 32-bit process. Note: compat_start_thread *has* to be a macro, since it is tested with start_thread_ia32() as the out of line function name. Signed-off-by: H. Peter Anvin Acked-by: Suresh Siddha commit 8aa0f64ac3835a6daf84d0b0e07c4c01d7d8eddc Merge: cd7e1f0 eab2ec8 Author: David S. Miller Date: Fri Oct 9 14:40:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit eab2ec83dbf0e32e28f3108f302ffdaa225d4cce Author: Johannes Berg Date: Fri Oct 9 18:17:05 2009 +0200 wireless: make wireless drivers select core It is somewhat non-sensical to allow selecting wireless drivers without showing wireless core code options, and since the wext refactoring this has made it possible to generate configurations that will not build. Avoid this and make wireless drivers select the wireless options. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5718f5009b114372fc237254906812c0d6e57ab1 Author: Holger Schurig Date: Fri Oct 9 09:10:34 2009 +0200 libertas: depend on CONFIG_CFG80211 Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 7891849e5a79eb1e6ddc12abf75a69981f567b98 Author: Luis R. Rodriguez Date: Thu Oct 8 16:46:09 2009 -0400 libertas: remove double assignment of dev->netdev_ops This came in through the patch titled: libertas: first stab at cfg80211 support I only noticed it because it breaks compat-wireless :) Signed-off-by: Luis R. Rodriguez Acked-by: Holger Schurig Signed-off-by: John W. Linville commit af1fc67c1a803d303b59e54be45fe3329103e7db Author: Luis R. Rodriguez Date: Thu Oct 8 01:00:18 2009 -0400 ath9k: use right parameter for MODULE_PARM_DESC() for debug Reported-by: sujith.manoharan@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ebab1b1d07266ab8ca9f65065e68b02f05504c4e Author: Mark Brown Date: Fri Oct 9 19:13:47 2009 +0100 ASoC: Minor fixups to tpa6130a2 driver - Staticise ttpa6130a2_client. - Remove unneeded cast from void. - Use explict NULL rather than 0. Signed-off-by: Mark Brown commit 493b67efffc462703d583389aca96f850c18d3b3 Author: Peter Ujfalusi Date: Fri Oct 9 15:55:41 2009 +0300 ASoC: TPA6130A2 amplifier driver Driver for Texas Instruments TPA6130A2 stereo headphone amplifier. The driver provides playback gain control and also pre-defined DAPM_HP widgets and DAPM routings for power management. The DAPM_HP widget names are: "TPA6130A2 Headphone Left" "TPA6130A2 Headphone Right" From soc machine drivers to use with the tpa6130a2 amplifier, the tpa6130a2_add_controls has to be called, which adds the alsa controls and the DAPM routing needed for the tpa6130a2. After that the machine driver can connect the codec's output with 'TPA6130A2 Left' and 'TPA6130A2 Right': {"TPA6130A2 Left", NULL, "CODEC LEFT OUT"}, {"TPA6130A2 Right", NULL, "CODEC RIGHT OUT"}, Internally the left and right channels are powered separately. When none of the channels are needed the amplifier is powered down: hard power: valid GPIO number is passed within platform data soft power: Using the software shutdown of the amplifier Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f3834b9ef68067199486740b31f691afb14dbdf5 Author: Peter Zijlstra Date: Fri Oct 9 10:12:46 2009 +0200 x86: Generate cmpxchg build failures Rework the x86 cmpxchg() implementation to generate build failures when used on improper types. Signed-off-by: Peter Zijlstra Acked-by: Linus Torvalds LKML-Reference: <1254771187.21044.22.camel@laptop> Signed-off-by: Ingo Molnar commit fe9081cc9bdabb0be953a39ad977cea14e35bce5 Author: Peter Zijlstra Date: Thu Oct 8 11:56:07 2009 +0200 perf, x86: Add simple group validation Refuse to add events when the group wouldn't fit onto the PMU anymore. Naive implementation. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <1254911461.26976.239.camel@twins> Signed-off-by: Ingo Molnar commit b690081d4d3f6a23541493f1682835c3cd5c54a1 Author: Stephane Eranian Date: Tue Oct 6 16:42:09 2009 +0200 perf_events: Add event constraints support for Intel processors On some Intel processors, not all events can be measured in all counters. Some events can only be measured in one particular counter, for instance. Assigning an event to the wrong counter does not crash the machine but this yields bogus counts, i.e., silent error. This patch changes the event to counter assignment logic to take into account event constraints for Intel P6, Core and Nehalem processors. There is no contraints on Intel Atom. There are constraints on Intel Yonah (Core Duo) but they are not provided in this patch given that this processor is not yet supported by perf_events. As a result of the constraints, it is possible for some event groups to never actually be loaded onto the PMU if they contain two events which can only be measured on a single counter. That situation can be detected with the scaling information extracted with read(). Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <1254840129-6198-3-git-send-email-eranian@gmail.com> Signed-off-by: Ingo Molnar commit 04a705df47d1ea27ca2b066f24b1951c51792d0d Author: Stephane Eranian Date: Tue Oct 6 16:42:08 2009 +0200 perf_events: Check for filters on fixed counter events Intel fixed counters do not support all the filters possible with a generic counter. Thus, if a fixed counter event is passed but with certain filters set, then the fixed_mode_idx() function must fail and the event must be measured in a generic counter instead. Reject filters are: inv, edge, cnt-mask. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <1254840129-6198-2-git-send-email-eranian@gmail.com> Signed-off-by: Ingo Molnar commit 69d2c2ae1dffac5fcd6130e459f250ae035b678f Author: Nicolas Ferre Date: Thu Oct 8 18:19:49 2009 +0200 ASoC: at91sam9g20ek_2mmc board uses same audio connexion as at91sam9g20ek The modified revision of at91sam9g20 Evaluation Kit rev. C and onwards share with previous ones its audio connexion to Wolfson wm8731. Modify the SoC file to extend the machine ID checking. Signed-off-by: Nicolas Ferre Signed-off-by: Mark Brown commit cd7e1f0b056c071860db65c847a854b3093d6606 Author: Don Skidmore Date: Thu Oct 8 15:36:22 2009 +0000 ixgbe: Fix KR to KX fail over for Mezzanine cards This patch allows the recently added backplane device IDs that support KR to fail over to KX during link setup. This is accomplished by the new MAC link setup function ixgbe_setup_mac_link_smartspeed(). Comments were also updated to better document the reason for the delays chosen for KX, KX4, BX, BX4 and KR connections. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 38ad1c8e8c8debf73b28543a3250a01f799f78ef Author: Don Skidmore Date: Thu Oct 8 15:35:58 2009 +0000 ixgbe: add support for 82599 based Express Module X520-P2 This patch will add the device ID for the 82599-based Ethernet Express Module X520-P2 SFI card. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e0e6f55d298af03ab88bfe8455b671d29d78f426 Author: Jin Dongming Date: Thu Oct 8 22:44:47 2009 -0700 ipv6: Fix the size overflow of addrconf_sysctl array (This patch fixes bug of commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50 title "make TLLAO option for NA packets configurable") When the IPV6 conf is used, the function sysctl_set_parent is called and the array addrconf_sysctl is used as a parameter of the function. The above patch added new conf "force_tllao" into the array addrconf_sysctl, but the size of the array was not modified, the static allocated size is DEVCONF_MAX + 1 but the real size is DEVCONF_MAX + 2, so the problem is that the function sysctl_set_parent accessed wrong address. I got the following information. Call Trace: [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] __register_sysctl_paths+0xde/0x272 [] ? __kmalloc_track_caller+0x16e/0x180 [] ? __addrconf_sysctl_register+0xc5/0x144 [ipv6] [] register_net_sysctl_table+0x48/0x4b [] __addrconf_sysctl_register+0xf7/0x144 [ipv6] [] addrconf_init_net+0xd4/0x104 [ipv6] [] setup_net+0x35/0x82 [] copy_net_ns+0x76/0xe0 [] create_new_namespaces+0xf0/0x16e [] copy_namespaces+0x65/0x9f [] copy_process+0xb2c/0x12c3 [] do_fork+0x14b/0x2d2 [] ? up_read+0xe/0x10 [] ? do_page_fault+0x27a/0x2aa [] sys_clone+0x28/0x2a [] stub_clone+0x13/0x20 [] ? system_call_fastpath+0x16/0x1b And the information of IPV6 in .config is as following. IPV6 in .config: CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_IPV6_MIP6=m CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_PIMSM_V2=y # CONFIG_IP_VS_IPV6 is not set CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m I confirmed this patch fixes this problem. Signed-off-by: Jin Dongming Signed-off-by: David S. Miller commit 5a943617ef52e9f79cd7cf437aad8870be27aabb Author: John Kacur Date: Thu Oct 8 17:20:15 2009 +0200 x86, cpuid: Simplify the code in cpuid_open Peter picked up my patch for tip/x86/cpu that removes the bkl in cpuid_open. Ingo subsequently merged that into tip/master. This patch folds back in tglx's 55968ede164ae523692f00717f50cd926f1382a0 to my patch that removed the bkl. This simplifies the code, and makes it consistent with the changes to kill the bkl in msr.c as well. Originally-by: Thomas Gleixner Signed-off-by: John Kacur Signed-off-by: H. Peter Anvin commit 26dd2cb074d9dc41c9e3cddd7bf175fd0a41febc Author: Frederic Weisbecker Date: Thu Oct 8 22:07:29 2009 +0200 perf tools: Provide backward compatibility with previous perf.data version We have merged the trace.info file into perf.data by adding one section in the perf headers. This makes it incompatible with previous version: the new perf tools can't read the older perf.data. To support the previous format, we check the headers size. If they have the same size than in the previous format, then ignore the trace info section that doesn't exist. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255032449-12022-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 97ea1a7fa62af0d8d49a0fc12796b0073537c9d8 Author: Frederic Weisbecker Date: Thu Oct 8 21:04:17 2009 +0200 perf tools: Fix thread comm resolution in perf sched This reverts commit 9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2 ("perf tools: Improve thread comm resolution in perf sched") and fixes the real bug. The bug was elsewhere: We are failing to resolve thread names in perf sched because the table of threads we are building, on top of comm events, has a per process granularity. But perf sched, unlike the other perf tools, needs a per thread granularity as we are profiling every tasks individually. So fix it by building our threads table using the tid instead of the pid as the thread identifier. v2: Revert the previous fix - it is not really needed Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255028657-11158-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ba69ea42f8ba8286cbe0e939bd1ce781b7905b84 Author: Konrad Rzeszutek Wilk Date: Thu Oct 8 13:23:08 2009 -0400 Fix toogle whether xenbus driver should be built as module or part of kernel. The "select" statement in the Kconfig ensures that all other users of the xenbus will have the same dependency. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge commit 2e538c4a1847291cf01218d4fe7bb4dc60fef7cf Author: Arnaldo Carvalho de Melo Date: Wed Oct 7 13:48:56 2009 -0300 perf tools: Improve kernel/modules symbol lookup This removes the ovelapping of vmlinux addresses with modules, using the ELF section name when using --vmlinux and creating a unique DSO name when using /proc/kallsyms ([kernel].N). This is done by creating multiple 'struct map' instances for address ranges backed by DSOs that have just the symbols for that range and a name that is derived from the ELF section name.o Now it is possible to ask for just the symbols in some particular kernel section: $ perf report -m --vmlinux ../build/tip-recvmmsg/vmlinux \ --dsos [kernel].vsyscall_fn | head -15 52.73% Xorg [.] vread_hpet 18.61% firefox [.] vread_hpet 14.50% npviewer.bin [.] vread_hpet 6.83% compiz [.] vread_hpet 5.73% glxgears [.] vread_hpet 0.63% java [.] vread_hpet 0.30% gnome-terminal [.] vread_hpet 0.23% perf [.] vread_hpet 0.18% xchat [.] vread_hpet $ Now we don't have to first lookup the list of modules and then, if it fails, vmlinux symbols, its just a simple lookup for the map then the symbols, just like for threads. Reports generated using /proc/kallsyms and --vmlinux should provide the same results, modulo the DSO name for sections other than ".text". But they don't right now because things like: ffffffff81011c20-ffffffff81012068 system_call ffffffff81011c30-ffffffff81011c9b system_call_after_swapgs ffffffff81011c9c-ffffffff81011cb6 system_call_fastpath ffffffff81011cb7-ffffffff81011cbb ret_from_sys_call I.e. overlapping symbols, again some ASM special case that we have to fixup. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1254934136-8503-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit da21d1b547cbaa2c026cf645753651c25d340923 Author: Arnaldo Carvalho de Melo Date: Wed Oct 7 10:49:00 2009 -0300 perf tools: Up the verbose level for some really verbose stuff Like printing every symbol created. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1254923340-4870-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2 Author: Frederic Weisbecker Date: Thu Oct 8 16:37:12 2009 +0200 perf tools: Improve thread comm resolution in perf sched When we get sched traces that involve a task that was already created before opening the event, we won't have the comm event for it. So if we can't find the comm event for a given thread, we look at the traces that may contain these informations. Before: ata/1:371 | 0.000 ms | 1 | avg: 3988.693 ms | max: 3988.693 ms | kondemand/1:421 | 0.096 ms | 3 | avg: 345.346 ms | max: 1035.989 ms | kondemand/0:420 | 0.025 ms | 3 | avg: 421.332 ms | max: 964.014 ms | :5124:5124 | 0.103 ms | 5 | avg: 74.082 ms | max: 277.194 ms | :6244:6244 | 0.691 ms | 9 | avg: 125.655 ms | max: 271.306 ms | firefox:5080 | 0.924 ms | 5 | avg: 53.833 ms | max: 257.828 ms | npviewer.bin:6225 | 21.871 ms | 53 | avg: 22.462 ms | max: 220.835 ms | :6245:6245 | 9.631 ms | 21 | avg: 41.864 ms | max: 213.349 ms | After: ata/1:371 | 0.000 ms | 1 | avg: 3988.693 ms | max: 3988.693 ms | kondemand/1:421 | 0.096 ms | 3 | avg: 345.346 ms | max: 1035.989 ms | kondemand/0:420 | 0.025 ms | 3 | avg: 421.332 ms | max: 964.014 ms | firefox:5124 | 0.103 ms | 5 | avg: 74.082 ms | max: 277.194 ms | npviewer.bin:6244 | 0.691 ms | 9 | avg: 125.655 ms | max: 271.306 ms | firefox:5080 | 0.924 ms | 5 | avg: 53.833 ms | max: 257.828 ms | npviewer.bin:6225 | 21.871 ms | 53 | avg: 22.462 ms | max: 220.835 ms | npviewer.bin:6245 | 9.631 ms | 21 | avg: 41.864 ms | max: 213.349 ms | Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255012632-7882-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 016e92fbc9ef33689cf654f343a94383d43235e7 Author: Frederic Weisbecker Date: Wed Oct 7 12:47:31 2009 +0200 perf tools: Unify perf.data mapping and events handling This librarizes the perf.data file mapping and handling in various perf tools, roughly reducing the amount of code and fixing the places that mmap from beginning of the file whereas we want to mmap from the beginning of the data, leading to page fault because the mmap window is too small since the trace info are written in the file too. TODO: - convert perf timechart too Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arjan van de Ven LKML-Reference: <20091007104729.GD5043@nowhere> Signed-off-by: Ingo Molnar commit b727916a1f79f7a6e4603747b36a51777cb074e0 Merge: 907bc6c 6f775ba Author: Mark Brown Date: Thu Oct 8 10:45:09 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit 3758bf25db8caeec667e4e56e030da0ec3060529 Author: Anant Gole Date: Wed Oct 7 02:59:47 2009 +0000 can: add TI CAN (HECC) driver TI HECC (High End CAN Controller) module is found on many TI devices. It has 32 hardware mailboxes with full implementation of CAN protocol 2.0B with bus speeds up to 1Mbps. Specifications of the module are available on TI web Signed-off-by: Anant Gole Signed-off-by: David S. Miller commit 0cdc03698f2586923ad3b9fca06643ff5675f221 Author: Ajit Khaparde Date: Wed Oct 7 02:46:59 2009 +0000 ixgb: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit bcc90f555b4eb82604436f7ab6a7853c4b5997a3 Author: Ajit Khaparde Date: Wed Oct 7 02:46:09 2009 +0000 qlge: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 5fe31deffa097795aed7ab276c90287823d26497 Author: Ajit Khaparde Date: Wed Oct 7 02:42:23 2009 +0000 e1000: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 8d24e93309d688d59d4b6cf0b9cffc40337e067d Author: Ajit Khaparde Date: Wed Oct 7 02:42:56 2009 +0000 igb: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2d86f1393c62f9c3bae5c1207408ed6559aa3cc4 Author: Ajit Khaparde Date: Wed Oct 7 02:43:49 2009 +0000 ixgbe: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 6dc3494183db0b93f49b193ac115073b72453b9c Author: Ajit Khaparde Date: Wed Oct 7 02:45:02 2009 +0000 myri10ge: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private myri10ge_priv structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 5a4d631154de41bb43eefb03d2124224c23c1fa4 Author: Ajit Khaparde Date: Wed Oct 7 02:45:34 2009 +0000 netxen: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 7274c20f7b6a7bd6e3e8441e1727bf9cfd8235bb Author: Ajit Khaparde Date: Wed Oct 7 02:44:26 2009 +0000 e1000e: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 72dad218f872dbd53f5dc5df9df45709e4b77870 Author: Sridhar Samudrala Date: Wed Oct 7 12:41:17 2009 +0000 bridge: Allow enable/disable UFO on bridge device via ethtool Allow enable/disable UFO on bridge device via ethtool Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit d9f5950f90292f7cc42834338dfd5f44dc4cc4ca Author: Sridhar Samudrala Date: Wed Oct 7 12:24:25 2009 +0000 net: Make UFO on master device independent of attached devices Now that software UFO is supported, UFO can be enabled on master devices like bridge, bond even though the attached device doesn't support this feature in hardware. This allows UFO to be used between KVM host and guest even when a physical interface attached to the bridge doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit f86dcc5aa8c7908f2c287e7a211228df599e3e71 Author: Eric Dumazet Date: Wed Oct 7 00:37:59 2009 +0000 udp: dynamically size hash tables at boot time UDP_HTABLE_SIZE was initialy defined to 128, which is a bit small for several setups. 4000 active UDP sockets -> 32 sockets per chain in average. An incoming frame has to lookup all sockets to find best match, so long chains hurt latency. Instead of a fixed size hash table that cant be perfect for every needs, let UDP stack choose its table size at boot time like tcp/ip route, using alloc_large_system_hash() helper Add an optional boot parameter, uhash_entries=x so that an admin can force a size between 256 and 65536 if needed, like thash_entries and rhash_entries. dmesg logs two new lines : [ 0.647039] UDP hash table entries: 512 (order: 0, 4096 bytes) [ 0.647099] UDP Lite hash table entries: 512 (order: 0, 4096 bytes) Maximal size on 64bit arches would be 65536 slots, ie 1 MBytes for non debugging spinlocks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 170a0bc3808909d8ea0f3f9c725c6565efe7f9c4 Author: John Kacur Date: Wed Oct 7 20:19:32 2009 +0200 x86, cpuid: Remove the bkl from cpuid_open() Most of the variables are local to the function. It IS possible that for struct cpuinfo_x86 *c c could point to the same area. However, this is used read only. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: H. Peter Anvin commit f8631e7bba34d46d6ccea4cd90f7a0482770ff70 Author: Alistair Buxton Date: Tue Sep 22 10:05:30 2009 +0100 OMAP850: Fix zImage booting This adds the OMAP850 JTAG ID to the IDs checked by OMAP uncompress.h putc. Without this putc hangs up trying to check the uarts and zImage crashes. Signed-off-by: Alistair Buxton commit 1f73b4de93e06d18c28cb282761c8507bc476489 Author: Alistair Buxton Date: Fri Sep 18 20:53:04 2009 +0100 OMAP850: PM: Add an ARCH_OMAP850 check This just makes the same warning be printed on omap850 and omap730. Signed-off-by: Alistair Buxton commit ab985ff471048479b475f973358ccc6af8e42bc4 Author: Angelo Arrifano Date: Fri Sep 4 23:41:49 2009 +0100 OMAP7XX: Clocks: Add ck_ref and armxor These clocks are required for booting. Signed-off-by: Angelo Arrifano Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 7a8f48f8c611ac8c07023260258e2fec312b9242 Author: Alistair Buxton Date: Tue Sep 22 10:04:51 2009 +0100 OMAP7XX: omap_uwire.c: Convert to omap7xx.h This also replaces CPU checks with cpu_is_omap7xx() Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 7c0069264017fdac8ef017b8893f0f0d7a13851a Author: Alistair Buxton Date: Tue Sep 22 10:02:58 2009 +0100 OMAP7XX: Rename all the rest of the omap730 references in omap1 core This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. This updates all the remaining omap730 references in miscellaneous local variables, macros and similar. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 372b1c32e7e7d7aa5f44e0eaed4ad8ae21e4e9da Author: Alistair Buxton Date: Fri Sep 18 04:09:39 2009 +0100 OMAP7XX: Replace omap730 references in irqs.h and all users This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. Turns INT_730_* to INT_7XX_* for definitions in irqs.h and all users. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit b51988db94faec47d6e7c69c8e691cfc194f66db Author: Alistair Buxton Date: Tue Sep 22 07:34:13 2009 +0100 OMAP7XX: Update core omap1 files to use omap7xx.h This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit e6684f7132c6e6333e96407b06910bebaa4c1935 Author: Alistair Buxton Date: Tue Sep 22 07:22:56 2009 +0100 OMAP7XX: Create omap7xx.h This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. This include file is intended to replace omap730.h and omap850.h All values defined herein are identical to those in both the old files. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit bf1cb7eb4fe35e50798f03e00d3900db0474f7d0 Author: Alistair Buxton Date: Tue Sep 22 06:49:35 2009 +0100 OMAP7XX: McBSP: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 39a8b08610a10f3456ef9f4a38986d0407f1c57e Author: Alistair Buxton Date: Tue Sep 22 06:47:14 2009 +0100 OMAP7XX: Clocks: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This file had no omap850 specific code. Initial clock support was done in the Linwizard tree by Zebediah C. McClure. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 4b9100dde2820296003940ffd81e006c33c9bf5d Author: Alistair Buxton Date: Tue Sep 22 06:41:09 2009 +0100 OMAP7XX: PM: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This file had no omap850 specific code. Original omap850 support in Linwizard was done by cloning the omap730 code. That work was done by Zebediah C. McClure. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 559663b980c8293b3624b4d91d08efc71f6fae82 Author: Alistair Buxton Date: Tue Sep 22 06:33:04 2009 +0100 OMAP7XX: IRQ: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This fixes a bug which prevents IRQs from being enabled on omap850 due to a missing check in entry-macro.S, which was found by Cory Maccarrone. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 207b0e9cfef296c469cce84f74455f97f8ab2227 Author: Alistair Buxton Date: Tue Sep 22 06:01:08 2009 +0100 OMAP7XX: USB: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 190215f963551405cc97ed220003bb7524219131 Author: Alistair Buxton Date: Tue Sep 22 05:58:54 2009 +0100 OMAP7XX: Mux: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit ab49df737d28c67eb6a5cb5be40dbab43fd7582c Author: Alistair Buxton Date: Tue Sep 22 05:58:08 2009 +0100 OMAP7XX: IO: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit b718aa810b50e0d988d8b83f1011865b19b17491 Author: Alistair Buxton Date: Wed Sep 23 18:56:19 2009 +0100 OMAP7XX: GPIO: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit d8723ae2a416473f8e974baadcb6acb7f8b0b485 Author: Alistair Buxton Date: Tue Sep 22 05:49:53 2009 +0100 OMAP7XX: Serial: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 8a6dfd43d1891882f8ca05d73aa7735fb0edae3b Author: Alexandre Cassen Date: Wed Oct 7 14:50:30 2009 -0700 IPv6: Fix 6RD typo Following fix a small typo. Signed-off-by: Alexandre Cassen Signed-off-by: David S. Miller commit 4b17d50f9e9034be3fe0414dc3492c0071dba75c Author: Hagen Paul Pfeifer Date: Wed Oct 7 14:45:58 2009 -0700 ipv4: Define cipso_v4_delopt static There is no reason that cipso_v4_delopt() is not defined as a static function. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: David S. Miller commit 9e8342971d44ce86d8567047f5366fc1c06a75ed Author: Hagen Paul Pfeifer Date: Wed Oct 7 14:43:04 2009 -0700 econet: Fix redeclaration of symbol len Function argument len was redeclarated within the function. This patch fix the redeclaration of symbol 'len'. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: David S. Miller commit 49b4ad92d1a5bb9909deb3216ffec6f0febc7b71 Author: Nicolas de Pesloüan Date: Wed Oct 7 14:11:00 2009 -0700 bonding: remove useless assignment The variable old_active is first set to bond->curr_active_slave. Then, it is unconditionally set to new_active, without being used in between. The first assignment, having no side effect, is useless. Signed-off-by: Nicolas de Pesloüan Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 3c6aaa24613cbd56f853363e3ce00091a9d2eac8 Author: Nicolas de Pesloüan Date: Wed Oct 7 14:10:36 2009 -0700 bonding: fix a parameter name in error message When parsing module parameters, bond_check_params() erroneously use 'xor_mode' as the name of a module parameter in an error message. The right name for this parameter is 'xmit_hash_policy'. Signed-off-by: Nicolas de Pesloüan Signed-off-by: David S. Miller commit b301e82cf8104cfddbe5452ebe625bab49597c64 Author: Brian Haley Date: Wed Oct 7 13:58:25 2009 -0700 IPv6: use ipv6_addr_set_v4mapped() Might as well use the ipv6_addr_set_v4mapped() inline we created last year. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 86c36ce45dc2e2f022562c6481cd778f4cc381a9 Author: Brian Haley Date: Wed Oct 7 13:58:01 2009 -0700 IPv6: use ipv6_addr_copy() in ip6_route_redirect() Change ip6_route_redirect() to use ipv6_addr_copy(). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 125a77ed9fbd21d1277f53e9ed6b39ad3d34e613 Author: Brian Haley Date: Wed Oct 7 13:57:10 2009 -0700 IPv6: Fix 6RD build error Fix build error introduced in commit fa857afcf - ipv6 sit: 6rd (IPv6 Rapid Deployment) Support. Struct in6_addr is the issue. I'm only seeing this on x86_64 systems, not on 32-bit with same IPv6 config options, so it could be there's a missing forward declaration somewhere, but including the correct header file fixes the problem too. CC [M] net/ipv6/ip6_tunnel.o In file included from net/ipv6/ip6_tunnel.c:31: include/linux/if_tunnel.h:59: error: field ‘prefix’ has incomplete type make[2]: *** [net/ipv6/ip6_tunnel.o] Error 1 make[1]: *** [net/ipv6] Error 2 Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit ffce908246c93b17304c313886d25cfa8aecd1d7 Author: Atis Elsts Date: Wed Oct 7 13:55:57 2009 -0700 net: Add sk_mark route lookup support for IPv4 listening sockets Add support for route lookup using sk_mark on IPv4 listening sockets. Signed-off-by: Atis Elsts Signed-off-by: David S. Miller commit 996ccf49005662ee7fee38a45be5cb27bf370b1d Author: Gerrit Renker Date: Mon Oct 5 00:53:13 2009 +0000 dccp ccid-3: Remove CCID naming redundancy 2/2 This continues the previous patch, by applying the same change to CCID-3. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 77d2dd93742222973d253443d98ab8402d641038 Author: Gerrit Renker Date: Mon Oct 5 00:53:12 2009 +0000 dccp ccid-2: Remove CCID naming redundancy 1/2 This removes a redundancy in the CCID half-connection (hc) naming scheme: * instead of 'hctx->tx_...', write 'hc->tx_...'; * instead of 'hcrx->rx_...', write 'hc->rx_...'; which works because the 'type' of the half-connection is encoded in the 'rx_' / 'tx_' prefixes. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 388d5e9905dd80648fff5ccaefdd8c0fcedb3eae Author: Gerrit Renker Date: Mon Oct 5 00:53:11 2009 +0000 dccp ccid-3: Overhaul CCID naming convention 2/2 This implements the new naming scheme also for CCID-3. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b1c00fe3cf8f54d97d20cdf196145a106f04bd63 Author: Gerrit Renker Date: Mon Oct 5 00:53:10 2009 +0000 dccp ccid-2: Overhaul CCID naming convention 1/2 This patch starts a less problematic naming convention for CCID structs. The old naming convention used 'hc{tx,rx}->ccid?hc{tx,rx}->...' as recurring prefixes, which made the code * hard to write (not easy to fit into 80 characters); * hard to read (most of the space is occupied by prefixes). The new naming scheme: * struct entries for the TX socket are prefixed by 'tx_'; * and those for the RX socket are prefixed by 'rx_'. The identifiers then remain distinguishable when grep-ing through the tree: (a) RX/TX sockets are distinguished by the naming scheme, (b) individual CCIDs are distinguished by filename (ccid{2,3,4}.{c,h}). This first patch implements the scheme for CCID-2. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d6c304055b3cecd4ca865769ac7cea97a320727b Author: Frederic Weisbecker Date: Wed Oct 7 21:43:22 2009 +0200 x86, msr: Remove the bkl from msr_open() Remove the big kernel lock from msr_open() as it doesn't protect anything there. The only racy event that can happen here is a concurrent cpu shutdown. So let's look at what could be racy during/after the above event: - The cpu_online() check is racy, but the bkl doesn't help about that anyway it disables preemption but we may be chcking another cpu than the current one. Also the cpu can still become offlined between open and read calls. - The cpu_data(cpu) returns a safe pointer too. It won't be released on cpu offlining. But some fields can be changed from arch/x86/kernel/smpboot.c:remove_siblinginfo() : - phys_proc_id - cpu_core_id Those are not read from msr_open(). What we are checking is the x86_capability that is left untouched on offlining. So this removal looks safe. Signed-off-by: Frederic Weisbecker Cc: John Kacur Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Sven-Thorsten Dietrich LKML-Reference: <1254944602-7382-1-git-send-email-fweisbec@gmail.com> Signed-off-by: H. Peter Anvin commit 82e62926ab31d5a535f85be36d6621635ee34c3c Author: Holger Schurig Date: Wed Oct 7 09:10:33 2009 +0200 libertas: remove extraneous select FW_LOADER As kindly pointed out by Andrey Yurovsky, CONFIG_LIBERTAS already selects FW_LOADER. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 63f275df64dc69a46bbc21e6a68d5506d2da9c51 Author: Amitkumar Karwar Date: Tue Oct 6 19:20:28 2009 -0700 libertas: Use lbs_is_cmd_allowed() check in command handling routines. lbs_is_cmd_allowed() check is added in __lbs_cmd_async() and lbs_prepare_and_send_command(). The check is removed from other places. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 536b3a7a10c8fd39576a0602bfeca9bbd04658a6 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:11 2009 -0400 ath9k: rename ath_beaconq_setup() to ath9k_hw_beaconq_setup() And move it to hw code on mac.c where it belongs. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bd96d3909549a0c09388987810e3e81397b500a9 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:10 2009 -0400 ath9k: move ath_cleanup() below helpers to avoid forward declarations This should fix the oops which occurs during module unload due to the dereferencig of ah upon debugfs exit. IP: [<46412d6b>] 0x46412d6b *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: /sys/class/power_supply/BAT0/energy_full Modules linked in: ath9k(-) ath9k_hw mac80211 ath cfg80211 Pid: 3112, comm: rmmod Not tainted (2.6.32-rc2-wl #101) 9461DUU EIP: 0060:[<46412d6b>] EFLAGS: 00010246 CPU: 0 EIP is at 0x46412d6b EAX: f5870004 EBX: f6700d94 ECX: 00000000 EDX: c14313a7 ESI: f5870000 EDI: fb58ce70 EBP: f6661eb4 ESP: f6661ea8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process rmmod (pid: 3112, ti=f6660000 task=f6579380 task.ti=f6660000) Stack: fb57e5e5 f5ca5d50 fb58ce70 f6661ebc fb58629a f6661ec8 c11b715e f5ca5da8 <0> f6661ed8 c1223d98 f5ca5da8 f5ca5ddc f6661eec c1223e6f fb58ce70 fb58ce70 <0> c14958a0 f6661f00 c1222edb fb58ce70 fb58ce70 fb58cebc f6661f1c c12243c9 Call Trace: [] ? ath_cleanup+0x35/0x50 [ath9k] [] ? ath_pci_remove+0x1a/0x20 [ath9k] [] ? pci_device_remove+0x1e/0x40 [] ? __device_release_driver+0x58/0xa0 [] ? driver_detach+0x8f/0xa0 [] ? bus_remove_driver+0x7b/0xb0 [] ? driver_unregister+0x49/0x80 [] ? sysfs_remove_file+0x12/0x20 [] ? pci_unregister_driver+0x35/0x90 [] ? ath_pci_exit+0x12/0x20 [ath9k] [] ? ath9k_exit+0x10/0x3d [ath9k] [] ? mutex_unlock+0xd/0x10 [] ? sys_delete_module+0x16f/0x220 [] ? do_munmap+0x23d/0x290 [] ? trace_hardirqs_off_thunk+0xc/0x10 [] ? trace_hardirqs_on_thunk+0xc/0x10 [] ? sysenter_exit+0xf/0x1a [] ? sysenter_do_call+0x12/0x3c Code: Bad EIP value. EIP: [<46412d6b>] 0x46412d6b SS:ESP 0068:f6661ea8 CR2: 0000000046412d6b ---[ end trace 847f3b05ff3dcb19 ]--- Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2568835cb44d6fe976e977d96aeca73c9fe1642c Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:09 2009 -0400 ath9k: add a helper to clean the core driver upon module unload The core driver needs to be stopped and then as a last step the hardware needs to be stopped and its structure free'd. We do this by moving the core driver cleanup to a new helper ath_clean_core() and have ath_cleanup() call it. Only as a last step does ath_cleanup() now free the hw. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7fda16665152851fe65ee73e24afdcaf67acba59 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:08 2009 -0400 ath9k: add helper to un-init the hw properly This is used in several places, ensure we do it right in all callers by using a helper. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 211f5859af951788a3fe4752142a5e9047afa5d8 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:07 2009 -0400 ath9k: initialize hw prior to debugfs debugfs uses the hardware for several debugfs files as such the hardware must be initialized and available prior to its usage. The same applies to when we free the hw structs -- free debufs file entries prior to free'ing the hardware. Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit faa27fae7da900b6d977124410caa3d014676478 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:06 2009 -0400 ath9k: move common->debug_mask setting to ath_init_softc() What this means is we can enable now debug prints without requiring CONFIG_ATH9K_DEBUG. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8ce54c5a5f5d2f4f03993395d60f3110670002ca Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:34 2009 -0400 ath5k: enable Power-Save Polls by setting the association ID mac80211 has long provided us the association ID. This isn't useful except for Power-Save polling which now gets enabled. We can now poll for our pending frames on the AP during power save. You can review the details of Power-Save on the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/ieee80211/power-savings Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3f86bff1c056f47c2df4c58bfcf7bdda8eaf9d0 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:33 2009 -0400 ath5k: fix regression which triggers an SME join upon assoc This fixes a regression introduced by patch titled: "atheros: define shared bssidmask setting" The register for the BSSID was exchanged for the bssid mask register. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit abba06869e2546484fa142528737d1a0622add54 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:32 2009 -0400 ath5k: remove temporary low_id and high_id vars on ath5k_hw_set_associd() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit be5d6b75e0fb3f7e23ea5325109ef4195f2b282a Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:31 2009 -0400 ath5k: simplify passed params to ath5k_hw_set_associd() We have access to common->curbssid and common->curaid so just use those. Note that common->curaid is always 0 so this keeps our current behaviour of always using 0 for now. Once we fix storing the association ID passed by mac80211 this will require no changes here. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 91b9eb8261acfe473c369750036df24ad071e5c1 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:30 2009 -0400 ath5k: fix regression introduced upon the removal of AR5K_HIGH_ID() The trick was to add four bytes whenever this was used. There are two places where this was missed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a72d57a862f700edf85da81aae3cd8f923e989a1 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:29 2009 -0400 ath5k: use ath_hw_setbssidmask() for bssid mask setting upon assoc This should avoid future typos. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb053a037d8951018bdc9133c8d312da9cd0aefb Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:28 2009 -0400 ath5k: fix regression on setting bssid mask on association There was a typo on the second bssid mask register. This was caused by the patch titled: "ath5k: use common curbssid, bssidmask and macaddr" Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c6d3597cd54739281e964aa3c063f794e960f75e Author: Randy Dunlap Date: Tue Oct 6 13:27:29 2009 -0700 wireless: fix CFG80211_WEXT build problems Fix CFG80211_WEXT build dependencies/errors: ERROR: "cfg80211_wext_siwscan" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_siwmode" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwrange" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwmode" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwscan" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit a82ac21efcefabb4879eb5b4e7a2c7a142026bdb Author: John W. Linville Date: Wed Oct 7 10:49:33 2009 -0400 net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h Everything including this header includes net/cfg80211.h, which includes linux/netdevice.h, which includes linux/ethtool.h already. Why slow-down the build, even a little bit? Signed-off-by: John W. Linville commit cf32ed92432303022be208bb6a173994712f1f23 Author: John W. Linville Date: Tue Oct 6 16:47:23 2009 -0400 orinoco: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 5e5eab5dd4339b66e9e59695812fd4b96c3bb1c0 Author: John W. Linville Date: Tue Oct 6 16:45:14 2009 -0400 ipw2200: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 5b367378ee826b0566e51d32b78b00ce24eac8f9 Author: John W. Linville Date: Tue Oct 6 16:41:21 2009 -0400 iwmc3200wifi: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 0adc23f58e21cb47be998063ea1b82de33ccdd46 Author: John W. Linville Date: Tue Oct 6 16:27:18 2009 -0400 mac80211: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit ff9fc791940f9ff51387c35f9332efe5007154f1 Author: Holger Schurig Date: Tue Oct 6 16:31:54 2009 +0200 libertas: first stab at cfg80211 support Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0465af8e03bdc6cd0b49dc5548671387a8674b69 Author: Holger Schurig Date: Tue Oct 6 16:31:20 2009 +0200 libertas: separate libertas' Kconfig in it's own file Also sorts all "source" lines in the wireless/Kconfig. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit baee1f3caa5a771880144358dd07d32e09ba4dcf Author: Rafael J. Wysocki Date: Mon Oct 5 00:52:09 2009 +0200 Wireless / ath5k: Simplify suspend and resume callbacks Simplify the suspend and resume callbacks of ath5k by converting the driver to struct dev_pm_ops and allowing the PCI PM core to do the PCI-specific suspend/resume handling. Signed-off-by: Rafael J. Wysocki Signed-off-by: John W. Linville commit fe348cb628e6a78cc1e82fe64404c9a304ed9c12 Author: Kalle Valo Date: Thu Sep 24 11:02:51 2009 -0700 at76c50x-usb: set firmware and hardware version in wiphy Set firmware and hardware version in wiphy so that user space can access it. (Modification from original in favor of cfg80211 ethtool support. -- JWL) Cc: Kalle Valo Signed-off-by: John W. Linville commit dfce95f51fe34fa18c87a7d0bea53594b9bf1b9a Author: Kalle Valo Date: Thu Sep 24 11:02:42 2009 -0700 cfg80211: add firmware and hardware version to wiphy It's useful to provide firmware and hardware version to user space and have a generic interface to retrieve them. Users can provide the version information in bug reports etc. Add fields for firmware and hardware version to struct wiphy. (Dropped nl80211 bits for now and modified remaining bits in favor of ethtool. -- JWL) Cc: Kalle Valo Signed-off-by: John W. Linville commit 4890e3beddfb4a6859c4bb782c9cd05dd94ead82 Author: John W. Linville Date: Wed Sep 30 14:50:17 2009 -0400 wireless: implement basic ethtool support for cfg80211 devices Signed-off-by: John W. Linville commit f41bb897f202d23a7d896c716002a3d6050b991e Author: Wey-Yi Guy Date: Fri Oct 2 13:44:06 2009 -0700 iwlwifi: validate the signature for EEPROM and OTP Both 1000 & 6000 series NICs contain on-chip OTP memory that replaces the off-chip EEPROM memory. The nature of OTP means there is a limited number of times a particular board can go through the factory flow and be (re)calibrated. As a consequence there will be some boards that contain EEPROM memory because OTP blocks were full. In the signature validation routine, iwlwifi needs to make sure "select bit" and "EEPROM/OTP signature" agree on the type of NVM to be used to configure the system. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1739d3322008fb95e88ad0530bcc057789107879 Author: Abhijeet Kolekar Date: Fri Oct 2 13:44:05 2009 -0700 iwlwifi: replace iwl_poll_direct_bit with iwl_poll_bit for CSR access Replace iwl_poll_direct_bit with iwl_poll_bit when accessing CSR registers. There is no need to power up the mac to access CSR registers. Signed-off-by: Abhijeet Kolekar Acked-by: Ben M Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d68b603cf01a6e7d8c85c5a86db751ed3960c0c7 Author: Abhijeet Kolekar Date: Fri Oct 2 13:44:04 2009 -0700 iwlwifi/iwl3945 : unify apm stop operation Unify the usage of apm_stop_master and apm_stop across all hardwares. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e932a609e9759cc75db0c234f465a5fd6e20d362 Author: Johannes Berg Date: Fri Oct 2 13:44:03 2009 -0700 iwlwifi: LED cleanup The iwlwifi drivers have LED blinking requirements that mac80211 cannot fulfill due to the use of just a single LED instead of different ones for TX, RX, radio etc. Instead, the single LED blinks according to transfers and is solid on the rest of the time. As such, having LED class devices registered that mac80211 triggers are connected to is pointless as we don't use the triggers anyway. Remove all the useless code and add hooks into the driver itself. At the same time, make the LED code abstracted so the core code that determines blink rate etc. can be shared between 3945 and agn in iwlcore. At the same time, the fact that we removed the use of the mac80211 LED triggers means we can also remove the IWLWIFI_LEDS Kconfig symbol since the LED support is now self-contained. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit be1a71a128ed91372d4ad8d54d8fd972a1a356eb Author: Johannes Berg Date: Fri Oct 2 13:44:02 2009 -0700 iwlwifi: device tracing In order to have an easier way to debug issues, create trace events (using the ftrace framework) that will allow us to follow exactly what the driver is doing with the device. The text format isn't all that useful, but the binary format can also be obtained easily via debugfs and then analysed on the fly or offline with debugging tools. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d80d7210bb5a36a18978d1305b44375ecb857d9 Author: Wey-Yi Guy Date: Fri Oct 2 13:44:01 2009 -0700 iwlwifi: set default aggregation frame count limit to 31 Multiple MPDUs can be aggregated, transmitted, and finally acknowledged together using a single BA frame. Block ACK (BA) contains bitmap size of 64*16 bits so the maximum frame count is 64. The default value of aggregation frame count suggested by uCode is 31 to achieve best performance. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39d5e0ce0f2ab9a4bb88e22a9f07ba3943e3646d Author: Huaxu Wan Date: Fri Oct 2 13:44:00 2009 -0700 iwlwifi: clear the translate table area Driver should clear the translate table area after receiving "Alive" response from uCode. This patch corrects a mistake when doing this. Signed-off-by: Huaxu Wan Signed-off-by: Guo Chaohong Acked-by: Ben M Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 72f0ebd9e0af0cb642b5f8955380c5043c5c83b4 Author: Wey-Yi Guy Date: Fri Oct 2 13:43:59 2009 -0700 iwlwifi: change valid EEPROM version for 1000 series In order to support different type of 1000 series NICs we release to customers before the production release, iwlwifi driver need to support all the NICs has EEPROM version greater than 0x15c. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7812b16730ccebce71a3b2228ac08dd4f8b39469 Author: Wey-Yi Guy Date: Fri Oct 2 13:43:58 2009 -0700 iwlwifi: reliable entering of critical temperature state When uCode detects critical temperature it should send "card state notification" interrupt to driver and then shut itself down to prevent overheating. There is a race condition where uCode shuts down before it can deliver the interrupt to driver. Additional method provided here for driver to enter CT_KILL state based on temperature reading. How it works: Method 1: If driver receive "card state notification" interrupt from uCode; it enters "CT_KILL" state immediately Method 2: If the last temperature report by Card reach Critical temperature, driver will send "statistic notification" request to uCode to verify the temperature reading, if driver can not get reply from uCode within 300ms, driver will enter CT_KILL state automatically. Method 3: If the last temperature report by Card did not reach Critical temperature, but uCode already shut down due to critical temperature. All the host commands send to uCode will not get process by uCode; when command queue reach the limit, driver will check the last reported temperature reading, if it is within pre-defined margin, enter "CT_KILL" state immediately. In this case, when uCode ready to exit from "CT_KILL" state, driver need to restart the adapter in order to reset all the queues and resume normal operation. One additional issue being address here, when system is in CT_KILL state, both tx and rx already stopped, but driver still can send host command to uCode, it will flood the command queue since card was not responding; adding STATUS_CT_KILL flag to reject enqueue host commands to uCode if it is in CT_KILL state, when uCode is ready to come out of CT_KILL, driver will clear the STATUS_CT_KILL bit and allow enqueue the host commands to uCode to recover from CT_KILL state. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ffe9793252de2e9a3cc7e29a6c7debd1d549df07 Author: Kalle Valo Date: Thu Oct 1 12:51:20 2009 +0300 wl1251: remove wl1251_netlink.h The file was accidentally added in commit ef2f8d4577 ("wl1251: add wl1251 prefix to all 1251 files"). This happened when I rebased the patches from a private tree. Reported-by: Robert P. J. Day Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4912545472d71e3dd546b18b397aec4c89fd7403 Author: Amitkumar Karwar Date: Wed Sep 30 20:04:38 2009 -0700 libertas: Add auto deep sleep support for SD8385/SD8686/SD8688 Add timer based auto deep sleep feature in libertas driver which can be configured using iwconfig command. This is tested on SD8688, SD8686 cards with firmware versions 10.38.1.p25, 9.70.4.p0 respectively on 32-bit and 64-bit platforms. Tests have been done for USB/CS cards to make sure that the patch won't break USB/CS code. We didn't test the if_spi driver. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 125b181aec7a67c71234284ecf6d9c729d05deda Author: Larry Finger Date: Thu Oct 1 13:22:27 2009 -0500 staging: Add proper selection of WIRELESS_EXT and WEXT_PRIV After the incorporation of the patch entitled "wext: refactor", some of the wireless drivers in drivers/staging fail to build because they need to have CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV defined. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3d23e349d807177eaf519d444677cee86b1a04cf Author: Johannes Berg Date: Tue Sep 29 23:27:28 2009 +0200 wext: refactor Refactor wext to * split out iwpriv handling * split out iwspy handling * split out procfs support * allow cfg80211 to have wireless extensions compat code w/o CONFIG_WIRELESS_EXT After this, drivers need to - select WIRELESS_EXT - for wext support - select WEXT_PRIV - for iwpriv support - select WEXT_SPY - for iwspy support except cfg80211 -- which gets new hooks in wext-core.c and can then get wext handlers without CONFIG_WIRELESS_EXT. Wireless extensions procfs support is auto-selected based on PROC_FS and anything that requires the wext core (i.e. WIRELESS_EXT or CFG80211_WEXT). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc974f4a230756faf4f69114f271de2e678b363b Author: Luis R. Rodriguez Date: Mon Sep 28 02:54:40 2009 -0400 atheros: define a common priv struct hw code should never use private driver data, but sometimes we need a backpointer so just stuff it on the common ath struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7c89606e24cdabaceb8ca9b3c7ab866c6bcc9e38 Author: Holger Schurig Date: Thu Sep 24 12:21:01 2009 +0200 nl80211: report age of scan results Linux keeps scan results up to 15 seconds. This can be a problem for fast moving clients: they get back stale data. But if the kernel reports the age of the BSS items, then user-space can simply weed out old entries by itself. Signed-off-by: Holger Schurig Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7976b4263cb05dc638297d35f2a42375090ebaff Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:02 2009 -0400 ath9k_hw: add AR9271 srev and device ID to allow hw to support ar9271 This allows for hw support to be enabled for ar9271. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3ca340381a1da26906dc766a1e4f8a5d0a613189 Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:01 2009 -0400 ath9k_hw: print device ID if not supported Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7322fd19295fa7f7d954a19a5f0b77687d441846 Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:00 2009 -0400 ath9k: move hw code to its own module hw code for Atheros 802.11n hardware is commmon between different chipsets. This moves this code into a separate module, the next expected user of this code will be the ath9k_htc module. The ath9k/ dir is now selected by ATH9K_HW, an option which gets selected by either ath9k or ath9k_htc, but remains invisible for user menuconfig configuration. If either ath9k or ath9k_htc will be compiled into the kernel ath9k_hw will also be compiled in. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 475a6e4d3907d6af412d081a9eab3b1e8a24afd1 Author: Luis R. Rodriguez Date: Wed Sep 23 23:06:59 2009 -0400 ath9k: use common read/write ops on pci and debug code PCI and debug code will not be shared between ath9k and ath9k_htc, so make that code use the common read/write ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bdcf8ff3dd7e89ee4b3f303b6f7e5e04876f9d76 Author: Jaswinder Singh Rajput Date: Sun Sep 20 13:39:24 2009 +0530 b43: Comment unused functions lpphy_restore_dig_flt_state and lpphy_disable_rx_gain_override Commenting unused functions lpphy_restore_dig_flt_state and lpphy_disable_rx_gain_override, may be we need these functions in future. This also fixed following compilation warnings : CC [M] drivers/net/wireless/b43/phy_lp.o drivers/net/wireless/b43/phy_lp.c:383: warning: ‘lpphy_restore_dig_flt_state’ defined but not used drivers/net/wireless/b43/phy_lp.c:891: warning: ‘lpphy_disable_rx_gain_override’ defined but not used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit c099752ae06784fcd9cd393cbf3dfbc6b54f4569 Author: Christian Lamparter Date: Fri Sep 18 18:20:03 2009 +0200 iwlwifi: drop lib80211 dependency Ever since Johannes' "iwlwifi: improve scan support" iwlwifi no longer needs any of lib80211's functions or definitions. This patch updates iwlwifi's Kconfig _selections_ and removes all left lib80211.h inclusions from the source files. Signed-off-by: Christian Lamparter Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit e41f0bfcb130d9f17cf5ee8e46d739c1bebda963 Author: Senthil Balasubramanian Date: Fri Sep 18 15:08:20 2009 +0530 ath9k: Fix bugs in handling TX power * Get power table offset from the EEPROM instead of using a hardcoded value of -5 if the EEPROM rev is >= 21. * Add support in the 4k eeprom code for tx power offset in case we have a 4k AR9280 implementation. * Fix tx power accuracy at high powers. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ebb90cfc32f0d7ee55be7787ce7d88e521e9ed01 Author: Senthil Balasubramanian Date: Fri Sep 18 15:07:33 2009 +0530 ath9k: Advertise midband for AR5416 devices This has to be done if the EEPROM supports FCC Midband capability. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 63a75b912b00fbafeb54849ca3bcd0295ad68609 Author: Senthil Balasubramanian Date: Fri Sep 18 15:07:03 2009 +0530 ath9k: Reduce PLL Settle time and eliminate redundant PLL calls. Reduce PLL Settle time and eliminate redundant PLL calls. Also reduce the LoadNF timeout from 10 msec to 250usec as the 10 msec timeout was hit with AR9285 in some cases. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1d50a69b18818b276333590d1f2c9382d292d84d Author: Senthil Balasubramanian Date: Fri Sep 18 15:06:37 2009 +0530 ath9k: Handle ATH9K_BEACON_RESET_TSF properly Clearing a local variable is unnecessary. Get rid of it. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 66afad0156a0b673688f309147e57c3a85541329 Author: Senthil Balasubramanian Date: Fri Sep 18 15:06:07 2009 +0530 ath9k: Allow PSPOLL only when the interface is configured in AP mode Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 7aa034928392f16d48c536b315575e2dcfa53252 Author: Vasanthakumar Thiagarajan Date: Fri Sep 18 15:04:51 2009 +0530 ath9k: Update initvals * Move 0xa274 and 0xa27c to the top of tx_gain table. * Update initvals to fix random failure of noise floor calibration. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4921be8058f1c8854e501305b96196856fe7f830 Author: Sujith Date: Fri Sep 18 15:04:27 2009 +0530 ath9k: Fix RTC reset for AR5416 For AR5416 chipsets, clearing RTC_RESET_EN when setting the chip to SLEEP mode results in high power consumption. This patch fixes this issue by not clearing it for AR5416. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 193cd4585e6c5650875e98ccfef2fa93616fef30 Author: Sujith Date: Fri Sep 18 15:04:07 2009 +0530 ath9k: Update INI release for AR9287 If the current channel is between 2412 and 2472 MHz and if the channel is changing to 2484 MHz, then the registers 0xa1f4, 0xa1f8 and 0xa1fc need to be programmed to the "japan_2484" values. Conversely, if the current channel is 2484 MHz and if the channel is changing to one between 2412 and 2472 MHz, then the three registers need to be programmed to the "normal" values. This is needed for compliance with Japanese regulatory requirements. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0b98eaaa02965fb06dee4ad8c605bb3c93df2c98 Author: Vivek Natarajan Date: Fri Sep 18 15:03:42 2009 +0530 ath9k: Add Calibration checks * Prevent divide-by-zero errors in IQ Calibration. * Do not run temperature compensation if initPDADC or currPDADC is zero. * Also, introduce a separate function for handling OLC for AR9287. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 181af387033e20065e94363d07ecbace7738278c Author: Joerg Albert Date: Tue Sep 15 23:27:53 2009 +0200 ar9170: handle overflow in tsf_low register during get_tsf ar9170_op_get_tsf: handle a carry from TSF_L into TSF_H by reading TSF_H twice. Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 7c52c07de8bd0433db6b3e0147544e5a2f01b786 Author: Joerg Albert Date: Tue Sep 15 22:23:06 2009 +0200 ar9170: add heavy clip handling add heavy clip handling for 2.4GHz only (similar to the vendor driver). Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 90f2908d3263e5c84c8408ce382a669b528b10e3 Author: Joerg Albert Date: Tue Sep 15 22:20:22 2009 +0200 ar9170: fixed coding style, moved define This patch fixes some coding style issues and moves MAX_RATE_POWER into hw.h Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 9554b34ad5817f424253aab265d0e2a54207f810 Author: Huaxu Wan Date: Fri Sep 25 14:24:28 2009 -0700 iwlwifi: add module firmware info for 1000 series The module firmware information of 1000 series is missing from iwlagn. Signed-off-by: Huaxu Wan Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27 Author: Johannes Berg Date: Fri Sep 25 14:24:27 2009 -0700 iwlwifi: support idle for 6000 series hw Using powersave while idle saves a lot of power, but we've had problems with this on some cards (5150 has been reported to be problematic). However, on the new 6000 series we're seeing no problems, so for now let that hardware benefit from idle mode, we can look at the problems with other hardware one by one and then enable those once we figure out the problems. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d8c07e7a84950b5fdef424c6dabe6bed3a9ffa19 Author: Wey-Yi Guy Date: Fri Sep 25 14:24:26 2009 -0700 iwlwifi: Chain Noise Calibration for 6000 series Adding support of Chain Noise Calibration for 6000 series NICs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2b396a120922062a0ffd2648be3ed7e72ff83620 Author: Johannes Berg Date: Fri Sep 25 14:24:25 2009 -0700 iwlwifi: default to using all chains When instructing the microcode to use just a single chain when we have power saving enabled, we should also tell the AP that we are doing SM powersave. However, using a single chain doesn't actually have any power saving advantage while idle -- measurements show that the power consumption is no different when using one vs. two or three chains. Therefore, always instruct the microcode to use all chains. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bddbab36d736c181678e07515aaa63045bdcea7 Author: Johannes Berg Date: Fri Sep 25 14:24:24 2009 -0700 iwlwifi: fix a typo We never have four chains, but let's fix the typo while we noticed it. You count 0, 1, 2, 3, not 0, 1, 2, 4 :) Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02f5dac08364d01a8b2c8e298b529b97f356b3f5 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:54 2009 -0700 iwlwifi: add LED mode to support different LED behavior Today's implementation allow LED to blink based on the traffic condition. We introduce an additional LED mode that reflects the RF state. The supported LED modes after this are: IWL_LED_BLINK (current/default) - blink rate based on current Tx/Rx traffic IWL_LED_RF_STATE (new) - LED OFF: No power/RF disabled, the LED is emitting no light LED ON: Powered/RF enabled, the LED is emitting light in a stable non-flashing state. In order to provide the flexibility to support different LED behavior per user/system preference we add "led_mode" iwlcore module parameter. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5953a62e7df064a5d7ba7e790d590f27c65ddf4c Author: Wey-Yi Guy Date: Thu Sep 17 10:43:53 2009 -0700 iwlwifi: update PCI Subsystem ID for 6000 series Update PCI Subsystem ID for 60x0 series based on HW SKU. Adding new SKU for "ABG" and "BG" only devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4bd0914fa2a09d655c54fb0355aed7f9182b2187 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:52 2009 -0700 iwlwifi: update PCI Subsystem ID for 1000 series Update PCI Subsystem ID for 1000 series based on HW SKU. Adding new SKU for "BG" only devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2f748deceee10bac563df0e859830cc628d1a841 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:51 2009 -0700 iwlwifi: send cmd to uCode to configure valid tx antenna In order for uCode to select the valid antennas for transmit, driver need to configure the allowed tx antennas through host command. The TX_ANT_CONFIGURATION_CMD should be used for 5000 series and up Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3949d62861b3fdef19e80080d670aa1153a23c4 Author: Daniel C Halperin Date: Thu Sep 17 10:43:50 2009 -0700 iwlwifi: add aggregation tables to the rate scaling algorithm Current rate scale algorithm fluctuates between different MIMO modes fairly rapidly, causing widely varying performance. These fluctuations occur because in the rate_scale tables for expected throughput the values are not very different for different modes. However, when aggregation is turned on and MAC overhead is reduced, the expected throughput for different MIMO modes grows and different modes have vastly different performance. Add expected throughput tables for this case. We also need to keep track of aggregation status per-station, so we add the "is_agg" field to struct lq_sta. Also includes cleanup of comments and variable names in/around the affected code. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 91a55ae60168847c3c8ab348f10d517407052b71 Author: Daniel C Halperin Date: Thu Sep 17 10:43:49 2009 -0700 iwlwifi: do not clear TX info flags when receiving BlockAckResponse OR-in AMPDU flags rather than assigning them. This lets the TX status for aggregated packets be processed by rs_tx_status. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 95407aa4d48a8b3a2adf6a110853b544342913bd Author: Daniel C Halperin Date: Thu Sep 17 10:43:48 2009 -0700 iwlwifi: clean up rs_tx_status Cut down on redundant code, reorganize structure, and add/improve comments. Should contain no functional changes. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e30cb691b9ba62642cc1594ef08f7439deb5a02 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:47 2009 -0700 iwlwifi: use S_IRUGO and S_IWUSR in module parameters Instead of hardcode module parameter's permissions, use pre-defined. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f4b9665032c4a1d60efd9ceaad2781cae6c7e92 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:46 2009 -0700 iwlwifi: EEPROM version for 1000 and 6000 series Update EEPROM version requirement for 1000 and 6000 series of NIC for EEPROM version verification. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 01abfbb282482d01e2ac2e6b00e75b248bf517c8 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:45 2009 -0700 iwlwifi: allow user change protection mechanism for HT Allow user to change protection mechanism for HT between RTS/CTS and CTS-to-self through sysfs: Show current protection mechanism for HT cat /sys/class/net/wlan0/device/rts_ht_protection Change protection mechanism for HT (only allowed while not-associated) CTS-to-self: echo 0 > /sys/class/net/wlan0/device/rts_ht_protection RTS/CTS: echo 1 > /sys/class/net/wlan0/device/rts_ht_protection Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47eef9bd1079edbc3e6606309c733a2316ca5a72 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:44 2009 -0700 iwlwifi: Use RTS/CTS as the preferred protection mechanism for 6000 series When 802.11g was introduced, we had RTS/CTS and CTS-to-Self protection mechanisms. In an HT Beacon, HT stations use the "Operating Mode" field in the HT Information Element to determine whether or not to use protection. The Operating Mode field has 4 possible settings: 0-3: Mode 0: If all stations in the BSS are 20/40 MHz HT capable, or if the BSS is 20/40 MHz capable, or if all stations in the BSS are 20 MHz HT stations in a 20 MHz BSS Mode 1: used if there are non-HT stations or APs using the primary or secondary channels Mode 2: if only HT stations are associated in the BSS and at least one 20 MHz HT station is associated. Mode 3: used if one or more non-HT stations are associated in the BSS. When in operating modes 1 or 3, and the Use_Protection field is 1 in the Beacon's ERP IE, all HT transmissions must be protected using RTS/CTS or CTS-to-Self. By default, CTS-to-self is the preferred protection mechanism for less overhead and higher throughput; but using the full RTS/CTS will better protect the inner exchange from interference, especially in highly-congested environment. For 6000 series WIFI NIC, RTS/CTS protection mechanism is the recommended choice for HT traffic based on the HW design. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02bb1bea85e6570b4e64825026382556970b9296 Author: Johannes Berg Date: Fri Sep 11 10:38:17 2009 -0700 iwlwifi: clarify and clean up chain settings The chain settings we currently use in iwlwifi are rather confusing -- and we also go by the wrong settings entirely under certain circumstances. To clean it up, create a new variable in the current HT config -- single_chain_sufficient -- that tells us whether we need more than one chain. Calculate that based on the AP and operating mode (no IBSS HT implemented -- so no need for multiple chains, for station mode we use the AP's capabilities). Additionally, since APs always send disabled SM PS mode, keeping track of their sm_ps mode isn't very useful -- doubly not so for our _own_ RX config since that should depend on our, not the AP's, SM PS mode. Finally, document that our configuration of the number of RX chains used is currently wrong when in powersave (by adding a comment). All together this removes the two remaining items in struct iwl_ht_config that were done wrong there. For the future, the number of RX chains and some SM PS handshaking needs to be added to mac80211, which then needs to tell us, and the new variable current_ht_config.single_chain_sufficient should also be calculated by mac80211. Signed-off-by: Johannes Berg Acked-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e307ddce394ee7bcec41fb74330ac89eafaea1d9 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:16 2009 -0700 iwlwifi: show NVM version in debugfs Show version number along with dumping NVM data, the version information being removed from sysfs, add it back to debugfs to help debugging. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fad95bf59bf14f72e7d45d3887044e88b8584637 Author: Johannes Berg Date: Fri Sep 11 10:38:15 2009 -0700 iwlwifi: clean up ht config naming Daniel Halperin pointed out that the naming here is rather inconsistent with at least 3 different names being used for one thing in different contexts. Rename the struct to iwl_ht_config (rather than iwl_ht_info) and use ht_conf as a variable for it. Signed-off-by: Johannes Berg Acked-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f2d0d0e2bab7a325071dbaba3bef51c90868e1e6 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:14 2009 -0700 iwlwifi: Adjust blink rate to compensate Clock difference Adjust led blink rate to compensate on a MAC Clock difference on every HW. Led blink rate analysis showed an average deviation of 0% on 3945, 5% on 4965 HW and 20% on 5000 series and up. Need to compensate on the led on/off time per HW according to the deviation to achieve the desired led frequency The calculation is: (100-averageDeviation)/100 * blinkTime For code efficiency the calculation will be: compensation = (100 - averageDeviation) * 64 / 100 NewBlinkTime = (compensation * BlinkTime) / 64 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c812ee24855e20f43cf211e51e3eb53fe6dc6f1d Author: Johannes Berg Date: Fri Sep 11 10:38:13 2009 -0700 iwlwifi: clean up ht config a little is_ht can be bool instead of u8, and there's no need to use IWL_CHANNEL_WIDTH_* constants in supported_chan_width when that could just be named is_40mhz instead. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f3a2a42470c1c362b9a7b4e933a15a274d4b090e Author: Wey-Yi Guy Date: Fri Sep 11 10:38:11 2009 -0700 iwlwifi: separate set_hw_params function for 6000 series Separate set_hw_params() function for 6000 series from 5000/1000 series because: 1) 6000 series use different set of sensitivity range table 2) 6000 series has different uCode image size Also include the new sensitivity parameters needed by sensitivity algorithm. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9371d4ed79c1c2efefa00226f7f6b95e0e0b8f2b Author: Wey-Yi Guy Date: Fri Sep 11 10:38:10 2009 -0700 iwlwifi: separate nic_config for different NIC Different NIC has different requirements for configuration. Currently all 5000 series hardware and later share the same configuration function even though they do not need the same configurations. Fix this by separating the needed configuration actions for each hardware model. .5000 series: L1-ASPM H/W bug work-around configure radio write CSR_HW_IF_CONFIG_REG for uCode use work-around for NIC get stuck after early PCIe power off .1000 series: write CSR_HW_IF_CONFIG_REG for uCode use setting digital SVR for 1000 card to 1.32V .6000 series: configure radio write CSR_HW_IF_CONFIG_REG for uCode use write CSR_GP_DRIVER_REG to indicate radio sku Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1b07a1307250e55fe00c076b33d0ab5ac088a489 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:09 2009 -0700 iwlwifi: remove un-supported eeprom parameters Remove few of the parameters not used and no longer valid in EEPROM. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85fecff155ed2ba0cccd618ab92d5b4e7d69cd5d Author: Wey-Yi Guy Date: Fri Sep 11 10:38:07 2009 -0700 iwlwifi: modify LED blink index table Modify LED blink index table to include 1Mbps. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2ddb5c8b8739ec054d22ef8efd9bf04cac12a36c Author: Luis R. Rodriguez Date: Mon Sep 14 02:09:38 2009 -0700 ath9k: make ath9k_common_ops const As noted by Jiri. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5bb127913299b37fceecf66ce86ee8ede70e7d13 Author: Luis R. Rodriguez Date: Mon Sep 14 00:55:09 2009 -0700 atheros: move bus ops to ath_common This is the last part to make ath9k hw code core driver agnostic. I believe ath9k_htc can now use use the hw code unmodified. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 990b70ab24cbce585a3436c8c88cb48b888d48b4 Author: Luis R. Rodriguez Date: Sun Sep 13 23:55:05 2009 -0700 ath9k: move ATH9K_RSSI_BAD to hw.h mac.c is now core driver independent. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cfe8cba982cda73d4970dab712411bebdcc3b9cd Author: Luis R. Rodriguez Date: Sun Sep 13 23:39:31 2009 -0700 ath9k: clarify what hw code is and remove ath9k.h from a few files hw code will be shared between ath9k and ath9k_htc. Just a few more files are left to clean up, mark them as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9680e8a391078a2bfa099b2c59542a6916a023ed Author: Luis R. Rodriguez Date: Sun Sep 13 23:28:00 2009 -0700 ath9k: remove driver ASSERT, just use BUG_ON() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e3d01bfc3ea4f17c9e91bb930f10062efb0c86eb Author: Luis R. Rodriguez Date: Sun Sep 13 23:11:13 2009 -0700 ath9k: move ATH_AMPDU_LIMIT_MAX to hw.h This is used by hw code. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 25c56eec92b15fdec5be96fa1303dac3443200ae Author: Luis R. Rodriguez Date: Sun Sep 13 23:04:44 2009 -0700 ath9k: remove ath9k_ht_macmode This is used just to determine how to program the MAC, either for 20 MHz operation of 40 MHz so just use conf_is_ht40() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6420014ca4a6b0e853c9a19a8649d93682a5bdac Author: Luis R. Rodriguez Date: Sun Sep 13 22:05:04 2009 -0700 ath9k: remove ath9k 25 MHz HT40 spacing stuff This was for supporting 25 MHz spacing for HT40, this is not used as we use 20 MHz spacing instead for HT40 as per 802.11n. The hardware is capable of it though so we leave the phymode definition and EEPROM parsing for it. If some experimenter wants to work on this stuff stuff you can add an extension enabling bool on ath_common and perhaps some debugfs knob to enable it. Keep in mind you'll also need to update the phymode with the AR_PHY_FC_DYN2040_EXT_CH which has been left on the driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 43c2761364b77cd7fd20eb1f14cfee4cd1462abd Author: Luis R. Rodriguez Date: Sun Sep 13 21:07:07 2009 -0700 atheros: move tx/rx chainmask to ath_common Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c46917bb53a546f60c7d3103407fe953c418dd5b Author: Luis R. Rodriguez Date: Sun Sep 13 02:42:02 2009 -0700 atheros: add common debug printing ath9k uses this for now, ath9k_htc is expected to re-use this as well. We lave ath5k as is, but it certainly can also be converted later. The ath9k module parameter and debugfs entry is kept. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cd9bf689600e62d84449d65b3d25fb6d2757589e Author: Luis R. Rodriguez Date: Sun Sep 13 02:08:34 2009 -0700 ath9k: separate core driver and hw timer code Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b002a4a950e41326310795cf4a0c74d0e90fa70a Author: Luis R. Rodriguez Date: Sun Sep 13 00:03:27 2009 -0700 atheros: add ieee80211_hw to ath_common Make use of it on hw code in ath9k to avoid using the ath9k ath_softc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 13b81559200b8e54473e5b140323cbb5f2bb21c0 Author: Luis R. Rodriguez Date: Thu Sep 10 17:52:45 2009 -0700 atheros: define shared bssidmask setting Also make ath5k and ath9k use it, and share register definitions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e5aa847489e543e33a7c72898e72183871ce2916 Author: Luis R. Rodriguez Date: Thu Sep 10 16:55:11 2009 -0700 ath5k: define ath_common ops Only common ath read/write ops go through the common ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9adca126dbf4bf099bc7051deb6b566725a046dc Author: Luis R. Rodriguez Date: Thu Sep 10 18:04:47 2009 -0700 ath5k: allocate ath5k_hw prior to initializing hw We can propagate better errors upon failed hw initialization, and set up the ath_common structure for attach purposes. This will become important once we start using the ath_common for read/write ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9e4bffd233f27fe83fc48efb01935aee7d0685bf Author: Luis R. Rodriguez Date: Thu Sep 10 16:11:21 2009 -0700 atheros/ath9k: add common read/write ops and port ath9k to use it In an effort to make hw code driver core agnostic read and write operations are defined on the ath_common structure. This patch adds that and makes ath9k use it. This allows drivers like ath9k_htc to define its own read/write ops and still rely on the same hw code. This also paves the way for sharing code between ath9k/ath5k/ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 867633f026456ff71d4c4890f502c7a61b2adac0 Author: Luis R. Rodriguez Date: Thu Sep 10 12:12:23 2009 -0700 ath9k: Define bus agnostic bluetooth coex prep helper We disable ASPM when enabling bluetooth coexistance. Disabling ASPM is a bus specific operation. In the future other buses may support bluetooth coexistance, an example is USB. To this end move the current routine which disables ASPM into pci.c, and declare it the PCI bt_coex_prep() helper. Additionally, since ASPM is a PCI-Express primitive ensure we don't ever try to muck with ASPM registers on non PCI-express devices. This also cleans up hw.c to not include bus specific headers or utilities. Cc: Vasanthakumar Thiagarajan Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db7197184802578314d974e4b2bc961bdcec8f8c Author: Luis R. Rodriguez Date: Thu Sep 10 11:20:57 2009 -0700 ath5k: move ath_common to ath5k_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 27c51f1a349f3e4eb9c1d6d3a548eafe1828cc7a Author: Luis R. Rodriguez Date: Thu Sep 10 11:08:14 2009 -0700 ath9k: move ath_common to ath_hw This ensures that we can access common on hw related code independent of the driver core. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 394317fc793eb25dbbda4432d29d97cd80f3b561 Author: Luis R. Rodriguez Date: Thu Sep 10 10:57:00 2009 -0700 ath5k: initialize eeprom struct early on attach This fixes this sparse warning: CHECK drivers/net/wireless/ath/ath5k/attach.c drivers/net/wireless/ath/ath5k/attach.c:288:42: warning: symbol 'ee' shadows an earlier one drivers/net/wireless/ath/ath5k/attach.c:109:34: originally declared here Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 954fecea5d1df4d1dc7bf9a822a2fad308e8588e Author: Luis R. Rodriguez Date: Thu Sep 10 10:51:33 2009 -0700 ath5k: use common curbssid, bssidmask and macaddr The ah_sta_id was really being used as the macaddr. ath5k still does not use the association ID now passed up by mac80211, that can be fixed later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c727e70860dab0cf34a68591cd3f2043a9b9757 Author: Luis R. Rodriguez Date: Thu Sep 10 10:10:54 2009 -0700 ar9170: make use of common macaddr and curbssid These are provided by ath_common. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1510718d0fd6e20803aac95fe1d8a44846098a34 Author: Luis R. Rodriguez Date: Thu Sep 10 09:22:37 2009 -0700 atheros/ath9k: move macaddr, curaid, curbssid and bssidmask to common These are common amongst ath9k and ath5k, so put them into the common structure and make ath9k to use it. ar9170 can use macaddr, and curbssid. We'll change ath5k and ar9170 separately. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3453ad8839ca91e1c11211d4d87dc3657c5a2b44 Author: Luis R. Rodriguez Date: Thu Sep 10 08:57:00 2009 -0700 ath9k: use ath9k_hw_write_associd() on reset Use the already provided helper instead of rewriting the code required in place. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7664072b7937d0bd5563800359e04ff4418572e0 Author: Luis R. Rodriguez Date: Thu Sep 10 08:54:56 2009 -0700 ath9k: Use ath9k_hw_setbssidmask() on reset The same code was being implemented on reset for setting the bssidmask, instead just use the already provided helper. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f2b2143e60651228945f361c09de7ee752360cd1 Author: Luis R. Rodriguez Date: Thu Sep 10 08:50:20 2009 -0700 ath9k: make ath9k_hw_setbssidmask() and ath9k_hw_write_associd() use ath_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bcd8f54a84ce99ade91c250a9bc850a9fd3389c1 Author: Luis R. Rodriguez Date: Wed Sep 9 22:43:17 2009 -0700 atheros: use get_unaligned_le*() for bssid mask setting Historically some macro helpers have been users for this, AR5K_LOW_ID() and AR5K_HIGH_ID(), use upstream unaligned helpers instead. This applid to ath5k and ar9170. ath9k already uses this. Worth noting is ath5k uses an ah_sta_id but that is already the MAC address combined with the associaiton ID, ah_sta_id is really ETH_ALEN in size. Cc: Bob Copeland Cc: Nick Kossifidis Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 17753748e15eaf29c8db15c5c05b8dde5db6e64d Author: Luis R. Rodriguez Date: Wed Sep 9 22:19:26 2009 -0700 ath: move ath_bcast_mac to common header This is used by both ath5k and ath9k to set the first bssid mask. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9ecdef4be864fede4e5964abc82c8d7451288539 Author: Luis R. Rodriguez Date: Wed Sep 9 21:10:09 2009 -0700 ath9k: rename driver core and hw power save helpers ath9k_hw_setpower_nolock --> ath9k_hw_setpower() ath9k_hw_setpower() --> ath9k_setpower() Also change the param for ath9k_setpower() to pass the ath_softc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c77a5694cd31eb2291948dd1bfe700a199be8e7 Author: Luis R. Rodriguez Date: Wed Sep 9 21:02:34 2009 -0700 ath9k: move ath9k_hw_setpower() to main.c And we make it static. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1adc93c832726c9de4a43445c008a7f17549390b Author: Luis R. Rodriguez Date: Wed Sep 9 20:54:36 2009 -0700 ath9k: avoid usage of ath9k_hw_setpower() on hw.c ath9k_hw_setpower() is a core driver helper with locking protection. Locking protection should be left to the driver core, not the hw code. Hardware code no longer contends for locking when it needs to wake up the chip or put it to sleep. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a91d75aec19d8d23c7c543dd4bc0e394e1d46867 Author: Luis R. Rodriguez Date: Wed Sep 9 20:29:18 2009 -0700 ath9k: move ath9k_ps_wakeup() and ath9k_ps_restore() to main.c These are driver core helpers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 21526d57ad98635fe12dc8efe46a3d992439a443 Author: Luis R. Rodriguez Date: Wed Sep 9 20:05:39 2009 -0700 ath9k: move ps helpers onto core driver when reseting tsf When the TSF is reset power save state is disabled and then restored. The helpers to disable power save and restore it use a lock provided by the driver core. Move the callers of the helpers outside of the hw code. We reset the TSF when mac80211 tells us and on the beacon.c helper ath9k_hw_beaconinit() when it is made explicitly required. Add a helper on beacon.c which will deal with ps awake/restore if we need to reset the TSF upon ath9k_hw_beaconinit(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a36cfbca21d0acbab0840337f0b59ea58f415e50 Author: Luis R. Rodriguez Date: Wed Sep 9 16:05:32 2009 -0700 ath9k: rename ath_btcoex_supported() to ath9k_hw_btcoex_supported() Also just pass the ath_hw as the parameter. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8b4fc5ba896cd1b73c598d07fc51224abbfe8cdb Author: Luis R. Rodriguez Date: Wed Sep 9 15:24:02 2009 -0700 ath9k: move ath_btcoex_config and ath_bt_mode to btcoex.c These are only used by btcoex.c on one routine, so stuff them into that file. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5e1972929532bfc3a26b1782c8551d3c56306ffd Author: Luis R. Rodriguez Date: Wed Sep 9 15:15:55 2009 -0700 ath9k: now move ath9k_hw_btcoex_set_weight() to btcoex.c After some necessary cleanups we now move ath9k_hw_btcoex_set_weight() to where it belongs. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 269ad8120b2e1f01a7bcea4bdb175142a0e62171 Author: Luis R. Rodriguez Date: Wed Sep 9 15:05:00 2009 -0700 ath9k: simplify ath_btcoex_bt_stomp() The second argument is always the hardware bt coex struct, so remove it, and rename the function on the path with a ath9k_ prefix. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 766ec4a9a813ae262b61842020f150f865c1b10a Author: Luis R. Rodriguez Date: Wed Sep 9 14:52:02 2009 -0700 ath9k: rename ath_btcoex_info to ath_btcoex_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 46289e1e5f2155ba1502b079e786e91755919823 Author: Luis R. Rodriguez Date: Wed Sep 9 14:34:22 2009 -0700 ath9k: rename btcoex_scheme to just scheme btcoex_scheme is already part of a btcoex struct, its implied this is btcoex related. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 05a0b3c9200f4677097937efe634204044c4b4dc Author: Luis R. Rodriguez Date: Wed Sep 9 14:31:24 2009 -0700 ath9k: remove unused bt_duty_cycle Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e08a6ace7db089dc111c6d0abe9278226c39b7b0 Author: Luis R. Rodriguez Date: Wed Sep 9 14:26:15 2009 -0700 ath9k: move bt_stomp_type to driver core The bt_stomp_type defines the bt coex weight, it has a one-to-one mapping. In the future we may want to just use the weight directly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c1b39547e2562f9aa0cc00b1a7d4cc325a46a4c Author: Luis R. Rodriguez Date: Wed Sep 9 13:44:23 2009 -0700 ath9k: replaces SC_OP_BTCOEX_ENABLED with a bool Whether or not bluetooth coex has been enabled is a hardware state and only the hardware helpers will be able to set this. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bc74bf8fc382b30df24c4e280fb84f3b1303958f Author: Luis R. Rodriguez Date: Wed Sep 9 04:17:45 2009 -0700 ath9k: split ath9k_hw_btcoex_enable() into two helpers One for 2-wire and another for 3-wire. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 75d7839f4c4ca472bcf0b71f6f682957e19f777a Author: Luis R. Rodriguez Date: Wed Sep 9 04:00:10 2009 -0700 ath9k: move driver core helpers to main.c Keep on btcoex.c only hardware access helpers, move the driver core specific code to main.c. To accomplish this we had to split ath_init_btcoex_info() into two parts, the driver core part -- ath_init_btcoex_timer() and the hw specific part -- ath9k_hw_init_btcoex_hw_info(). This highlights how ath_gen_timer is part of the driver core, not hw related, so stuff that into ath_btcoex struct. The ath9k_hw_btcoex_init() code is now put inline on ath_init_softc() through a switch to it easier to follow, since we did that we can now call ath_tx_get_qnum() from the main.c instead of btcoex.c Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7a2f0f58c865be9217356528ab6cf73feb35cb07 Author: Luis R. Rodriguez Date: Wed Sep 9 02:54:40 2009 -0700 ath9k: split bluetooth hardware coex init into two helpers Use a helper for 2-wire and another for 3-wire. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit af03abecd8e3646736904431f3335dad5e28cb8d Author: Luis R. Rodriguez Date: Wed Sep 9 02:33:11 2009 -0700 ath9k: move hw specific btcoex info to ath_hw Since we now access it via the ath_hw declare the ath_hw pointer at the header of some routines and se it. ath9k.h no longer needs to access btcoex.h and to adjust for this move ath_btcoex_set_weight() into btcoex.h and instead give main.c a helper for setting initial values upon drv_start() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2e20250a2ce1f4a7ba7c83ccb62d9b7b9b96c736 Author: Luis R. Rodriguez Date: Wed Sep 9 01:18:09 2009 -0700 ath9k: move btcoex core driver info to its own struct There is some bluetooth coexistance data which is driver specific, stuff that into its own structure. Cc: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4d6b228d84ba992ee13c90312c1ed539191c94b1 Author: Luis R. Rodriguez Date: Mon Sep 7 04:52:26 2009 -0700 ath9k: use ath_hw for DPRINTF() and debug init/exit DPRINTF() is used in hw specific related code, as such ensure we don't rely on the private driver core ath_softc struct when calling it. Drivers can then implement their own DPRINTF() as they see fit. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 132cc538cd90f60a0b5df6a512dfd4bc5fe2039a Author: Randy Dunlap Date: Wed Oct 7 19:26:00 2009 +0200 drbd: needs __ratelimit() drbd_int.h uses __ratelimit(), so it needs to #include ratelimit.h: drivers/block/drbd/drbd_int.h:1765: error: implicit declaration of function '__ratelimit' Signed-off-by: Randy Dunlap Cc: drbd-dev@lists.linbit.com Signed-off-by: Jens Axboe commit 941fc5b2bf8f7dd1d0a9c502e152fa719ff6578e Author: Stephen Smalley Date: Thu Oct 1 14:48:23 2009 -0400 selinux: drop remapping of netlink classes Drop remapping of netlink classes and bypass of permission checking based on netlink message type for policy version < 18. This removes compatibility code introduced when the original single netlink security class used for all netlink sockets was split into finer-grained netlink classes based on netlink protocol and when permission checking was added based on netlink message type in Linux 2.6.8. The only known distribution that shipped with SELinux and policy < 18 was Fedora Core 2, which was EOL'd on 2005-04-11. Given that the remapping code was never updated to address the addition of newer netlink classes, that the corresponding userland support was dropped in 2005, and that the assumptions made by the remapping code about the fixed ordering among netlink classes in the policy may be violated in the future due to the dynamic class/perm discovery support, we should drop this compatibility code now. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 8753f6bec352392b52ed9b5e290afb34379f4612 Author: Stephen Smalley Date: Wed Sep 30 13:41:02 2009 -0400 selinux: generate flask headers during kernel build Add a simple utility (scripts/selinux/genheaders) and invoke it to generate the kernel-private class and permission indices in flask.h and av_permissions.h automatically during the kernel build from the security class mapping definitions in classmap.h. Adding new kernel classes and permissions can then be done just by adding them to classmap.h. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit c6d3aaa4e35c71a32a86ececacd4eea7ecfc316c Author: Stephen Smalley Date: Wed Sep 30 13:37:50 2009 -0400 selinux: dynamic class/perm discovery Modify SELinux to dynamically discover class and permission values upon policy load, based on the dynamic object class/perm discovery logic from libselinux. A mapping is created between kernel-private class and permission indices used outside the security server and the policy values used within the security server. The mappings are only applied upon kernel-internal computations; similar mappings for the private indices of userspace object managers is handled on a per-object manager basis by the userspace AVC. The interfaces for compute_av and transition_sid are split for kernel vs. userspace; the userspace functions are distinguished by a _user suffix. The kernel-private class indices are no longer tied to the policy values and thus do not need to skip indices for userspace classes; thus the kernel class index values are compressed. The flask.h definitions were regenerated by deleting the userspace classes from refpolicy's definitions and then regenerating the headers. Going forward, we can just maintain the flask.h, av_permissions.h, and classmap.h definitions separately from policy as they are no longer tied to the policy values. The next patch introduces a utility to automate generation of flask.h and av_permissions.h from the classmap.h definitions. The older kernel class and permission string tables are removed and replaced by a single security class mapping table that is walked at policy load to generate the mapping. The old kernel class validation logic is completely replaced by the mapping logic. The handle unknown logic is reworked. reject_unknown=1 is handled when the mappings are computed at policy load time, similar to the old handling by the class validation logic. allow_unknown=1 is handled when computing and mapping decisions - if the permission was not able to be mapped (i.e. undefined, mapped to zero), then it is automatically added to the allowed vector. If the class was not able to be mapped (i.e. undefined, mapped to zero), then all permissions are allowed for it if allow_unknown=1. avc_audit leverages the new security class mapping table to lookup the class and permission names from the kernel-private indices. The mdp program is updated to use the new table when generating the class definitions and allow rules for a minimal boot policy for the kernel. It should be noted that this policy will not include any userspace classes, nor will its policy index values for the kernel classes correspond with the ones in refpolicy (they will instead match the kernel-private indices). Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 78122a52b39c9527fa3a32afbb6572964c17c651 Author: Ajit Khaparde Date: Wed Oct 7 03:11:20 2009 -0700 be2net: Get rid of net_device_stats from adapter. adapter doesnot need to maintain a copy of net_device_stats. Use the one already available in net_device. This patch takes care of the same. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 32953543221cfe2bf0a24205fab225e5b8ed81a0 Author: Stephen Hemminger Date: Mon Oct 5 06:01:03 2009 +0000 dcb: data center bridging ops should be r/o The data center bridging ops structure can be const Signed-off-by: Stephen Hemminger Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f Author: Stephen Hemminger Date: Mon Oct 5 05:58:39 2009 +0000 net: mark net_proto_ops as const All usages of structure net_proto_ops should be declared const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50 Author: Octavian Purdila Date: Fri Oct 2 11:39:15 2009 +0000 make TLLAO option for NA packets configurable On Friday 02 October 2009 20:53:51 you wrote: > This is good although I would have shortened the name. Ah, I knew I forgot something :) Here is v4. tavi >From 24d96d825b9fa832b22878cc6c990d5711968734 Mon Sep 17 00:00:00 2001 From: Octavian Purdila Date: Fri, 2 Oct 2009 00:51:15 +0300 Subject: [PATCH] ipv6: new sysctl for sending TLLAO with unicast NAs Neighbor advertisements responding to unicast neighbor solicitations did not include the target link-layer address option. This patch adds a new sysctl option (disabled by default) which controls whether this option should be sent even with unicast NAs. The need for this arose because certain routers expect the TLLAO in some situations even as a response to unicast NS packets. Moreover, RFC 2461 recommends sending this to avoid a race condition (section 4.4, Target link-layer address) Signed-off-by: Cosmin Ratiu Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 51953d5bc43e468f24cc573a45cde1d32af129b8 Author: Brian Haley Date: Mon Oct 5 08:24:16 2009 +0000 Use sk_mark for IPv6 routing lookups Atis Elsts wrote: > Not sure if there is need to fill the mark from skb in tunnel xmit functions. In any case, it's not done for GRE or IPIP tunnels at the moment. Ok, I'll just drop that part, I'm not sure what should be done in this case. > Also, in this patch you are doing that for SIT (v6-in-v4) tunnels only, and not doing it for v4-in-v6 or v6-in-v6 tunnels. Any reason for that? I just sent that patch out too quickly, here's a better one with the updates. Add support for IPv6 route lookups using sk_mark. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit d73d3a8cb4723e161589864741d8528d70b350eb Author: Ben Hutchings Date: Mon Oct 5 10:59:58 2009 +0000 ethtool: Add reset operation After updating firmware stored in flash, users may wish to reset the relevant hardware and start the new firmware immediately. This should not be completely automatic as it may be disruptive. A selective reset may also be useful for debugging or diagnostics. This adds a separate reset operation which takes flags indicating the components to be reset. Drivers are allowed to reset only a subset of those requested, and must indicate the actual subset. This allows the use of generic component masks and some future expansion. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d250a5f90e53f5e150618186230795352d154c88 Author: Eric Dumazet Date: Fri Oct 2 10:32:18 2009 +0000 pkt_sched: gen_estimator: Dont report fake rate estimators Jarek Poplawski a écrit : > > > Hmm... So you made me to do some "real" work here, and guess what?: > there is one serious checkpatch warning! ;-) Plus, this new parameter > should be added to the function description. Otherwise: > Signed-off-by: Jarek Poplawski > > Thanks, > Jarek P. > > PS: I guess full "Don't" would show we really mean it... Okay :) Here is the last round, before the night ! Thanks again [RFC] pkt_sched: gen_estimator: Don't report fake rate estimators We currently send TCA_STATS_RATE_EST elements to netlink users, even if no estimator is running. # tc -s -d qdisc qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 112833764978 bytes 1495081739 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 User has no way to tell if the "rate 0bit 0pps" is a real estimation, or a fake one (because no estimator is active) After this patch, tc command output is : $ tc -s -d qdisc qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 561075 bytes 1196 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 We add a parameter to gnet_stats_copy_rate_est() function so that it can use gen_estimator_active(bstats, r), as suggested by Jarek. This parameter can be NULL if check is not necessary, (htb for example has a mandatory rate estimator) Signed-off-by: Eric Dumazet Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 92d326f61b553250780786e9dd8609d4b32f8de7 Author: Tilman Schmidt Date: Thu Oct 1 04:28:44 2009 +0000 net/ppp: fix comments - ppp_{sync,asynctty}_receive() may sleep The receive_buf methods of the N_PPP and N_SYNC_PPP line disciplines, ppp_asynctty_receive() and ppp_sync_receive(), call tty_unthrottle() which may sleep. Fix the comments claiming otherwise. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit a549952ad323d68daf5b50bf716db895479af84c Author: Jiri Pirko Date: Fri Sep 25 03:28:09 2009 +0000 bonding: introduce primary_reselect option In some cases there is not desirable to switch back to primary interface when it's link recovers and rather stay with currently active one. We need to avoid packetloss as much as we can in some cases. This is solved by introducing primary_reselect option. Note that enslaved primary slave is set as current active no matter what. Patch modified by Jay Vosburgh as follows: fixed bug in action after change of option setting via sysfs, revised the documentation update, and bumped the bonding version number. Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 2d37a186cedc51502dbee71c16ae0fbd9114d62c Author: Eric Dumazet Date: Thu Oct 1 19:14:46 2009 +0000 Use sk_mark for routing lookup in more places Here is a followup on this area, thanks. [RFC] af_packet: fill skb->mark at xmit skb->mark may be used by classifiers, so fill it in case user set a SO_MARK option on socket. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fa857afcf77da669eb6b7031ec07ad14b912c307 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Sep 22 23:43:14 2009 +0000 ipv6 sit: 6rd (IPv6 Rapid Deployment) Support. IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly deploy IPv6 unicast service to IPv4 sites to which it provides customer premise equipment. Like 6to4, it utilizes stateless IPv6 in IPv4 encapsulation in order to transit IPv4-only network infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 prefix of its own in place of the fixed 6to4 prefix. With this option enabled, the SIT driver offers 6rd functionality by providing additional ioctl API to configure the IPv6 Prefix for in stead of static 2002::/16 for 6to4. Original patch was done by Alexandre Cassen based on old Internet-Draft. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ee5e81f00051b5c373c8de16e3604fd6d3be699e Author: Ilia K Date: Wed Sep 16 05:53:07 2009 +0000 add vif using local interface index instead of IP When routing daemon wants to enable forwarding of multicast traffic it performs something like: struct vifctl vc = { .vifc_vifi = 1, .vifc_flags = 0, .vifc_threshold = 1, .vifc_rate_limit = 0, .vifc_lcl_addr = ip, /* <--- ip address of physical interface, e.g. eth0 */ .vifc_rmt_addr.s_addr = htonl(INADDR_ANY), }; setsockopt(fd, IPPROTO_IP, MRT_ADD_VIF, &vc, sizeof(vc)); This leads (in the kernel) to calling vif_add() function call which search the (physical) device using assigned IP address: dev = ip_dev_find(net, vifc->vifc_lcl_addr.s_addr); The current API (struct vifctl) does not allow to specify an interface other way than using it's IP, and if there are more than a single interface with specified IP only the first one will be found. The attached patch (against 2.6.30.4) allows to specify an interface by its index, instead of IP address: struct vifctl vc = { .vifc_vifi = 1, .vifc_flags = VIFF_USE_IFINDEX, /* NEW */ .vifc_threshold = 1, .vifc_rate_limit = 0, .vifc_lcl_ifindex = if_nametoindex("eth0"), /* NEW */ .vifc_rmt_addr.s_addr = htonl(INADDR_ANY), }; setsockopt(fd, IPPROTO_IP, MRT_ADD_VIF, &vc, sizeof(vc)); Signed-off-by: Ilia K. === modified file 'include/linux/mroute.h' Signed-off-by: David S. Miller commit 03456a158d9067d2f657bec170506009db81756d Author: Frederic Weisbecker Date: Tue Oct 6 23:36:47 2009 +0200 perf tools: Merge trace.info content into perf.data This drops the trace.info file and move its contents into the common perf.data file. This is done by creating a new trace_info section into this file. A user of perf headers needs to call perf_header__set_trace_info() to save the trace meta informations into the perf.data file. A file created by perf after his patch is unsupported by previous version because the size of the headers have increased. That said, it's two new fields that have been added in the end of the headers, and those could be ignored by previous versions if they just handled the dynamic header size and then ignore the unknow part. The offsets guarantee the compatibility. We'll do a -stable fix for that. But current previous versions handle the header size using its static size, not dynamic, then it's not backward compatible with trace records. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <20091006213643.GA5343@nowhere> Signed-off-by: Ingo Molnar commit b209aa1f83964d49a332a7b6b818ebede5cdc6ef Author: Frederic Weisbecker Date: Tue Oct 6 21:21:26 2009 +0200 perf tools: Start the perf.data mapping at data offset in perf trace Currently, we are mapping perf.data in the beginning of the file and use the data offset as a buffer offset. This may exceed the mapping area if the data offset is upper than page_size * mmap_window and result in a page fault (thing that happen if we merge trace.info in perf.data). Instead, let's start the mapping in the page that matches our data offset. v2: Drop a junk from another patch (trace_report() removal) Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Tom Zanussi LKML-Reference: <1254856886-10348-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7bb5fdc2fb021e32703ed1ff0269876bde1fa962 Author: Tilman Schmidt Date: Tue Oct 6 12:19:17 2009 +0000 gigaset: add Kernel CAPI interface (v3) Add a Kernel CAPI interface to the Gigaset driver. Impact: optional new functionality Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit aaba2b3f8213e1d66e71c351fa7a2b1cbd974d3c Author: Tilman Schmidt Date: Tue Oct 6 12:19:12 2009 +0000 gigaset: allow building without I4L Add a dummy LL interface to the Gigaset driver so that it can be built and, in a limited way, used without the ISDN4Linux subsystem. Impact: new configuration alternative Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 088ec0cc96e2befd5f3c035123f95c17bdf26e64 Author: Tilman Schmidt Date: Tue Oct 6 12:19:07 2009 +0000 gigaset: prepare for CAPI implementation Reorganize the code of the Gigaset driver, moving all isdn4linux dependencies to the source file i4l.c so that it can be replaced by a file capi.c interfacing to Kernel CAPI instead. Impact: refactoring, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7ecc59c1b7fd5749667fc31f8683099cbef38977 Merge: bcdce71 1cec972 Author: David S. Miller Date: Tue Oct 6 22:43:16 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit bcdce7195e0eab55b37dbd53be53057f38006380 Author: Eric Dumazet Date: Tue Oct 6 17:28:29 2009 -0700 net: speedup sk_wake_async() An incoming datagram must bring into cpu cache *lot* of cache lines, in particular : (other parts omitted (hash chains, ip route cache...)) On 32bit arches : offsetof(struct sock, sk_rcvbuf) =0x30 (read) offsetof(struct sock, sk_lock) =0x34 (rw) offsetof(struct sock, sk_sleep) =0x50 (read) offsetof(struct sock, sk_rmem_alloc) =0x64 (rw) offsetof(struct sock, sk_receive_queue)=0x74 (rw) offsetof(struct sock, sk_forward_alloc)=0x98 (rw) offsetof(struct sock, sk_callback_lock)=0xcc (rw) offsetof(struct sock, sk_drops) =0xd8 (read if we add dropcount support, rw if frame dropped) offsetof(struct sock, sk_filter) =0xf8 (read) offsetof(struct sock, sk_socket) =0x138 (read) offsetof(struct sock, sk_data_ready) =0x15c (read) We can avoid sk->sk_socket and socket->fasync_list referencing on sockets with no fasync() structures. (socket->fasync_list ptr is probably already in cache because it shares a cache line with socket->wait, ie location pointed by sk->sk_sleep) This avoids one cache line load per incoming packet for common cases (no fasync()) We can leave (or even move in a future patch) sk->sk_socket in a cold location Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bd32cafc4707ccc1e66fafdb47fac42217569070 Author: Sreenivasa Honnur Date: Mon Oct 5 01:59:41 2009 +0000 vxge: Version update. - Version Update. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit eb5f10c21badd967aa466fd4f7eddfc724c8cb64 Author: Sreenivasa Honnur Date: Mon Oct 5 01:57:29 2009 +0000 vxge: Allow multiple functions with INTA. - Allow multiple functions with INTA. - Removed the condition to allow only one vpath with INTA - Ensure that the alarm bit in titan_mask_all_int register is cleared when driver exits. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit fa41fd10038ab575f043a62dace374e07e9193de Author: Sreenivasa Honnur Date: Mon Oct 5 01:56:35 2009 +0000 vxge: Check if FCS stripping is disabled by the firmware. - Added a function to check if FCS stripping is disabled by the firmware, if it is not disabled fail driver load. - By default FCS stripping is disabled by the firmware. With this assumption driver decrements the indicated packet length by 4 bytes(FCS length). - This patch ensures that FCS stripping is disabled during driver load time. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit f0dfebafcc14a7456eb6ae974b68f600fdd8b42d Author: Sreenivasa Honnur Date: Mon Oct 5 01:55:47 2009 +0000 vxge: Removed unused functions. - Removed the wrr_rebalance function - This feature is not supported by the ASIC, hence removing the related code. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a4a987d82258f55c4bc4ab0156fb20a2b3fa4f41 Author: Sreenivasa Honnur Date: Mon Oct 5 01:54:42 2009 +0000 vxge: Fixed crash in PAE system due to wrong typecasting. - Fix a crash in PAE system due to wrong typecasting. - On PAE system size_t is unsigned int which is 32bit. Avoid casting 64 bit address to 32 bit Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 0f8f7d58eb4840ee8790e914a88b8a773aca9143 Author: Sreenivasa Honnur Date: Mon Oct 5 01:53:38 2009 +0000 vxge: Removed accessing non-supported registers. - Removed accessing GENDMA_INT register - This allowed the firmware to perform a generic DMA write to host memory. This feature is not supported by the ASIC, this patch removes access to GENDMA_INT register. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 657205bdd7b276d95b3a5bac7e856e22c4001136 Author: Sreenivasa Honnur Date: Mon Oct 5 01:52:54 2009 +0000 vxge: Update driver_config->vpath_per_dev for each function in probe. - Update driver_config->vpath_per_dev for each function in probe. - vpath_per_device specifies number of vpaths supported for each function/device. The current code was updating vpath_per_device only for physical device, however this has to be updated for each function also in case of a MF(Multi function) device. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 92cdd7c377c893c72d6968537076a18a510ae5cc Author: Sreenivasa Honnur Date: Mon Oct 5 01:51:38 2009 +0000 vxge: Modify __vxge_hw_device_is_privilaged() to not assume function-0 as the privileged function: Resubmit#1 - vxge driver was assuming function-0 is always the privilaged function. Now that restriction has been removed any function can act as a privilaged function. - This patch modifies the __vxge_hw_device_is_privilaged routine to not assume function-0 as the privileged function. - Recreated the patch by incorporating review comments from Dave Miller to remove double slash in path names. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6deac6f2b46f84b8822683cce92eab4edf2ade5e Author: Alexander Duyck Date: Mon Oct 5 06:36:01 2009 +0000 igb: add flushes between RAR writes when setting mac address There are some switches that will do write combining when they see two sequential regions written. In order to avoid any possible write combining issues it is necessary to add a flush after writing each piece of a rar register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2553bb2681645bf932db2845121b8f33954f6f39 Author: Alexander Duyck Date: Mon Oct 5 06:35:42 2009 +0000 igb: add additional error handling to the phy code This update adds additional exception handling to the phy code to handle situations where it may be called incorrectly. In addition it adds some bounds checking to the cable length checks to prevent an array overrun in the event that the hardware returned a different value than expected. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ab576389b733b458495529f81839f499b3fece78 Author: Alexander Duyck Date: Mon Oct 5 06:35:23 2009 +0000 igb: add code to retry a phy read in the event of failure on link check This patch adds a retry to phy reads in the event of failure. The original code broke out of the loop on failure and this is a mistake as we should be trying to do the read twice. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 81fadd81a5bc897c8d0424d1cd90cb999d8e12b0 Author: Alexander Duyck Date: Mon Oct 5 06:35:03 2009 +0000 igb: move the generic copper link setup code into e1000_phy.c This patch moves the generic portion of the copper link setup into a seperate function in e1000_phy.c. This helps to reduce the size of copper_link_setup_82575 and make it a bit more readable. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 285b4167458ec7cc49008b2e61cbe0362deed335 Author: Alexander Duyck Date: Mon Oct 5 06:34:44 2009 +0000 igb: remove microwire support from igb igb doesn't have any devices that use a microwire interface for NVM. As such the code related to this can be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 22896639af98ebc721a94ed71fc3acf2fb4a24dc Author: Alexander Duyck Date: Mon Oct 5 06:34:25 2009 +0000 igb: change how we handle alternate mac addresses This patch allows us to treat the alternate mac address as though it is the physical address on the adapter. This is accomplished by letting the alt_mac_address function to only fail on an NVM error. If no errors occur and the alternate mac address is not present then RAR0 is read as the default mac address. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3272686c98da64d6eeaa2434782f42270b110758 Author: Alexander Duyck Date: Mon Oct 5 06:34:05 2009 +0000 igb: fix a few items where weren't correctly setup for mbx timeout The mailbox timeout routines need to be updated as they were not correctly handling the case of a mailbox timeout and could cause issues with long delays when used. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0acb6fde5fc84009be1c7efc0aaa8e69e394a2e2 Author: Alexander Duyck Date: Mon Oct 5 06:33:46 2009 +0000 igb: add function to handle mailbox lock Both the read and write mailbox functions need to acquire the mailbox lock. Since that is the case we might as well combine both of the procedures into one function so it is easier to maintain. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 747d49baaf4e3f4ad5ae77477830da026eeef69d Author: Alexander Duyck Date: Mon Oct 5 06:33:27 2009 +0000 igb: add support for 82576NS SerDes adapter This patch adds the device ID necessary to support the 82576NS SerDes adapter. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 68d480c4defb69d834e75fd0be9069a8447afe36 Author: Alexander Duyck Date: Mon Oct 5 06:33:08 2009 +0000 igb: make use of the uta to allow for promiscous mode filter In order to support functions such as vlan tag stripping when SR-IOV is enabled any given packet must match at least one filter. However in the case of promiscous mode being enabled on the PF the traffic routed to it may not match any filters and is just sent to the PF by default. In order to make certain that this traffic is processed we can set all bits in the UTA registers to create a pseudo promiscous mode filter that accepts all packets. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 26ad91783c489486d3fd1a6932e5bdab9d404a38 Author: Alexander Duyck Date: Mon Oct 5 06:32:49 2009 +0000 igb: add combined function for setting rar and pool bits This patch adds igb_rar_qsel which sets the mac address and pool bits for a given mac address in the receive address register table. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf6f7a928d313ddecb0a16ea60fa6b45ac1414a7 Author: Alexander Duyck Date: Mon Oct 5 06:32:27 2009 +0000 igb: add locking to reads of the i2c interface The current implementation of sgmii support isn't correctly locking the interfaces for reads/writes. This change pulls the read/write functionality out of 82575.c and moves it to phy.c. In addition it replaces the implementation in 82575.c with one that uses locking around the relocated i2c interface calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 008c3422d48b217792789bdea822dbc2efe2165c Author: Alexander Duyck Date: Mon Oct 5 06:32:07 2009 +0000 igb: update the approach taken to acquiring and releasing the phy lock The current approach is just using a ?: type mechanism to set the phy locking bit. This if fine for now but limits us to only 2. Switch to a nested if statement for future compatiblity with more than 2 phys. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 70d92f86dc162fc24e13cd79fd3481ae39b66f72 Author: Alexander Duyck Date: Mon Oct 5 06:31:47 2009 +0000 igb: update comments for serdes config and update to handle duplex This update corrects the driver so that it handles duplex for serdes links correctly instead of just forcing full duplex always. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cc9073bbc901a0b695c9c5966d65520c29af70af Author: Alexander Duyck Date: Mon Oct 5 06:31:25 2009 +0000 igb: remove unused temp variable from stats clearing path There is a temp variable in the stats clearing path that isn't needed since the results from the stats read can be immediately discared. Since it isn't needed we might as well just drop it from the function call. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 907bc6c7fc7071b00083fc11e510e47dd93df45d Merge: d2b247a 2a0f5cb Author: Mark Brown Date: Tue Oct 6 16:01:27 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit d2b247a8be57647d1745535acd58169fbcbe431a Author: Mark Brown Date: Tue Oct 6 15:21:04 2009 +0100 ASoC: Add virtual enumeration support for DAPM muxes Sometimes it is desirable to have a mux which does not reflect any direct register configuration but which will instead only have an effect implicitly (for example, as a result of changing which parts of the device are powered up). Provide a virtual mux for this purpose. Signed-off-by: Mark Brown commit 42e59d7d19dc4b49feab2a860fd9a8ca3248c833 Author: Ingo Molnar Date: Tue Oct 6 15:14:21 2009 +0200 perf tools: Default to 1 KHz auto-sampling freq events Use auto-freq events by default in perf record and perf top. This allows more consistent hardware event sampling, regardless of the intensity of the underlying event. It also keeps us from over-sampling on larger/busier systems. (also make surrounding initializations more consistent) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 064739bc4b3d7f424b2f25547e6611bcf0132415 Author: Tom Zanussi Date: Tue Oct 6 01:09:52 2009 -0500 perf trace: Add string/dynamic cases to format_flags Needed for distinguishing string fields in event stream processing. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 2774601811bedd04ee7e38624343ea80b4a62d7e Author: Tom Zanussi Date: Tue Oct 6 01:09:51 2009 -0500 perf trace: Add subsystem string to struct event Needed to fully qualify event names for event stream processing. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 26a50744b21fff65bd754874072857bee8967f4d Author: Tom Zanussi Date: Tue Oct 6 01:09:50 2009 -0500 tracing/events: Add 'signed' field to format files The sign info used for filters in the kernel is also useful to applications that process the trace stream. Add it to the format files and make it available to userspace. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit d9b2002c406011164f245de7a81304625989f1c9 Merge: c3b32fc 906010b Author: Ingo Molnar Date: Tue Oct 6 15:02:30 2009 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: Upcoming patch is dependent on a fix in perf/urgent. Signed-off-by: Ingo Molnar commit 3a65577d2199a7b33c85fd32838020c39da200f3 Author: Mark Brown Date: Mon Oct 5 17:23:30 2009 +0100 ASoC: Push DAPM enumeration register change test out Don't assume that enumerations are backed by registers when updating mux power. Signed-off-by: Mark Brown commit 1642e3d42a062221e4df18df260d4703d18ca519 Author: Mark Brown Date: Mon Oct 5 16:24:26 2009 +0100 ASoC: Simplify code for DAPM widget updates We don't need to check for an event callback since we also check for an appropriate event flag when applying mux status changes. Signed-off-by: Mark Brown commit 9f5180e5c331d7b3ccc35e1a78072235d38f9f34 Author: Philipp Reisner Date: Tue Oct 6 09:30:14 2009 +0200 drbd: Work on permission enforcement Now we have the capabilities of the sending process available, use them to enforce CAP_SYS_ADMIN. Signed-off-by: Philipp Reisner Signed-off-by: Jens Axboe commit cf82ff7ea7695b0e82ba07bc5e9f1bd03a74e1aa Author: Jayson R. King Date: Mon Oct 5 05:21:26 2009 -0500 sched: Remove obsolete comment in sched_init() Remove the comment about calling alloc_bootmem() as it is not called here since commit 36b7b6d465489c4754c4fd66fcec6086eba87896. Signed-off-by: Jayson R. King Cc: Peter Zijlstra Cc: Jiri Kosina LKML-Reference: <4AC9C8A6.6010209@jaysonking.com> Signed-off-by: Ingo Molnar commit c3b32fcbc7f4fd9a9b84718b991b175b0fd53f8c Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:16 2009 -0300 perf report: Use kernel_maps__find_symbol as fallback to find vdsos, etc In resolve_symbol, as we're moving to breaking the kernel symbols list per address ranges, i.e. kernel linking sections, so that we don't have a big kernel_map that in its range covers what is in the modules. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit a2a99e8e12798706ec1026e5d8fc36f7c86122ce Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:18 2009 -0300 perf tools: /proc/modules names don't always match its name $ cut -d' ' -f1 /proc/modules|grep _|wc -l 29 $ cut -d' ' -f1 /proc/modules|grep _|sed 's/$/.ko'/g|while read n;do find /lib/modules/`uname -r` -name $n;done|wc -l 12 For instance: $ grep ^aes_x86 /proc/modules aes_x86_64 9056 2 - Live 0xffffffffa0091000 $ l /lib/modules/2.6.31-tip/kernel/arch/x86/crypto/aes-x86_64.ko -rw-r--r-- 1 root root 136438 2009-09-22 19:05 /lib/modules/2.6.31-tip/kernel/arch/x86/crypto/aes-x86_64.ko Handle that by introducing a strxfrchar routine that replaces dashes with underscores when matching file names to loaded modules. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit af427bf529c5991be8d1a36f43e2d0141f532f63 Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:17 2009 -0300 perf tools: Create maps for modules when processing kallsyms So that we get kallsyms processing closer to vmlinux + modules symtabs processing. One change in behaviour is that since when one specifies --vmlinux -m should be used to ask for modules, so it is now for kallsyms as well. Also continue if one manages to load the vmlinux data but module processing fails, so that at least some analisys can be done with part of the needed symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 5c2068059a0e852f72b7c2608d92170b752d821f Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:15 2009 -0300 perf top: Keep the default of asking for kernel module symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit ed76f652d5329d9dff0ea7f3953b1357ed7f8e6e Author: Takashi Iwai Date: Mon Oct 5 18:27:28 2009 +0200 ALSA: sscape - Remove invalid __devinitdata to module parameters Module parameters shouldn't be marked as __devinitdata since they can be referred via sysfs even after probing. Signed-off-by: Takashi Iwai commit 1cb0fdebae08f6daaac81197d8dde1746e0a1d96 Author: Krzysztof Helt Date: Mon Oct 5 18:18:57 2009 +0200 ALSA: sscape: force AD1848 codec mode on old Soundscape Old Soundscape cards (pre PnP) work only with AD1848 codecs. If the CS4231 codec is installed it must be used in AD1848 compatible mode. Also, add gameport support and remove an unused mpu field. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 48f6ba5e691948caba2e7bc362153fb28e4f1e09 Author: Frederic Weisbecker Date: Mon Oct 5 16:31:37 2009 +0200 kill-the-bkl/reiserfs: fix reiserfs lock to cpu_add_remove_lock dependency While creating the reiserfs workqueue during the journal initialization, we are holding the reiserfs lock, but create_workqueue() also holds the cpu_add_remove_lock, creating then the following dependency: - reiserfs lock -> cpu_add_remove_lock But we also have the following existing dependencies: - mm->mmap_sem -> reiserfs lock - cpu_add_remove_lock -> cpu_hotplug.lock -> slub_lock -> sysfs_mutex The merged dependency chain then becomes: - mm->mmap_sem -> reiserfs lock -> cpu_add_remove_lock -> cpu_hotplug.lock -> slub_lock -> sysfs_mutex But when we fill a dir entry in sysfs_readir(), we are holding the sysfs_mutex and we also might fault while copying the directory entry to the user, leading to the following dependency: - sysfs_mutex -> mm->mmap_sem The end result is then a lock inversion between sysfs_mutex and mm->mmap_sem, as reported in the following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-07095-g25a3912 #4 ------------------------------------------------------- udevadm/790 is trying to acquire lock: (&mm->mmap_sem){++++++}, at: [] might_fault+0x72/0xc0 but task is already holding lock: (sysfs_mutex){+.+.+.}, at: [] sysfs_readdir+0x7c/0x260 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #5 (sysfs_mutex){+.+.+.}: [...] -> #4 (slub_lock){+++++.}: [...] -> #3 (cpu_hotplug.lock){+.+.+.}: [...] -> #2 (cpu_add_remove_lock){+.+.+.}: [...] -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: [...] -> #0 (&mm->mmap_sem){++++++}: [...] This can be fixed by relaxing the reiserfs lock while creating the workqueue. This is fine to relax the lock here, we just keep it around to pass through reiserfs lock checks and for paranoid reasons. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 7bc7d637452383d56ba4368d4336b0dde1bb476d Author: john stultz Date: Fri Oct 2 16:24:15 2009 -0700 time: Remove xtime_cache With the prior logarithmic time accumulation patch, xtime will now always be within one "tick" of the current time, instead of possibly half a second off. This removes the need for the xtime_cache value, which always stored the time at the last interrupt, so this patch cleans that up removing the xtime_cache related code. This is a bit simpler, but still could use some wider testing. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Reviewed-by: John Kacur Cc: Clark Williams Cc: Martin Schwidefsky Cc: Andrew Morton LKML-Reference: <1254525855.7741.95.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601 Author: john stultz Date: Fri Oct 2 16:17:53 2009 -0700 time: Implement logarithmic time accumulation Accumulating one tick at a time works well unless we're using NOHZ. Then it can be an issue, since we may have to run through the loop a few thousand times, which can increase timer interrupt caused latency. The current solution was to accumulate in half-second intervals with NOHZ. This kept the number of loops down, however it did slightly change how we make NTP adjustments. While not an issue with NTPd users, as NTPd makes adjustments over a longer period of time, other adjtimex() users have noticed the half-second granularity with which we can apply frequency changes to the clock. For instance, if a application tries to apply a 100ppm frequency correction for 20ms to correct a 2us offset, with NOHZ they either get no correction, or a 50us correction. Now, there will always be some granularity error for applying frequency corrections. However with users sensitive to this error have seen a 50-500x increase with NOHZ compared to running without NOHZ. So I figured I'd try another approach then just simply increasing the interval. My approach is to consume the time interval logarithmically. This reduces the number of times through the loop needed keeping latency down, while still preserving the original granularity error for adjtimex() changes. Further, this change allows us to remove the xtime_cache code (patch to follow), as xtime is always within one tick of the current time, instead of the half-second updates it saw before. An earlier version of this patch has been shipping to x86 users in the RedHat MRG releases for awhile without issue, but I've reworked this version to be even more careful about avoiding possible overflows if the shift value gets too large. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Reviewed-by: John Kacur Cc: Clark Williams Cc: Martin Schwidefsky Cc: Andrew Morton LKML-Reference: <1254525473.7741.88.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit d4a8da910e6db53d45ff76f7fdc584376de542df Merge: ce3e373 e655a43 Author: Mark Brown Date: Mon Oct 5 10:36:28 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit d519e17e2d01a0ee9abe083019532061b4438065 Author: Andy Gospodarek Date: Fri Oct 2 09:26:12 2009 +0000 net: export device speed and duplex via sysfs This patch exports the link-speed (in Mbps) and duplex of an interface via sysfs. This eliminates the need to use ethtool just to check the link-speed. Not requiring 'ethtool' and not relying on the SIOCETHTOOL ioctl should be helpful in an embedded environment where space is at a premium as well. NOTE: This patch also intentionally allows non-root users to check the link speed and duplex -- something not possible with ethtool. Here's some sample output: # cat /sys/class/net/eth0/speed 100 # cat /sys/class/net/eth0/duplex half # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Half Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes Signed-off-by: David S. Miller commit 053a93dd126f68ba37973f95f00af6045fa7c957 Author: Marcel Holtmann Date: Fri Oct 2 05:15:28 2009 +0000 cfg80211: assign device type in netdev notifier callback Instead of having to modify every non-mac80211 for device type assignment, do this inside the netdev notifier callback of cfg80211. So all drivers that integrate with cfg80211 will export a proper device type. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 7ffbe3fdace0bdfcdab8dc6c77506feda0871f79 Author: Johannes Berg Date: Fri Oct 2 05:15:27 2009 +0000 net: introduce NETDEV_POST_INIT notifier For various purposes including a wireless extensions bugfix, we need to hook into the netdev creation before before netdev_register_kobject(). This will also ease doing the dev type assignment that Marcel was working on for cfg80211 drivers w/o touching them all. Signed-off-by: Johannes Berg Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 225794f8c33fd32721ae1cd3576db99810351d7b Author: Marcel Holtmann Date: Fri Oct 2 05:15:26 2009 +0000 usbnet: Set device type for wlan and wwan devices For usbnet devices with FLAG_WLAN and FLAG_WWAN set the proper device type so that uevent contains the correct value. This then allows an easy identification of the actual underlying technology of the Ethernet device. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit e1e499eef2200c2a7120c9ebf297d48b195cf887 Author: Marcel Holtmann Date: Fri Oct 2 05:15:25 2009 +0000 usbnet: Use wwan%d interface name for mobile broadband devices Add support for usbnet based devices like CDC-Ether to indicate that they are actually mobile broadband devices. In that case use wwan%d as default interface name. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 25d2d4edfa509b69fe4832094b8a07e634363ba3 Author: Jens Axboe Date: Mon Oct 5 09:31:59 2009 +0200 drbd: fixup for reverted dual in_flight patch Signed-off-by: Jens Axboe commit 5d13379a4dba717fb75b749acc0f928c2c02db17 Merge: 08dc872 374576a Author: Jens Axboe Date: Mon Oct 5 09:30:10 2009 +0200 Merge branch 'master' into for-2.6.33 commit 0bfbedb14a8a96c529341bec88991a92b41fac72 Author: Eric Dumazet Date: Mon Oct 5 00:11:22 2009 -0700 tunnels: Optimize tx path We currently dirty a cache line to update tunnel device stats (tx_packets/tx_bytes). We better use the txq->tx_bytes/tx_packets counters that already are present in cpu cache, in the cache line shared with txq->_xmit_lock This patch extends IPTUNNEL_XMIT() macro to use txq pointer provided by the caller. Also &tunnel->dev->stats can be replaced by &dev->stats Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 16c6cf8bb471392fd09b48b7c27e7d83a446b4bc Author: Stephen Hemminger Date: Sun Sep 20 10:35:36 2009 +0000 ipv4: fib table algorithm performance improvement The FIB algorithim for IPV4 is set at compile time, but kernel goes through the overhead of function call indirection at runtime. Save some cycles by turning the indirect calls to direct calls to either hash or trie code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab Author: Neil Horman Date: Fri Oct 2 06:56:41 2009 +0000 af_packet: add interframe drop cmsg (v6) Add Ancilliary data to better represent loss information I've had a few requests recently to provide more detail regarding frame loss during an AF_PACKET packet capture session. Specifically the requestors want to see where in a packet sequence frames were lost, i.e. they want to see that 40 frames were lost between frames 302 and 303 in a packet capture file. In order to do this we need: 1) The kernel to export this data to user space 2) The applications to make use of it This patch addresses item (1). It does this by doing the following: A) Anytime we drop a frame for which we would increment po->stats.tp_drops, we also no increment a stats called po->stats.tp_gap. B) Every time we successfully enqueue a frame to sk_receive_queue, we record the value of po->stats.tp_gap in skb->mark. skb->cb would nominally be the place to record this, but since all the space there is used up, we're overloading skb->mark. Its safe to do since any enqueued packet is guaranteed to be unshared at this point, and skb->mark isn't used for anything else in the rx path to the application. After we record tp_gap in the skb, we zero po->stats.tp_gap. This allows us to keep a counter of the number of frames lost between any two enqueued packets C) When the application goes to dequeue a frame from the packet socket, we look at skb->mark for that frame. If it is non-zero, we add a cmsg chunk to the msghdr of level SOL_PACKET and type PACKET_GAPDATA. Its a 32 bit integer that represents the number of frames lost between this packet and the last previous frame received. Note there is a chance that if there is frame loss after a receive, and then the socket is closed, some gap data might be lost. This is covered by the use of the PACKET_AUXDATA socket option, which gives total loss data. With a bit of math, the final gap can be determined that way. I've tested this patch myself, and it works well. Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet include/linux/if_packet.h | 2 ++ net/packet/af_packet.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) Signed-off-by: David S. Miller commit 69ef9694099802f7feeb23182dfb869e7c5f76f0 Author: chaithrika@ti.com Date: Thu Oct 1 10:25:19 2009 +0000 TI DaVinci EMAC: Minor macro related updates Use BIT for macro definitions wherever possible, remove unused and redundant macros. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 0835acfe72e43b2f9bd46ec8c0d219e94c3525e0 Author: Eric Dumazet Date: Wed Sep 30 13:03:33 2009 +0000 pktgen: Avoid dirtying skb->users when txq is full We can avoid two atomic ops on skb->users if packet is not going to be sent to the device (because hardware txqueue is full) Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit b3a5b6cc7cab89dcc3301add750f88019d910a2b Author: Eric Dumazet Date: Thu Sep 24 12:16:51 2009 +0000 icmp: No need to call sk_write_space() We can make icmp messages tx completion callback a litle bit faster. Setting SOCK_USE_WRITE_QUEUE sk flag tells sock_wfree() to not call sk_write_space() on a socket we know no thread is posssibly waiting for write space. (on per cpu kernel internal icmp sockets only) This avoids the sock_def_write_space() call and read_lock(&sk->sk_callback_lock)/read_unlock(&sk->sk_callback_lock) calls as well. We avoid three atomic ops. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a9828ec6bc0b7e19a65f7e13daa8bd35a926a753 Author: Ben Hutchings Date: Thu Oct 1 11:33:03 2009 +0000 ethtool: Remove support for obsolete string query operations The in-tree implementations have all been converted to get_sset_count(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 15f0a394c6573f4cb65a13095288ab9b9f8135f9 Author: Ben Hutchings Date: Thu Oct 1 11:58:24 2009 +0000 net: Convert ethtool {get_stats, self_test}_count() ops to get_sset_count() These string query operations were supposed to be replaced by the generic get_sset_count() starting in 2007. Convert the remaining implementations. Also remove calls to these operations to initialise drvinfo->n_stats. The ethtool core code already does that. Signed-off-by: Ben Hutchings Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ddee09ff0420090d5b03ef3f9eba0e4db647035 Author: Ben Hutchings Date: Thu Oct 1 11:27:59 2009 +0000 tehuti: Convert ethtool get_stats_count() ops to get_sset_count() This string query operation was supposed to be replaced by the generic get_sset_count() starting in 2007. Convert tehuti's implementation. Also remove the dummy self-test name which was not used since tehuti does not advertise any self-tests. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit df8b4ec8b15a5db84706548149add3131c3af8ba Author: Ben Hutchings Date: Thu Oct 1 11:24:32 2009 +0000 qeth: Convert ethtool get_stats_count() ops to get_sset_count() This string query operation was supposed to be replaced by the generic get_sset_count() starting in 2007. Convert qeth's implementation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ec218fc4a796a1b584741d59ef22615d96981188 Author: Arnaldo Carvalho de Melo Date: Sat Oct 3 20:30:48 2009 -0300 perf tools: Remove show_mask bitmask As it was not being exposed via any command line and with --dsos/--comms we can do this and even more, like asking for just kernel + some module: [root@doppio linux-2.6-tip]# perf report --dsos \[kernel\],\[drm\] --vmlinux /home/acme/git/build/tip-recvmmsg/vmlinux --modules | head -15 # Samples: 619669 # # Overhead Command Shared Object Symbol # ........ ............... ............. ...... # 7.12% swapper [kernel] [k] read_hpet 6.86% init [kernel] [k] read_hpet 6.22% init [kernel] [k] mwait_idle_with_hints 5.34% swapper [kernel] [k] mwait_idle_with_hints 3.01% firefox [kernel] [.] vread_hpet 2.14% Xorg [drm] [k] drm_clflush_pages 2.09% pidgin [kernel] [.] vread_hpet 1.58% npviewer.bin [kernel] [.] vread_hpet 1.37% swapper [kernel] [k] hpet_next_event 1.23% Xorg [kernel] [k] read_hpet [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091003233048.GA30535@ghostprotocols.net> Signed-off-by: Ingo Molnar commit bcde1f8a80d1bdfd43fb498996dfa89666fd7fe3 Author: Krzysztof Helt Date: Fri Oct 2 18:41:29 2009 +0200 ALSA: sscape: remove MIDI instances counting with limit ULONG_MAX There is no sense to limit open MIDI connections with limit as high as ULONG_MAX. Also, convert more messages to use the snd_printk. Correct few old and misleading comments as well. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9735abf11bec48bfbbb1b54772a02deb2ae0c403 Author: Arnaldo Carvalho de Melo Date: Sat Oct 3 10:42:45 2009 -0300 perf tools: Move hist_entry__add common code to hist.c Now perf report and annotate do the callgraph/hit processing in their specialized hist_entry__add functions. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 08dc8726d4be85bca793141c827574fd32a681bb Author: Jens Axboe Date: Sat Oct 3 09:40:47 2009 +0200 block: CFQ is more than a desktop scheduler Update Kconfig.iosched entry. Signed-off-by: Jens Axboe commit 492af6350a5ccf087e4964104a276ed358811458 Author: Jens Axboe Date: Sat Oct 3 09:37:51 2009 +0200 block: remove the anticipatory IO scheduler AS is mostly a subset of CFQ, so there's little point in still providing this separate IO scheduler. Hopefully at some point we can get down to one single IO scheduler again, at least this brings us closer by having only one intelligent IO scheduler. Signed-off-by: Jens Axboe commit 88f70d7590538e427c8405a2e02ac2624847386c Author: Masami Hiramatsu Date: Fri Sep 25 11:20:54 2009 -0700 tracing/ftrace: Fix to check create_event_dir() when adding new events Check result of event_create_dir() and add ftrace_event_call to ftrace_events list only if it is succeeded. Thanks to Li for pointing it out. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182054.10157.55219.stgit@omoto> Signed-off-by: Frederic Weisbecker commit c0b11d3af164947c71e2491912c5b8418900dafb Author: Masami Hiramatsu Date: Fri Sep 25 11:20:38 2009 -0700 x86: Add VIA processor instructions in opcodes decoder Add VIA processor's Padlock instructions(MONTMUL, XSHA1, XSHA256) as parts of the kernel may use them. This fixes the following crash in opcodes decoder selftests: make[2]: `scripts/unifdef' is up to date. TEST posttest Error: c145cf71: f3 0f a6 d0 repz xsha256 Error: objdump says 4 bytes, but insn_get_length() says 3 (attr:0) make[1]: *** [posttest] Error 2 make: *** [bzImage] Error 2 Reported-by: Ingo Molnar Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182037.10157.3180.stgit@omoto> Signed-off-by: Frederic Weisbecker commit a1a138d05fa060ac4238c19a1e890aacc25ed3ba Author: Masami Hiramatsu Date: Fri Sep 25 11:20:12 2009 -0700 tracing/kprobes: Use global event perf buffers in kprobe tracer Use new percpu global event buffer instead of stack in kprobe tracer while tracing through perf. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182011.10157.60140.stgit@omoto> Signed-off-by: Frederic Weisbecker commit 98059e3463383b18fd79181179cd539b74846b47 Author: Matteo Croce Date: Thu Oct 1 17:11:10 2009 +0200 x86: AMD Geode LX optimizations Add CPU optimizations for AMD Geode LX. Signed-off-by: Matteo Croce LKML-Reference: <40101cc30910010811v5d15ff4cx9dd57c9cc9b4b045@mail.gmail.com> Signed-off-by: H. Peter Anvin commit 63312b6a6faae3f2e5577f2b001e3b504f10a2aa Author: Arjan van de Ven Date: Fri Oct 2 07:50:50 2009 -0700 x86: Add a Kconfig option to turn the copy_from_user warnings into errors For automated testing it is useful to have the option to turn the warnings on copy_from_user() etc checks into errors: In function ‘copy_from_user’, inlined from ‘fd_copyin’ at drivers/block/floppy.c:3080, inlined from ‘fd_ioctl’ at drivers/block/floppy.c:3503: linux/arch/x86/include/asm/uaccess_32.h:213: error: call to ‘copy_from_user_overflow’ declared with attribute error: copy_from_user buffer size is not provably correct Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <20091002075050.4e9f7641@infradead.org> Signed-off-by: Ingo Molnar commit ce3e3737a3361e0c7030f8598eec36bb82050de6 Author: Peter Ujfalusi Date: Fri Oct 2 09:17:37 2009 +0300 ASoC: Improve the debugfs hierarchy Change the way the debugfs entries are created: If the codec->dev is valid, than use: debugfs/asoc/{codec->name}.{dev_name(codec->dev)}/ if the codec->dev is NULL: debugfs/asoc/{codec->name}/ as root for the debugfs entries. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 439d473b4777de510e1322168ac6f2f377ecd5bc Author: Arnaldo Carvalho de Melo Date: Fri Oct 2 03:29:58 2009 -0300 perf tools: Rewrite and improve support for kernel modules Representing modules as struct map entries, backed by a DSO, etc, using /proc/modules to find where the module is loaded. DSOs now can have a short and long name, so that in verbose mode we can show exactly which .ko or vmlinux image was used. As kernel modules now are a DSO separate from the kernel, we can ask for just the hits for a particular set of kernel modules, just like we can do with shared libraries: [root@doppio linux-2.6-tip]# perf report -n --vmlinux /home/acme/git/build/tip-recvmmsg/vmlinux --modules --dsos \[drm\] | head -15 84.58% 13266 Xorg [k] drm_clflush_pages 4.02% 630 Xorg [k] trace_kmalloc.clone.0 3.95% 619 Xorg [k] drm_ioctl 2.07% 324 Xorg [k] drm_addbufs 1.68% 263 Xorg [k] drm_gem_close_ioctl 0.77% 120 Xorg [k] drm_setmaster_ioctl 0.70% 110 Xorg [k] drm_lastclose 0.68% 106 Xorg [k] drm_open 0.54% 85 Xorg [k] drm_mm_search_free [root@doppio linux-2.6-tip]# Specifying --dsos /lib/modules/2.6.31-tip/kernel/drivers/gpu/drm/drm.ko would have the same effect. Allowing specifying just 'drm.ko' is left for another patch. Processing kallsyms so that per kernel module struct map are instantiated was also left for another patch. That will allow removing the module name from each of its symbols. struct symbol was reduced by removing the ->module backpointer and moving it (well now the map) to struct symbol_entry in perf top, that is its only user right now. The total linecount went down by ~500 lines. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Avi Kivity Signed-off-by: Ingo Molnar commit 0afe5f891501609f31146798fb41784f4adad27c Author: Takashi Iwai Date: Fri Oct 2 09:20:00 2009 +0200 ALSA: hda - Clean up name string creation in patch_realtek.c Use a common helper to create playback controls. This gives less chance of typos. Signed-off-by: Takashi Iwai commit 081a8c450290401ffc75558c65a188d7b72db07d Merge: 71623855 7085ec1 Author: Takashi Iwai Date: Fri Oct 2 09:19:40 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 7c824f4b69316df55fe243c5a6c7dba2b62285c1 Author: Takashi Iwai Date: Fri Oct 2 07:22:58 2009 +0200 ALSA: sscape - Remove sscap_ioctl.h from include/sound/Kbuild Signed-off-by: Takashi Iwai commit 6a0afdf58d40200abd0c717261d1bc4c49195c2f Author: Jens Axboe Date: Thu Oct 1 09:04:14 2009 +0200 drbd: remove tracing bits They should be reimplemented in the current scheme. Signed-off-by: Jens Axboe commit ab8fafc2e1ecc0090f2c78902d3b992eec8b11f8 Author: Lars Ellenberg Date: Mon Sep 28 10:28:01 2009 +0200 dropping unneeded include autoconf.h It is force-included on the gcc command line since at least 2.6.15. Explicit include lines seem to break compilation now in certain configurations. Signed-off-by: Lars Ellenberg Signed-off-by: Kamalesh Babulal Acked-by: Sam Ravnborg commit b411b3637fa71fce9cf2acf0639009500f5892fe Author: Philipp Reisner Date: Fri Sep 25 16:07:19 2009 -0700 The DRBD driver Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1a35e0f6443f4266dad4c569c55c57a9032596fa Author: Jun'ichi Nomura Date: Thu Oct 1 21:16:13 2009 +0200 Add a tracepoint for block request remapping Since 2.6.31 now has request-based device-mapper, it's useful to have a tracepoint for request-remapping as well as bio-remapping. This patch adds a tracepoint for request-remapping, trace_block_rq_remap(). Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Cc: Li Zefan Signed-off-by: Jens Axboe commit ca80650cfbde5b17a5fa957a261c7973f84599a7 Author: Christoph Hellwig Date: Wed Sep 30 13:54:20 2009 +0200 block: allow large discard requests Currently we set the bio size to the byte equivalent of the blocks to be trimmed when submitting the initial DISCARD ioctl. That means it is subject to the max_hw_sectors limitation of the HBA which is much lower than the size of a DISCARD request we can support. Add a separate max_discard_sectors tunable to limit the size for discard requests. We limit the max discard request size in bytes to 32bit as that is the limit for bio->bi_size. This could be much larger if we had a way to pass that information through the block layer. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1122a26f2abe4245ccdaed95ec23f63fe086b332 Author: Christoph Hellwig Date: Wed Sep 30 13:52:12 2009 +0200 block: use normal I/O path for discard requests prepare_discard_fn() was being called in a place where memory allocation was effectively impossible. This makes it inappropriate for all but the most trivial translations of Linux's DISCARD operation to the block command set. Additionally adding a payload there makes the ownership of the bio backing unclear as it's now allocated by the device driver and not the submitter as usual. It is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether the queue supports discard operations or not. blkdev_issue_discard now allocates a one-page, sector-length payload which is the right thing for the common ATA and SCSI implementations. The mtd implementation of prepare_discard_fn() is replaced with simply checking for the request being a discard. Largely based on a previous patch from Matthew Wilcox which did the prepare_discard_fn but not the different payload allocation yet. Signed-off-by: Christoph Hellwig commit 7c68af6e32c73992bad24107311f3433c89016e2 Author: Avi Kivity Date: Sat Sep 19 09:40:22 2009 +0300 core, x86: Add user return notifiers Add a general per-cpu notifier that is called whenever the kernel is about to return to userspace. The notifier uses a thread_info flag and existing checks, so there is no impact on user return or context switch fast paths. This will be used initially to speed up KVM task switching by lazily updating MSRs. Signed-off-by: Avi Kivity LKML-Reference: <1253342422-13811-1-git-send-email-avi@redhat.com> Signed-off-by: H. Peter Anvin commit 88439ac793934a47f47ad285656b63d09f5937c8 Author: Peter Ujfalusi Date: Thu Oct 1 10:32:47 2009 +0300 ASoC: add support for multiple cards/codecs in debugfs In order to support multiple codecs on the same system in the debugfs the directory hierarchy need to be changed by adding directory per codec under the asoc direcorty: debugfs/asoc/{dev_name(socdev->dev)}-{codec->name}/codec_reg /dapm_pop_time /dapm/{widgets} With the original implementation only the debugfs files are only created for the first codec, other codecs loaded later would fail to create the debugfs files (since they are already exist). Furthermore in this situation any of the codecs has been removed, would cause the debugfs entries to disappear, regardless if the codec, which created them are still loaded (the one which loaded first). Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 17c86a32076f0119437a017de70a583431f4bf51 Merge: f36c404 834eb6c Author: Mark Brown Date: Thu Oct 1 11:35:11 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit f36c4045db71af89a7ea63425676925b7e6b4761 Merge: aa983d9 140318a Author: Mark Brown Date: Thu Oct 1 11:33:37 2009 +0100 Merge remote branch 'takashi/topic/asoc' into for-2.6.33 commit 4a3127693001c61a21d1ce680db6340623f52e93 Author: Arjan van de Ven Date: Wed Sep 30 13:05:23 2009 +0200 x86: Turn the copy_from_user check into an (optional) compile time warning A previous patch added the buffer size check to copy_from_user(). One of the things learned from analyzing the result of the previous patch is that in general, gcc is really good at proving that the code contains sufficient security checks to not need to do a runtime check. But that for those cases where gcc could not prove this, there was a relatively high percentage of real security issues. This patch turns the case of "gcc cannot prove" into a compile time warning, as long as a sufficiently new gcc is in use that supports this. The objective is that these warnings will trigger developers checking new cases out before a security hole enters a linux kernel release. Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: "David S. Miller" Cc: James Morris Cc: Jan Beulich LKML-Reference: <20090930130523.348ae6c4@infradead.org> Signed-off-by: Ingo Molnar commit 0aa73ba1c4e1ad1d51a29e0df95ccd9f746918b6 Merge: 925936e 3397409 Author: Ingo Molnar Date: Thu Oct 1 11:20:33 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up latest fixes and update to latest upstream. Signed-off-by: Ingo Molnar commit 2ccdc450e658053681202d42ac64b3638f22dc1a Author: Arnaldo Carvalho de Melo Date: Thu Sep 24 14:24:00 2009 -0700 perf top: Remove dead {min,max}_ip unused variables Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090924212400.GA15321@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 140318aaa924ce9664ff59366993228cf1547f1d Author: Takashi Iwai Date: Thu Oct 1 08:40:32 2009 +0200 ASoC: Fix snd_soc_dai_set_pll() calls in neo1973_*.c Fix the missing argument of snd_soc_dai_set_pll() in neo1973_*.c, which was forgotten in the commit 85488037bb. Signed-off-by: Takashi Iwai commit acd47100914b2896d0699febefd077f85c4dd272 Author: Krzysztof Helt Date: Thu Oct 1 00:10:34 2009 +0200 ALSA: sscape: convert to firmware loader framework The conversion solves the problem that firmware size was set to 64KB while non PnP cards have 128KB firmware files. An additional firmware initialization code has been moved from the OSS driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit bb26276744a80d066681836f4d49c70010b129d6 Author: Takashi Iwai Date: Thu Oct 1 07:39:45 2009 +0200 ASoC: Fix build errors of wm8711.c with SPI Fix a couple of typos and a missing header file inclusion to build wm8711.c properly with CONFIG_SPI_MASTER. Signed-off-by: Takashi Iwai commit 23acb98de5a4109a60b5fe3f0439389218b039d7 Author: Rajiv Andrade Date: Wed Sep 30 12:26:55 2009 -0300 TPM: fix pcrread The previously sent patch: http://marc.info/?l=tpmdd-devel&m=125208945007834&w=2 Had its first hunk cropped when merged, submitting only this first hunk again. Signed-off-by: Jason Gunthorpe Cc: Debora Velarde Cc: Marcel Selhorst Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Rajiv Andrade Acked-by: Mimi Zohar Tested-by: Mimi Zohar Signed-off-by: James Morris commit aa983d9d63c38f596fb87754205da9b7a8d2f6fd Author: Mark Brown Date: Wed Sep 30 14:16:11 2009 +0100 ASoC: Factor out analogue platform data from WM8993 This is also shared with newer CODECs. Signed-off-by: Mark Brown commit 4c0bccbe66ffe34f7bc88d29c345f9a7888656eb Merge: 4fa9c1a c36b2fc Author: Mark Brown Date: Wed Sep 30 15:48:38 2009 +0100 Merge branch 'upstream/wm8974' into for-2.6.33 commit c36b2fc73a6c0e7b185b17d594b38398ce1f7fff Author: Mark Brown Date: Wed Sep 30 14:31:38 2009 +0100 ASoC: Clean up WM8974 PLL configuration Don't use a static for WM8974 PLL factors - we don't support more than one device so it won't happen but no sense in leaving the race condition hanging around. Also, pre_div is a single bit and it's a bit simpler if we move the handling of the factor of 4 in the output into the coefficient setup. Signed-off-by: Mark Brown commit 4fa9c1a5953441e06dbde7b6a655cbf6618e61dd Author: Chaithrika U S Date: Wed Sep 30 17:32:27 2009 -0400 ASoC: DaVinci: McASP FIFO related updates The DMA params for McASP with FIFO has been updated so that it works for various FIFO levels. A member- 'fifo_level' has been added to the DMA params data structure. The fifo_level can be adjusted by the tx[rx]_numevt platform data. This is relevant only for DA8xx/OMAP-L1xx platforms. This implementation has been tested for numevt values 1, 2, 4, 8. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit cad3071424edd7854f63aa80d09473e84f49ed79 Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 17:08:18 2009 -0300 perf trace: Remove dead code Several variables are not used at all, cut'n'paste leftovers. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: "H. Peter Anvin" LKML-Reference: <20090928200818.GF3361@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a80deb622dba7dfb65d9e27b6b74b7c1963c3635 Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 15:23:51 2009 -0300 perf sched: Remove dead code Several variables are not used at all, cut'n'paste leftovers. Also check if the sample_type is RAW earlier, to avoid needless searches. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 1b46cddfccfec4cc67b187fb53d78198de6a057c Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 14:48:46 2009 -0300 perf tools: Use rb_tree for maps Threads can have many and kernel modules will be represented as a tree of maps as well. Ah, and for a perf.data with 146607 samples: Before: [root@doppio ~]# perf stat -r 5 perf report > /dev/null Performance counter stats for 'perf report' (5 runs): 699.823680 task-clock-msecs # 0.991 CPUs ( +- 0.454% ) 74 context-switches # 0.000 M/sec ( +- 1.709% ) 2 CPU-migrations # 0.000 M/sec ( +- 17.008% ) 23114 page-faults # 0.033 M/sec ( +- 0.000% ) 1381257019 cycles # 1973.721 M/sec ( +- 0.290% ) 1456894438 instructions # 1.055 IPC ( +- 0.007% ) 18779818 cache-references # 26.835 M/sec ( +- 0.380% ) 641799 cache-misses # 0.917 M/sec ( +- 1.200% ) 0.705972729 seconds time elapsed ( +- 0.501% ) [root@doppio ~]# After Performance counter stats for 'perf report' (5 runs): 691.261451 task-clock-msecs # 0.993 CPUs ( +- 0.307% ) 72 context-switches # 0.000 M/sec ( +- 0.829% ) 6 CPU-migrations # 0.000 M/sec ( +- 18.409% ) 23127 page-faults # 0.033 M/sec ( +- 0.000% ) 1366395876 cycles # 1976.670 M/sec ( +- 0.153% ) 1443136016 instructions # 1.056 IPC ( +- 0.012% ) 17956402 cache-references # 25.976 M/sec ( +- 0.325% ) 661924 cache-misses # 0.958 M/sec ( +- 1.335% ) 0.696127275 seconds time elapsed ( +- 0.377% ) I.e. we see some speedup too. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: "H. Peter Anvin" LKML-Reference: <20090928174846.GA3361@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 3d1d07ecd2009f65cb2091563fa21f9600c36774 Author: John Kacur Date: Mon Sep 28 15:32:55 2009 +0200 perf tools: Put common histogram functions in their own file Move histogram related functions into their own files (hist.c and hist.h) and make use of them in builtin-annotate.c and builtin-report.c. Signed-off-by: John Kacur Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit af8ff04917169805b151280155bf772d3ca9bec0 Author: Eric Paris Date: Sun Sep 20 21:23:01 2009 -0400 SELinux: reset the security_ops before flushing the avc cache This patch resets the security_ops to the secondary_ops before it flushes the avc. It's still possible that a task on another processor could have already passed the security_ops dereference and be executing an selinux hook function which would add a new avc entry. That entry would still not be freed. This should however help to reduce the number of needless avcs the kernel has when selinux is disabled at run time. There is no wasted memory if selinux is disabled on the command line or not compiled. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1669b049db50fc7f1d4e694fb115a0f408c63fce Merge: 7f36678 17d857b Author: James Morris Date: Wed Sep 30 07:47:33 2009 +1000 Merge branch 'master' into next commit ff60fab71bb3b4fdbf8caf57ff3739ffd0887396 Author: Arjan van de Ven Date: Mon Sep 28 14:21:22 2009 +0200 x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy GCC provides reasonable memset/memcpy functions itself, with __builtin_memset and __builtin_memcpy. For the "unknown" cases, it'll fall back to our current existing functions, but for fixed size versions it'll inline something smart. Quite often that will be the same as we have now, but sometimes it can do something smarter (for example, if the code then sets the first member of a struct, it can do a shorter memset). In addition, and this is more important, gcc knows which registers and such are not clobbered (while for our asm version it pretty much acts like a compiler barrier), so for various cases it can avoid reloading values. The effect on codesize is shown below on my typical laptop .config: text data bss dec hex filename 5605675 2041100 6525148 14171923 d83f13 vmlinux.before 5595849 2041668 6525148 14162665 d81ae9 vmlinux.after Due to some not-so-good behavior in the gcc 3.x series, this change is only done for GCC 4.x and above. Signed-off-by: Arjan van de Ven LKML-Reference: <20090928142122.6fc57e9c@infradead.org> Signed-off-by: H. Peter Anvin commit 925936ebf35a95c290e010b784c962164e6728f3 Author: Frederic Weisbecker Date: Mon Sep 28 17:12:49 2009 +0200 tracing: Pushdown the bkl tracepoints calls Currently we are calling the bkl tracepoint callbacks just before the bkl lock/unlock operations, ie the tracepoint call is not inside a lock_kernel() function but inside a lock_kernel() macro. Hence the bkl trace event header must be included from smp_lock.h. This raises some nasty circular header dependencies: linux/smp_lock.h -> trace/events/bkl.h -> trace/define_trace.h -> trace/ftrace.h -> linux/ftrace_event.h -> linux/hardirq.h -> linux/smp_lock.h This results in incomplete event declarations, spurious event definitions and other kind of funny behaviours. This is hardly fixable without ugly workarounds. So instead, we push the file name, line number and function name as lock_kernel() parameters, so that we only deal with the trace event header from lib/kernel_lock.c This adds two parameters to lock_kernel() and unlock_kernel() but it should be fine wrt to performances because this pair dos not seem to be called in fast paths. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Ingo Molnar Cc: Li Zefan commit be2500b8353d41463399e997fe8562f772dcaaba Author: Lopez Cruz, Misael Date: Fri Sep 25 21:02:49 2009 -0500 ASoC: Add PDM DAI format definition Add DAI format definition for PDM interfaces. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 71623855e20c3febebb5fa60528cde2592678bd5 Author: Takashi Iwai Date: Mon Sep 28 13:14:04 2009 +0200 ALSA: hda - Enable MSI as default Since the recent kernel can handle MSI properly on non-Intel platforms, let's enable MSI as default. If any borken device is found, we can add the quirk entry to the list, which is currently empty. Signed-off-by: Takashi Iwai commit 08d7a253e40db5a3b082bd7409b5f2c4f2184e59 Merge: 17d857b 3d80dca Author: Takashi Iwai Date: Mon Sep 28 13:01:57 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 62428f7b8c873d43be8201e66392c3aad82fec93 Author: Clemens Ladisch Date: Mon Sep 28 11:22:18 2009 +0200 sound: oxygen: fix input monitor control names Insert "Playback" into the input monitor control names to prevent alsa-lib from treating these controls as global controls. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 1ff048869eb8e8408856e23b3dc6af094491f837 Author: Clemens Ladisch Date: Mon Sep 28 11:21:51 2009 +0200 sound: oxygen: add high-pass filter control Add a control that allows disabling the high-pass filter of the WM8785 ADC. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4852ad02476ab2bbc874f6f8fda9e677e0f09c87 Author: Clemens Ladisch Date: Mon Sep 28 11:21:21 2009 +0200 sound: oxygen: add digital filter control Add a control to select between sharp and slow roll-of filter responses of the DACs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 973dca93a3d46cca7e4743300f8a510b779906af Author: Clemens Ladisch Date: Mon Sep 28 11:20:47 2009 +0200 sound: virtuoso: add PCM1796 oversampling control Add a control to increase the oversampling factor to 128x on cards with PCM1796 or PCM1792A DACs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 76ffe1e3fb2f65e98d7ed001c5a2b6f334655364 Author: Clemens Ladisch Date: Mon Sep 28 11:20:11 2009 +0200 sound: oxygen: allow custom MCLK rates Add a callback that allows model drivers to modify the default I2S MCLK rate. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a361e247b4e36c567b44fef354ab595458422d44 Author: Clemens Ladisch Date: Mon Sep 28 11:19:19 2009 +0200 sound: virtuoso: add headphone impedance control Add a mixer control to adjust the headphone amplifier output for headphones with different impedances. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6f0de3ce068e48b033b5e4d0822b47218e9d206c Author: Clemens Ladisch Date: Mon Sep 28 11:18:45 2009 +0200 sound: oxygen: cache codec registers Keep a cache of codec registers to avoid unnecessary writes. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit dc0adf48daa81b05765d3c5ebab76321f77e9d21 Author: Clemens Ladisch Date: Mon Sep 28 11:17:36 2009 +0200 sound: oxygen: more hardware documentation Add some comments describing the hardware pin routing. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3d8bb454c4fbe18cea1adfd4183a4a9ef5f0ef04 Author: Clemens Ladisch Date: Mon Sep 28 11:16:41 2009 +0200 sound: oxygen: add stereo upmixing to center/LFE channels Add the possibility to route a mix of the two channels of stereo data to the center and LFE outputs. This is implemented only for models where the DACs support this, i.e., for the Xonar D1 and DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 75919d7c057be888c7cd7b192fad02182260b04a Author: Clemens Ladisch Date: Mon Sep 28 11:15:49 2009 +0200 sound: oxygen: better defaults for upmixing control On card models with two-channel outputs, the base driver can automatically disable the upmixing control so that the model drivers do not need to do this. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 268304f4c4f0b8677d67400f04ad4e0271ec3742 Author: Clemens Ladisch Date: Mon Sep 28 11:15:01 2009 +0200 sound: virtuoso: fix Xonar Essence ST support The Essence ST uses the CS2000 chip to generate the DAC master clock, so we better initialize and program it appropriately. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 65c3ac885ce9852852b895a4a62212f62cb5f2e9 Author: Clemens Ladisch Date: Mon Sep 28 11:11:27 2009 +0200 sound: virtuoso: split virtuoso.c The virtuoso.c file has become rather big. This patch splits it up so that only code for very similar card models is in one file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 362bc24d6746bcd49bb4853fc5aa7d4c728b3f9e Author: Clemens Ladisch Date: Mon Sep 28 11:05:58 2009 +0200 sound: oxygen: fix for PI7C9X110 compatibility If the card is used with a Pericom PI7C9X110 PCI-E/PCI bridge, reconfigure the latter's PCI buffering to fix an unknown problem. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 87b61902ce3dec23a2d8256b9cfcf4e28786a320 Author: Clemens Ladisch Date: Mon Sep 28 11:05:18 2009 +0200 sound: oxygen: do not try to restore nonexistent EEPROM On cards where the EEPROM was deliberately omitted, we do not need to try to restore the EEPROM's contents. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f0968e3f7a8ea30728d2580d3043a30ea9994ec6 Author: Krzysztof Helt Date: Sun Sep 27 23:08:40 2009 +0200 ALSA: sscape: add supoort for SPEA Media FX/Reveal SC-600 Move code from the OSS sscape driver in order to support old Soundscape OEM models. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9f0cf4adb6aa0bfccf675c938124e68f7f06349d Author: Arjan van de Ven Date: Sat Sep 26 14:33:01 2009 +0200 x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() gcc (4.x) supports the __builtin_object_size() builtin, which reports the size of an object that a pointer point to, when known at compile time. If the buffer size is not known at compile time, a constant -1 is returned. This patch uses this feature to add a sanity check to copy_from_user(); if the target buffer is known to be smaller than the copy size, the copy is aborted and a WARNing is emitted in memory debug mode. These extra checks compile away when the object size is not known, or if both the buffer size and the copy length are constants. Signed-off-by: Arjan van de Ven LKML-Reference: <20090926143301.2c396b94@infradead.org> Signed-off-by: Ingo Molnar commit f34762b64704814838619c1d258bebf19004f5cd Author: Graeme Gregory Date: Fri Sep 25 13:30:26 2009 +0100 ASoC: pxa-ssp increase max_channels to 8 When running in TDM mode there can be more than 2 channels used. Datasheet has figures for upto 8 channels so increase max_channels on all SSP interfaces to this figure. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown commit 7f366784f5c2b8fc0658b5b374f4c63ee42c789f Author: Rajiv Andrade Date: Thu Sep 24 16:27:46 2009 -0300 TPM: increase default TPM buffer The TPM Working Group requested this communication buffer increase given that a particular TPM vendor can support a TPM_SHA1Start command input bigger than the current size. Signed-off-by: Rajiv Andrade Signed-off-by: James Morris commit 3f6fe06dbf67b46d36fedec502300e04dffeb67a Author: Frederic Weisbecker Date: Thu Sep 24 21:31:51 2009 +0200 tracing/filters: Unify the regex parsing helpers The filter code has stolen the regex parsing function from ftrace to get the regex support. We have duplicated this code, so factorize it in the filter area and make it generally available, as the filter code is the most suited to host this feature. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi Cc: Li Zefan commit 1889d20922d14a97b2099fa4d47587217c0ba48b Author: Frederic Weisbecker Date: Thu Sep 24 21:10:44 2009 +0200 tracing/filters: Provide basic regex support This patch provides basic support for regular expressions in filters. It supports the following types of regexp: - *match_beginning - *match_middle* - match_end* - !don't match Example: cd /debug/tracing/events/bkl/lock_kernel echo 'file == "*reiserfs*"' > filter echo 1 > enable gedit-4941 [000] 457.735437: lock_kernel: depth: 0, fs/reiserfs/namei.c:334 reiserfs_lookup() sync_supers-227 [001] 461.379985: lock_kernel: depth: 0, fs/reiserfs/super.c:69 reiserfs_sync_fs() sync_supers-227 [000] 461.383096: lock_kernel: depth: 0, fs/reiserfs/journal.c:1069 flush_commit_list() reiserfs/1-1369 [001] 461.479885: lock_kernel: depth: 0, fs/reiserfs/journal.c:3509 flush_async_commits() Every string is now handled as a regexp in the filter framework, which helps to factorize the code for handling both simple strings and regexp comparisons. (The regexp parsing code has been wildly cherry picked from ftrace.c written by Steve.) v2: Simplify the whole and drop the filter_regex file Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi Cc: Li Zefan commit dd68ada2d417e57b848822a1407b5317a54136c5 Author: John Kacur Date: Thu Sep 24 18:02:49 2009 +0200 perf tools: Create util/sort.and use it Create util/sort.[ch] and move common functionality for builtin-report.c and builtin-annotate.c there, and make use of it. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8b40f521cf1c9750eab0c04da9075e7484675e9c Author: John Kacur Date: Thu Sep 24 18:02:18 2009 +0200 perf tools: Protect header files with a consistent style There was a colorful mix of header guards - standardize them. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit cbfeb267cb0ff632dbc8ff02685012bee2e87434 Author: John Kacur Date: Thu Sep 24 18:01:51 2009 +0200 perf annotate: Add the cmp_null function and make use of it This function exists in builtin-report.c but not in builtin-annotate.c Functions that use cmp_null are shorter and clearer. Synchronizing functions between these two files will also make it easier to potential share code in the future. Signed-off-by: John Kacur Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f3f3f0092477d0165f3f1bf0fd518550b2abd097 Author: Frederic Weisbecker Date: Thu Sep 24 15:27:41 2009 +0200 tracing/event: Cleanup the useless dentry variable Cleanup the useless dentry variable while creating a kernel event set of files. trace_create_file() warns if it fails to create the file anyway, and we don't store the dentry anywhere. v2: Fix a small conflict in kernel/trace/trace_events.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit 737f453fd115ea0c9642ed6b30e37e296a4e3ed7 Author: Frederic Weisbecker Date: Sat Aug 1 03:42:44 2009 +0200 tracing/filters: Cleanup useless headers Cleanup remaining headers inclusion that were only useful when the filter framework and its tracing related filesystem user interface weren't yet separated. v2: Keep module.h, needed for EXPORT_SYMBOL_GPL Signed-off-by: Frederic Weisbecker Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan commit 96a2c464de07d7c72988db851c029b204fc59108 Author: Frederic Weisbecker Date: Sat Aug 1 01:34:24 2009 +0200 tracing/bkl: Add bkl ftrace events Add two events lock_kernel and unlock_kernel() to trace the bkl uses. This opens the door for userspace tools to perform statistics about the callsites that use it, dependencies with other locks (by pairing the trace with lock events), use with recursivity and so on... The {__reacquire,release}_kernel_lock() events are not traced because these are called from schedule, thus the sched events are sufficient to trace them. Example of a trace: hald-addon-stor-4152 [000] 165.875501: unlock_kernel: depth: 0, fs/block_dev.c:1358 __blkdev_put() hald-addon-stor-4152 [000] 167.832974: lock_kernel: depth: 0, fs/block_dev.c:1167 __blkdev_get() How to get the callsites that acquire it recursively: cd /debug/tracing/events/bkl echo "lock_depth > 0" > filter firefox-4951 [001] 206.276967: unlock_kernel: depth: 1, fs/reiserfs/super.c:575 reiserfs_dirty_inode() You can also filter by file and/or line. v2: Use of FILTER_PTR_STRING attribute for files and lines fields to make them traceable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit d7a4b414eed51f1653bb05ebe84122bf9a7ae18b Merge: 1f0ab40 a724ead Author: Frederic Weisbecker Date: Wed Sep 23 23:08:43 2009 +0200 Merge commit 'linus/master' into tracing/kprobes Conflicts: kernel/trace/Makefile kernel/trace/trace.h kernel/trace/trace_event_types.h kernel/trace/trace_export.c Merge reason: Sync with latest significant tracing core changes. commit 2c9ee33d37a6f3808c4319f0849671fafa8a6f4c Merge: 766df6d 539d3d8 Author: Mark Brown Date: Wed Sep 23 10:54:06 2009 -0700 Merge branch 'for-2.6.32' into for-2.6.33 commit 766df6d98f9c28dfc6f72c23a010819719e4c3e0 Author: Barry Song Date: Wed Sep 23 11:51:04 2009 -0400 ASoC: Blackfin I2S: use dai state rather than local counter Since the active field of the dai already tells us the stream activity, the local counter variable is redundant and can be replaced. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 4f272341c7a42a71586523f196b242bccde3be8c Author: Tobias Hansen Date: Tue Sep 22 16:52:08 2009 +0200 ALSA: snd-usb-us122l: add support for US-144 Adds support for US-144 when attached on USB1.1. Unlike the US-122L it uses both USB interfaces 0 and 1. Signed-off-by: Tobias Hansen Signed-off-by: Takashi Iwai commit 3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5 Author: Ingo Molnar Date: Tue Sep 22 16:18:09 2009 +0200 printk: Remove ratelimit.h from kernel.h Decouple kernel.h from ratelimit.h: the global declaration of printk's ratelimit_state is not needed, and it leads to messy circular dependencies due to ratelimit.h's (new) adding of a spinlock_types.h include. Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit edaac8e3167501cda336231d00611bf59c164346 Author: Ingo Molnar Date: Tue Sep 22 14:44:11 2009 +0200 ratelimit: Fix/allow use in atomic contexts I'd like to use printk_ratelimit() in NMI context, but it's not robust right now due to spinlock usage in lib/ratelimit.c. If an NMI is unlucky enough to hit just that spot we might lock up trying to take the spinlock again. Fix that by using a trylock variant. If we contend on that lock we can genuinely skip the message because the state is just being accessed by another CPU (or by this CPU). ( We could use atomics for the suppressed messages field, but i doubt it matters in practice and it makes the code heavier. ) Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit 979f693def9084a452846365dfde5dcb28366333 Author: Ingo Molnar Date: Tue Sep 22 14:44:11 2009 +0200 ratelimit: Use per ratelimit context locking I'd like to use printk_ratelimit() in atomic context, but that's not possible right now due to the spinlock usage this commit introduced more than a year ago: 717115e: printk ratelimiting rewrite As a first step push the lock into the ratelimit state structure. This allows us to deal with locking failures to be considered as an event related to that state being too busy. Also clean up the code a bit (without changing functionality): - tidy up the definitions - clean up the code flow This also shrinks the code a tiny bit: text data bss dec hex filename 264 0 4 268 10c ratelimit.o.before 255 0 0 255 ff ratelimit.o.after ( Whole-kernel data size got a bit larger, because we have two ratelimit-state data structures right now. ) Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit 6ef80706184be792499a4485a7957f2660b6a076 Author: Pavel Hofman Date: Wed Sep 16 22:25:41 2009 +0200 ALSA: ice1724 - Infrasonic Quartet support * three external clock types * all controls supported Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 1ff97cb9dd9f53b33ce6710a4f861f43e70e8ca4 Author: Pavel Hofman Date: Wed Sep 16 22:25:40 2009 +0200 ALSA: ice1724 - Support for multiple external clock types * Support for customization of the external clock names * Adding hooks to playback_pro_open and capture_pro_open, allowing e.g. limiting available stream rates to a single value when the external clock rate is detected Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 6796d5a05f4d3caad17d2586b3e5776fda50ef82 Author: Pavel Hofman Date: Wed Sep 16 22:25:39 2009 +0200 ALSA: ice1724 - pro-rate-locking makes sense only for internal clock mode * pro-rate-locking applies to internal clock mode only * required rate and current rate are compared for internal clock mode only Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 494703062b6e6ef5e72364aafc9bcbc172d53dea Author: Pavel Hofman Date: Wed Sep 16 22:25:38 2009 +0200 ALSA: ice1724 - adding GPIO routines for mask and direction * get/set routines for GPIO mask and direction Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 42cfa276aebd28e5cc4350ff6c7d75f1cb84dd98 Author: Pavel Hofman Date: Wed Sep 16 22:25:37 2009 +0200 ALSA: ak4113 support * complete support for ak4113 * based on code for ak4114 and ak4117 Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 8f34692f63d66805b51ff408f4067748d3c1c3fd Author: Pavel Hofman Date: Wed Sep 16 22:25:36 2009 +0200 ALSA: ak4620 support, codec regs listed in proc * complete support for ak4620 * codec regs listed in proc for all codecs/chips * adding total regs for each codec * fixing nb. of steps in input attenuation controls Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit c0a9eedf9acafb083adf3ddbff0a1e4d6d9a6949 Author: Pavel Hofman Date: Wed Sep 16 22:25:35 2009 +0200 ALSA: ak4114 - fix errors in output selector bits * the previous version had a typo - values of AK4114_OPS10-12 were identical with AK4114_OPS00-02 * Since no cards actually use this feature, the bug was not identified earlier Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit e0274b0a300e58cad19ab347566c68762bb22d2c Merge: d62ab35 b5ab887 Author: Mark Brown Date: Mon Sep 21 04:54:21 2009 -0700 Merge branch 'upstream/wm8711' into for-2.6.33 commit d62ab3589462d406e98731799361f46095467882 Author: Mark Brown Date: Mon Sep 21 04:21:47 2009 -0700 ASoC: Convert soc-cache to use C99 style initialisers for the table Signed-off-by: Mark Brown commit d01d4827858cdc2e1c437c87ab65ec0a00fd40f8 Author: Heiko Carstens Date: Mon Sep 21 11:06:27 2009 +0200 sched: Always show Cpus_allowed field in /proc//status The Cpus_allowed fields in /proc//status is currently only shown in case of CONFIG_CPUSETS. However their contents are also useful for the !CONFIG_CPUSETS case. So change the current behaviour and always show these fields. Signed-off-by: Heiko Carstens Cc: Andrew Morton Cc: Oleg Nesterov Cc: Peter Zijlstra LKML-Reference: <20090921090627.GD4649@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit d0f5fa17aa63262685e43b798ca0830d89786235 Author: jassi brar Date: Sat Sep 19 09:46:06 2009 +0900 ASoC: Support WM8580 based audio subsystem on SMDK64xx machines New machine driver for WM8580 I2S i/f on SMDK64XX. By default SoC-Slave is set and WM8580 is configured to use it's PLLA to generate clocks from a 12MHz crystal attached to WM8580. [Added dependency on BROKEN since the IISv4 interface hasn't been merged yet, fixed the PLL API usage and removed the disabling of the PLL in the hw_free function since that'll break simultaneous playback and record -- broonie.] Signed-off-by: Jassi Signed-off-by: Mark Brown commit 9f072b7b2260a588bfb5fb43418c3358104e7c13 Merge: b1cd6b9 0c31cf3 Author: Mark Brown Date: Fri Sep 18 15:09:44 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit b1cd6b9ec7c749ddfad628c8c12659591ae195e6 Author: Jassi Date: Fri Sep 18 15:22:27 2009 +0900 ASoC: Return correct codec clock in s3c64xx-i2s Instead of always returnig pointer to the 'audio-bus' clock, check which clock is used to generate internal clocks and then return it's pointer. Signed-off-by: Jassi Signed-off-by: Mark Brown commit 193be0ee17dd7ea309ddab1093da17e5924d7f36 Author: Frederic Weisbecker Date: Thu Sep 17 05:31:37 2009 +0200 kill-the-bkl/reiserfs: Fix induced mm->mmap_sem to sysfs_mutex dependency Alexander Beregalov reported the following warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-03149-gdcc030a #1 ------------------------------------------------------- udevadm/716 is trying to acquire lock: (&mm->mmap_sem){++++++}, at: [] might_fault+0x4a/0xa0 but task is already holding lock: (sysfs_mutex){+.+.+.}, at: [] sysfs_readdir+0x5a/0x200 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (sysfs_mutex){+.+.+.}: [...] -> #2 (&bdev->bd_mutex){+.+.+.}: [...] -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: [...] -> #0 (&mm->mmap_sem){++++++}: [...] On reiserfs mount path, we take the reiserfs lock and while initializing the journal, we open the device, taking the bdev->bd_mutex. Then rescan_partition() may signal the change to sysfs. We have then the following dependency: reiserfs_lock -> bd_mutex -> sysfs_mutex Later, while entering reiserfs_readpage() after a pagefault in an mmaped reiserfs file, we are holding the mm->mmap_sem, and we are going to take the reiserfs lock too. We have then the following dependency: mm->mmap_sem -> reiserfs_lock which, expanded with the previous dependency gives us: mm->mmap_sem -> reiserfs_lock -> bd_mutex -> sysfs_mutex Now while entering the sysfs readdir path, we are holding the sysfs_mutex. And when we copy a directory entry to the user buffer, we might fault and then take the mm->mmap_sem lock. Which leads to the circular locking dependency reported. We can fix that by relaxing the reiserfs lock during the call to journal_init_dev(), which is the place where we open the mounted device. This is fine to relax the lock here because we are in the begining of the reiserfs mount path and there is nothing to protect at this time, the journal is not intialized. We just keep this lock around for paranoid reasons. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 1f0ab40976460bc4673fa204ce917a725185d8f2 Author: Ananth N Mavinakayanahalli Date: Tue Sep 15 10:43:07 2009 +0530 kprobes: Prevent re-registration of the same kprobe Prevent re-registration of the same kprobe. This situation, though unlikely, needs to be flagged since it can lead to a system crash if it's not handled. The core change itself is small, but the helper routine needed to be moved around a bit; hence the diffstat. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Cc: Jim Keniston Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090915051307.GB26458@in.ibm.com> Signed-off-by: Frederic Weisbecker commit 5a0d9050db4d1147722b42afef9011251b2651ee Author: Masami Hiramatsu Date: Mon Sep 14 16:49:37 2009 -0400 tracing/kprobes: Disable kprobe events by default after creation Disable newly created kprobe events by default, not to disturb another user using ftrace. "Disturb" means when someone is using ftrace and another user tries to use perf-tools, (in near future) if he defines new kprobe event via perf-tools, then new events will mess up the frace buffer. Fix this to allow proper and transparent kprobes events concurrent usage between ftrace users and perf users. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204937.18779.59422.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 74ebb63e7cd25f6fb02a45fc2ea7735bce1217c9 Author: Masami Hiramatsu Date: Mon Sep 14 16:49:28 2009 -0400 tracing/kprobes: Fix profiling alignment for perf_counter buffer Fix *probe_profile_func() to align buffer size, since perf_counter requires its buffer entries to be 8 bytes aligned. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204928.18779.60029.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 50d780560785b068c358675c5f0bf6c83b5c373e Author: Masami Hiramatsu Date: Mon Sep 14 16:49:20 2009 -0400 tracing/kprobes: Add probe handler dispatcher to support perf and ftrace concurrent use Add kprobe_dispatcher and kretprobe_dispatcher to dispatch event in both profile and tracing handlers. This allows simultaneous kprobe uses by ftrace and perf. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204920.18779.57555.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4fead8e46fded93cc0d432ced774d9a3a8d21bad Author: Masami Hiramatsu Date: Mon Sep 14 16:49:12 2009 -0400 ftrace: Fix trace_remove_event_call() to lock trace_event_mutex Lock not only event_mutex but also trace_event_mutex in trace_remove_event_call() to protect __unregister_ftrace_event(). Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204912.18779.68734.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 588bebb74fe87270f94c2810652bd683d63c4b54 Author: Masami Hiramatsu Date: Wed Sep 16 11:42:55 2009 -0400 ftrace: Fix trace_add_event_call() to initialize list Handle failure path in trace_add_event_call() to fix the below bug which occurred when I tried to add invalid event twice. Could not create debugfs 'kmalloc' directory Failed to register kprobe event: kmalloc Faild to register probe event(-1) ------------[ cut here ]------------ WARNING: at /home/mhiramat/ksrc/random-tracing/lib/list_debug.c:26 __list_add+0x27/0x5c() Hardware name: list_add corruption. next->prev should be prev (c07d78cc), but was 00001000. (next=d854236c). Modules linked in: sunrpc uinput virtio_net virtio_balloon i2c_piix4 pcspkr i2c_core virtio_blk virtio_pci virtio_ring virtio [last unloaded: scsi_wait_scan] Pid: 1394, comm: tee Not tainted 2.6.31-rc9 #51 Call Trace: [] warn_slowpath_common+0x65/0x7c [] ? __list_add+0x27/0x5c [] warn_slowpath_fmt+0x24/0x27 [] __list_add+0x27/0x5c [] list_add+0xa/0xc [] trace_add_event_call+0x60/0x97 [] command_trace_probe+0x42c/0x51b [] ? remove_wait_queue+0x22/0x27 [] ? __wake_up+0x32/0x3b [] probes_write+0xd4/0x10a [] ? probes_write+0x0/0x10a [] vfs_write+0x80/0xdf [] sys_write+0x3b/0x5d [] syscall_call+0x7/0xb ---[ end trace 2b962b5dc1fdc07d ]--- Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <4AB1077F.6020107@redhat.com> Signed-off-by: Frederic Weisbecker commit 2d5e067edc4635ff7515bfa9ab3edb38bc344cab Author: Masami Hiramatsu Date: Mon Sep 14 16:48:56 2009 -0400 tracing/kprobes: Fix trace_probe registration order Fix trace_probe registration order. ftrace_event_call and ftrace_event must be registered before kprobe/kretprobe, because tracing/profiling handlers dereference the event-id. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204856.18779.52961.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit f52487e9c0041842eeb77c6c48774414b1cede08 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:53 2009 -0400 tracing/kprobes: Support custom subsystem for each kprobe event Support specifying a custom subsystem(group) for each kprobe event. This allows users to create new group to control several probes at once, or add events to existing groups as additional tracepoints. New synopsis: p[:[subsys/]event-name] KADDR|KSYM[+offs] [ARGS] Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235353.22412.15149.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 8bb014895547eeeb9aa61a654f24e41e15919304 Author: Mark Brown Date: Wed Sep 16 19:38:53 2009 +0100 ASoC: Add S3C64xx IIS CDCLK source selection CDCLK can either be an output generated by the CPU, intended for use as the CODEC master clock, or an input (probably from the CODEC) providing a master clock for the IIS block. Signed-off-by: Mark Brown commit 9b95b166789d3ec57cea8cca0d42e602b8643ab0 Author: Miguel Aguilar Date: Wed Sep 2 15:33:59 2009 -0600 ASoC: Davinci: Add audio codec support for DM365 EVM This patch enables tlv320aic3101 support on DM365 EVM and it was tested on DM365 EVM rev c. Note: this patch was created based on temp/asoc branch. Signed-off-by: Miguel Aguilar Signed-off-by: Mark Brown commit 08db48f1ee1adf8919484f731d4ad6b264cfc564 Author: Barry Song Date: Tue Sep 15 11:24:52 2009 +0800 ASoC: use set_channel_map api to reorder channels for AD1938 and AD1836 Signed-off-by: Barry Song Signed-off-by: Mark Brown commit fd5ad654e665b5c30c8d755a106309c8ea9f3e7b Author: Jassi Date: Tue Sep 15 19:02:38 2009 +0900 ASoC: S3C I2S LRCLK polarity option. 1) Explicitly set LRCLK polarity for I2S Vs LSM/MSB modes. 2) Convert from numerical to bit-field values for BCLK selection. 3) Use proper error checking for return value from clk_get Signed-off-by: Jassi Signed-off-by: Mark Brown commit dca2d6ac09d9ef59ff46820d4f0c94b08a671202 Merge: d6a65df 1824090 Author: Ingo Molnar Date: Tue Sep 15 12:18:15 2009 +0200 Merge branch 'linus' into tracing/hw-breakpoints Conflicts: arch/x86/kernel/process_64.c Semantic conflict fixed in: arch/x86/kvm/x86.c Signed-off-by: Ingo Molnar commit b8a4754147d61f5359a765a3afd3eb03012aa052 Author: Borislav Petkov Date: Thu Jul 30 11:10:02 2009 +0200 x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus Since rdmsr_on_cpus and wrmsr_on_cpus are almost identical, unify them into a common __rwmsr_on_cpus helper thus avoiding code duplication. While at it, convert cpumask_t's to const struct cpumask *. Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 80503185989b2dd84170bb842e23d3fd45ebdf40 Author: Frederic Weisbecker Date: Tue Aug 25 04:18:06 2009 +0200 kill-the-bkl/reiserfs: panic in case of lock imbalance Until now, trying to unlock the reiserfs write lock whereas the current task doesn't hold it lead to a simple warning. We should actually warn and panic in this case to avoid the user datas to reach an unstable state. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 7e94277050e31aa4204060f03953bba72598cf7d Author: Frederic Weisbecker Date: Tue Aug 25 03:38:12 2009 +0200 kill-the-bkl/reiserfs: fix recursive reiserfs write lock in reiserfs_commit_write() reiserfs_commit_write() is always called with the write lock held. Thus the current calls to reiserfs_write_lock() in this function are acquiring the lock recursively. We can safely drop them. This also solves further assumptions for this lock to be really released while calling reiserfs_write_unlock(). Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit b10ab4c337a600456ed2d9daea0331016f7cdeeb Author: Frederic Weisbecker Date: Tue Aug 25 02:44:21 2009 +0200 kill-the-bkl/reiserfs: fix recursive reiserfs lock in reiserfs_mkdir() reiserfs_mkdir() acquires the reiserfs lock, assuming it has been called from the dir inodes callbacks, without the lock held. But it can also be called from other internal sites such as reiserfs_xattr_init() which already holds the lock. This recursive locking leads to further wrong assumptions. For example, later calls to reiserfs_mutex_lock_safe() won't actually unlock the reiserfs lock the time we acquire a given mutex, creating unexpected lock inversions. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit ae635c0bbd6c10aa62bf5149c6f41add59fbf4d2 Author: Frederic Weisbecker Date: Tue Aug 25 02:24:45 2009 +0200 kill-the-bkl/reiserfs: fix "reiserfs lock" / "inode mutex" lock inversion dependency reiserfs_xattr_init is called with the reiserfs write lock held, but if the ".reiserfs_priv" entry is not created, we take the superblock root directory inode mutex until .reiserfs_priv is created. This creates a lock dependency inversion against other sites such as reiserfs_file_release() which takes an inode mutex and the reiserfs lock after. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 08f14fc8963e585e65b71212ce8050607b9b6c36 Author: Frederic Weisbecker Date: Sat May 16 19:10:38 2009 +0200 kill-the-bkl/reiserfs: move the concurrent tree accesses checks per superblock When do_balance() balances the tree, a trick is performed to provide the ability for other tree writers/readers to check whether do_balance() is executing concurrently (requires CONFIG_REISERFS_CHECK). This is done to protect concurrent accesses to the tree. The trick is the following: When do_balance is called, a unique global variable called cur_tb takes a pointer to the current tree to be rebalanced. Once do_balance finishes its work, cur_tb takes the NULL value. Then, concurrent tree readers/writers just have to check the value of cur_tb to ensure do_balance isn't executing concurrently. If it is, then it proves that schedule() occured on do_balance(), which then relaxed the bkl that protected the tree. Now that the bkl has be turned into a mutex, this check is still fine even though do_balance() becomes preemptible: the write lock will not be automatically released on schedule(), so the tree is still protected. But this is only fine if we have a single reiserfs mountpoint. Indeed, because the bkl is a global lock, it didn't allowed concurrent executions between a tree reader/writer in a mount point and a do_balance() on another tree from another mountpoint. So assuming all these readers/writers weren't supposed to be reentrant, the current check now sometimes detect false positives with the current per-superblock mutex which allows this reentrancy. This patch keeps the concurrent tree accesses check but moves it per superblock, so that only trees from a same mount point are checked to be not accessed concurrently. [ Impact: fix spurious panic while running several reiserfs mount-points ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit c72e05756b900b3be24cd73a16de52bab80984c0 Author: Frederic Weisbecker Date: Sat May 16 18:12:08 2009 +0200 kill-the-bkl/reiserfs: acquire the inode mutex safely While searching a pathname, an inode mutex can be acquired in do_lookup() which calls reiserfs_lookup() which in turn acquires the write lock. On the other side reiserfs_fill_super() can acquire the write_lock and then call reiserfs_lookup_privroot() which can acquire an inode mutex (the root of the mount point). So we theoretically risk an AB - BA lock inversion that could lead to a deadlock. As for other lock dependencies found since the bkl to mutex conversion, the fix is to use reiserfs_mutex_lock_safe() which drops the lock dependency to the write lock. [ Impact: fix a possible deadlock with reiserfs ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 2ac626955ed62ee8596f00581f959cc86e6198d1 Author: Frederic Weisbecker Date: Thu May 14 02:56:39 2009 +0200 kill-the-bkl/reiserfs: unlock only when needed in search_by_key search_by_key() is the site which most requires the lock. This is mostly because it is a very central function and also because it releases/reaqcuires the write lock at least once each time it is called. Such release/reacquire creates a lot of contention in this place and also opens more the window which let another thread changing the tree. When it happens, the current path searching over the tree must be retried from the beggining (the root) which is a wasteful and time consuming recovery. This patch factorizes two release/reacquire sequences: - reading leaf nodes blocks - reading current block The latter immediately follows the former. The whole sequence is safe as a single unlocked section because we check just after if the tree has changed during these operations. Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit c63e3c0b2498adec921b06c670d12c8c74b85538 Author: Frederic Weisbecker Date: Fri May 8 20:01:09 2009 +0200 kill-the-bkl/reiserfs: use mutex_lock in reiserfs_mutex_lock_safe reiserfs_mutex_lock_safe() is a hack to avoid any dependency between an internal reiserfs mutex and the write lock, it has been proposed to follow the old bkl logic. The code does the following: while (!mutex_trylock(m)) { reiserfs_write_unlock(s); schedule(); reiserfs_write_lock(s); } It then imitate the implicit behaviour of the lock when it was a Bkl and hadn't such dependency: mutex_lock(m) { if (fastpath) let's go else { wait_for_mutex() { schedule() { unlock_kernel() reacquire_lock_kernel() } } } } The problem is that by using such explicit schedule(), we don't benefit of the adaptive mutex spinning on owner. The logic in use now is: reiserfs_write_unlock(s); mutex_lock(m); // -> possible adaptive spinning reiserfs_write_lock(s); [ Impact: restore the use of adaptive spinning mutexes in reiserfs ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit d6f5b0aa08078c3dabe377d5b1a6077e9c9352d3 Author: Frederic Weisbecker Date: Fri May 8 14:53:52 2009 +0200 kill-the-bkl/reiserfs: factorize the locking in reiserfs_write_end() reiserfs_write_end() is a hot path in reiserfs. We have two wasteful write lock lock/release inside that can be gathered without changing the code logic. This patch factorizes them out in a single protected section, reducing the number of contentions inside. [ Impact: reduce lock contention in a reiserfs hotpath ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 09eb47a7c52ad535aafca889e0b936c445c375ce Author: Frederic Weisbecker Date: Fri May 8 14:21:33 2009 +0200 kill-the-bkl/reiserfs: reduce number of contentions in search_by_key() search_by_key() is a central function in reiserfs which searches the patch in the fs tree from the root to a node given its key. It is the function that is most requesting the write lock because it's a path very often used. Also we forget to release the lock while reading the next tree node, making us holding the lock in a wasteful way. Then we release the lock while reading the current node and its childs, all-in-one. It should be safe because we have a reference to these blocks and even if we read a block that will be concurrently changed, we have an fs_changed check later that will make us retry the path from the root. [ Impact: release the write lock while unused in a hot path ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit b1c839bb2d8d6f1f6bf48f5c657752b4963f88f8 Author: Frederic Weisbecker Date: Fri May 8 01:05:06 2009 +0200 kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup() The write lock can be acquired recursively in reiserfs_lookup(). But we may want to *really* release the lock before possible rescheduling from a reiserfs_lookup() callee. Hence we want to only acquire the lock once (ie: not recursively). [ Impact: prevent from possible false unreleased write lock on sleeping ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 26931309a47747fd31b2ef029c29d47794c2d93d Author: Frederic Weisbecker Date: Thu May 7 23:48:44 2009 +0200 kill-the-bkl/reiserfs: lock only once on reiserfs_get_block() reiserfs_get_block() is one of these sites where the write lock might be acquired recursively. It's a particular problem because this function is called very often. It's a hot spot which needs to reschedule() periodically while converting direct items to indirect ones because it can take some time. Then if we are applying the write lock release/reacquire pattern on schedule() here, it may not produce the desired effect since we may have locked in more than one depth. The solution is to use reiserfs_write_lock_once() which won't try to reacquire the lock recursively. Then the lock will be *really* released before schedule(). Also, we only release the lock if TIF_NEED_RESCHED is set to not create wasteful numerous contentions. [ Impact: fix a too long holded lock case in reiserfs_get_block() ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit d663af807d8bb226394cb7e02f4665f6141a8140 Author: Frederic Weisbecker Date: Thu May 7 23:25:29 2009 +0200 kill-the-bkl/reiserfs: conditionaly release the write lock on fs_changed() The goal of fs_changed() is to check whether the tree changed during a schedule(). This is a BKL legacy. A recent patch added an explicit unconditional release/reacquire of the write lock around the cond_resched() called inside fs_changed. But it's wasteful to unconditionally do that, we are creating superfluous lock contention in !TIF_NEED_RESCHED case. This patch manage that by calling reiserfs_cond_resched() from fs_changed() which only releases the lock if we are going to reschedule. [ Impact: inject less lock contention and tree job retries ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit e43d3f21c502dec786f2885a75e25859f18d6ffa Author: Frederic Weisbecker Date: Thu May 7 22:51:20 2009 +0200 kill-the-BKL/reiserfs: add reiserfs_cond_resched() Usually, when we call cond_resched(), we want the write lock to be released and then reacquired once we return from scheduling. Not only does it follow the previous bkl based locking scheme, but it also let other waiters to get the lock. But if we aren't going to reschedule(), such as in !TIF_NEED_RESCHED case, it's useless to release the lock. Worse, if we release and reacquire the lock whereas it is not needed, we create useless contentions. Also if someone takes the lock while we are modifying or reading the tree, there are good chances we'll have to retry our operation, eg if the block we were seeeking has moved. So this patch introduces a helper which only unlock the write lock if we are going to schedule. [ Impact: prepare to inject less lock contention and less tree operation attempts ] Reported-by: Andi Kleen Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 6e3647acb4f200add1d8e0203514f7ac925ae463 Author: Frederic Weisbecker Date: Fri May 1 02:27:39 2009 +0200 kill-the-BKL/reiserfs: release the write lock on flush_commit_list() flush_commit_list() uses ll_rw_block() to commit the pending log blocks. ll_rw_block() might sleep, and the bkl was released at this point. Then we can also relax the write lock at this point. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 4c5eface5d0e4eb7f77be346193c2850e7e3b983 Author: Frederic Weisbecker Date: Fri May 1 01:44:57 2009 +0200 kill-the-BKL/reiserfs: release the write lock inside reiserfs_read_bitmap_block() reiserfs_read_bitmap_block() uses sb_bread() to read the bitmap block. This helper might sleep. Then, when the bkl was used, it was released at this point. We can then relax the write lock too here. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 148d3504c1d9f964cf14fafc46d2b7d1f0bed2b1 Author: Frederic Weisbecker Date: Fri May 1 01:10:52 2009 +0200 kill-the-BKL/reiserfs: release the write lock inside get_neighbors() get_neighbors() is used to get the left and/or right blocks against a given one in order to balance a tree. sb_bread() is used to read the buffer of these neighors blocks and while it waits for this operation, it might sleep. The bkl was released at this point, and then we can also release the write lock before calling sb_bread(). This is safe because if the filesystem is changed after this lock release, the function returns REPEAT_SEARCH (aka SCHEDULE_OCCURRED in the function header comments) in order to repeat the neighbhor research. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 5e69e3a4492ea5abfd2e8ddc575448becf28e4d9 Author: Frederic Weisbecker Date: Thu Apr 30 23:36:33 2009 +0200 kill-the-BKL/reiserfs: release write lock while rescheduling on prepare_for_delete_or_cut() prepare_for_delete_or_cut() can process several types of items, including indirect items, ie: items which contain no file data but pointers to unformatted nodes scattering the datas of a file. In this case it has to zero out these pointers to block numbers of unformatted nodes and release the bitmap from these block numbers. It can take some time, so a rescheduling() is performed between each block processed. We can safely release the write lock while rescheduling(), like the bkl did, because the code checks just after if the item has moved after sleeping. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit e6950a4da33fa84ef4402d29e2331cd5e5df9cb8 Author: Frederic Weisbecker Date: Thu Apr 30 23:04:32 2009 +0200 kill-the-BKL/reiserfs: release the write lock before rescheduling on do_journal_end() When do_journal_end() copies data to the journal blocks buffers in memory, it reschedules if needed between each block copied and dirtyfied. We can also release the write lock at this rescheduling stage, like did the bkl implicitly. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit f32049dc244f4d394c8faa161b4f13cb8c4f5c8c Author: Frederic Weisbecker Date: Thu Apr 30 22:05:25 2009 +0200 kill-the-BKL/reiserfs: release write lock on fs_changed() fs_changed() is a macro used by reiserfs to check whether its tree has been rebalanced. It has been designed to check parallel changes on the tree after calling a sleeping function, which released the Bkl. fs_changed() also calls cond_resched(), so that if rescheduling is needed, we are in the best place to do that, since we check if the tree has changed just after (because of the bkl release on schedule()). Even if we are not anymore using the Bkl, we still want to release the lock while we reschedule, so that other waiters for the lock can acquire it safely, because of the following __fs_changed() check. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit dc8f6d8936eb244eea452af689df5ee19e635206 Author: Frederic Weisbecker Date: Tue Apr 14 05:34:25 2009 +0200 kill-the-BKL/reiserfs: only acquire the write lock once in reiserfs_dirty_inode Impact: fix a deadlock reiserfs_dirty_inode() is the super_operations::dirty_inode() callback of reiserfs. It can be called from different contexts where the write lock can be already held. But this function also grab the write lock (possibly recursively). Subsequent release of the lock before sleep will actually not release the lock if the caller of mark_inode_dirty() (which in turn calls reiserfs_dirty_inode()) already owns the lock. A typical case: reiserfs_write_end() { acquire_write_lock() mark_inode_dirty() { reiserfs_dirty_inode() { reacquire_write_lock() { journal_begin() { do_journal_begin_r() { /* * fail to release, still * one depth of lock */ release_write_lock() reiserfs_wait_on_write_block() { wait_event() The event is usually provided by something which needs the write lock but it hasn't been released. We use reiserfs_write_lock_once() here to ensure we only grab the write lock in one level. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Chris Mason LKML-Reference: <1239680065-25013-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 22c963addcf426bef97a43f6e601f985f8082ed5 Author: Frederic Weisbecker Date: Tue Apr 14 05:34:24 2009 +0200 kill-the-BKL/reiserfs: lock only once in reiserfs_truncate_file Impact: fix a deadlock reiserfs_truncate_file() can be called from multiple context where the write lock can be already hold or not. This function also acquire (possibly recursively) the write lock. Subsequent releases before sleeping will not actually release the lock because we may be in more than one lock depth degree. A typical case is: reiserfs_file_release { acquire_the_lock() reiserfs_truncate_file() reacquire_the_lock() journal_begin() { do_journal_begin_r() { reiserfs_wait_on_write_block() { /* * Not released because still one * depth owned */ release_lock() wait_for_event() At this stage the event never happen because the one which provides it needs the write lock. We use reiserfs_write_lock_once() here to ensure that we don't acquire the write lock recursively. Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Alexander Beregalov Cc: Chris Mason LKML-Reference: <1239680065-25013-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit daf88c898312a22b5385655bc6e0b064eaa2efba Author: Frederic Weisbecker Date: Tue Apr 14 05:34:23 2009 +0200 kill-the-BKL/reiserfs: provide a tool to lock only once the write lock Sometimes we don't want to recursively hold the per superblock write lock because we want to be sure it is actually released when we come to sleep. This patch introduces the necessary tools for that. reiserfs_write_lock_once() does the same job than reiserfs_write_lock() except that it won't try to acquire recursively the lock if the current task already owns it. Also the lock_depth before the call of this function is returned. reiserfs_write_unlock_once() unlock only if reiserfs_write_lock_once() returned a depth equal to -1, ie: only if it actually locked. Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Alexander Beregalov Cc: Chris Mason LKML-Reference: <1239680065-25013-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a412f9efdd6424bf4bf28c8e8c92060b5e975482 Author: Frederic Weisbecker Date: Tue Apr 14 00:10:35 2009 +0200 reiserfs, kill-the-BKL: fix unsafe j_flush_mutex lock Impact: fix a deadlock The j_flush_mutex is acquired safely in journal.c: if we can't take it, we free the reiserfs per superblock lock and wait a bit. But we have a remaining place in kupdate_transactions() where j_flush_mutex is still acquired traditionnaly. Thus the following scenario (warned by lockdep) can happen: A B mutex_lock(&write_lock) mutex_lock(&write_lock) mutex_lock(&j_flush_mutex) mutex_lock(&j_flush_mutex) //block mutex_unlock(&write_lock) sleep... mutex_lock(&write_lock) //deadlock Fix this by using reiserfs_mutex_lock_safe() in kupdate_transactions(). Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney LKML-Reference: <1239660635-12940-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8ebc423238341b52912c7295b045a32477b33f09 Author: Frederic Weisbecker Date: Tue Apr 7 04:19:49 2009 +0200 reiserfs: kill-the-BKL This patch is an attempt to remove the Bkl based locking scheme from reiserfs and is intended. It is a bit inspired from an old attempt by Peter Zijlstra: http://lkml.indiana.edu/hypermail/linux/kernel/0704.2/2174.html The bkl is heavily used in this filesystem to prevent from concurrent write accesses on the filesystem. Reiserfs makes a deep use of the specific properties of the Bkl: - It can be acqquired recursively by a same task - It is released on the schedule() calls and reacquired when schedule() returns The two properties above are a roadmap for the reiserfs write locking so it's very hard to simply replace it with a common mutex. - We need a recursive-able locking unless we want to restructure several blocks of the code. - We need to identify the sites where the bkl was implictly relaxed (schedule, wait, sync, etc...) so that we can in turn release and reacquire our new lock explicitly. Such implicit releases of the lock are often required to let other resources producer/consumer do their job or we can suffer unexpected starvations or deadlocks. So the new lock that replaces the bkl here is a per superblock mutex with a specific property: it can be acquired recursively by a same task, like the bkl. For such purpose, we integrate a lock owner and a lock depth field on the superblock information structure. The first axis on this patch is to turn reiserfs_write_(un)lock() function into a wrapper to manage this mutex. Also some explicit calls to lock_kernel() have been converted to reiserfs_write_lock() helpers. The second axis is to find the important blocking sites (schedule...(), wait_on_buffer(), sync_dirty_buffer(), etc...) and then apply an explicit release of the write lock on these locations before blocking. Then we can safely wait for those who can give us resources or those who need some. Typically this is a fight between the current writer, the reiserfs workqueue (aka the async commiter) and the pdflush threads. The third axis is a consequence of the second. The write lock is usually on top of a lock dependency chain which can include the journal lock, the flush lock or the commit lock. So it's dangerous to release and trying to reacquire the write lock while we still hold other locks. This is fine with the bkl: T1 T2 lock_kernel() mutex_lock(A) unlock_kernel() // do something lock_kernel() mutex_lock(A) -> already locked by T1 schedule() (and then unlock_kernel()) lock_kernel() mutex_unlock(A) .... This is not fine with a mutex: T1 T2 mutex_lock(write) mutex_lock(A) mutex_unlock(write) // do something mutex_lock(write) mutex_lock(A) -> already locked by T1 schedule() mutex_lock(write) -> already locked by T2 deadlock The solution in this patch is to provide a helper which releases the write lock and sleep a bit if we can't lock a mutex that depend on it. It's another simulation of the bkl behaviour. The last axis is to locate the fs callbacks that are called with the bkl held, according to Documentation/filesystem/Locking. Those are: - reiserfs_remount - reiserfs_fill_super - reiserfs_put_super Reiserfs didn't need to explicitly lock because of the context of these callbacks. But now we must take care of that with the new locking. After this patch, reiserfs suffers from a slight performance regression (for now). On UP, a high volume write with dd reports an average of 27 MB/s instead of 30 MB/s without the patch applied. Signed-off-by: Frederic Weisbecker Reviewed-by: Ingo Molnar Cc: Jeff Mahoney Cc: Peter Zijlstra Cc: Bron Gondwana Cc: Andrew Morton Cc: Linus Torvalds Cc: Alexander Viro LKML-Reference: <1239070789-13354-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 472df3cbae8da6a949f1392a11958b8d21383735 Author: Barry Song <21cnbao@gmail.com> Date: Sat Sep 12 01:16:29 2009 +0800 ASoC: Provide API for reordering channels The patch adds an interface to set the relationship between audio channel number and slot number. The interface should be really useful because audio channel n doesn't always use slot n in all platforms. And for some devices, the relationship even can change with sound mode switch in 2.1,3.1,4.1,5.1,6.1,7.1 etc. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 6e9f23d1619f7badaf9090dac09e86a22d6061d8 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:45 2009 -0400 tracing/kprobes: Show event name in trace output Show event name in tracing/trace output. This also fixes kprobes events format to comply with other tracepoint events formats. Before patching: <...>-1447 [001] 1038282.286875: do_sys_open+0x0/0xd6: ... <...>-1447 [001] 1038282.286878: sys_openat+0xc/0xe <- do_sys_open: ... After patching: <...>-1447 [001] 1038282.286875: myprobe: (do_sys_open+0x0/0xd6) ... <...>-1447 [001] 1038282.286878: myretprobe: (sys_openat+0xc/0xe <- do_sys_open) ... Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235345.22412.76527.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit eca0d916f6429785bbc88db3ff66631cde62b432 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:38 2009 -0400 tracing/kprobes: Add argument name support Add argument name assignment support and remove "alias" lines from format. This allows user to assign unique name to each argument. For example, $ echo p do_sys_open dfd=a0 filename=a1 flags=a2 mode=a3 > kprobe_events This assigns dfd, filename, flags, and mode to 1st - 4th arguments respectively. Trace buffer shows those names too. <...>-1439 [000] 1200885.933147: do_sys_open+0x0/0xdf: dfd=ffffff9c filename=bfa898ac flags=8000 mode=0 This helps users to know what each value means. Users can filter each events by these names too. Note that you can not filter by argN anymore. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235337.22412.77383.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit e08d1c657f70bcaca11401cd6ac5c8fe59bd2bb7 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:30 2009 -0400 tracing/kprobes: Add event profiling support Add *probe_profile_enable/disable to support kprobes raw events sampling from perf counters, like other ftrace events, when CONFIG_PROFILE_EVENT=y. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235329.22412.94731.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4a846b443b4e8633057946a2234e23559a67ce42 Author: Masami Hiramatsu Date: Fri Sep 11 05:31:21 2009 +0200 tracing/kprobes: Cleanup kprobe tracer code. Simplify trace_probe to remove a union, and remove some redundant wrappers. And also, cleanup create_trace_probe() function. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235322.22412.52525.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 2fba0c8867af47f6455490e7b59e512dd180c027 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:14 2009 -0400 tracing/kprobes: Fix probe offset to be unsigned Prohibit user to specify negative offset from symbols. Since kprobe.offset is unsigned int, the offset must be always positive value. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235314.22412.64631.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit ad5cafcdb09c57008c990edd309c0a563b09f238 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:06 2009 -0400 x86/ptrace: Fix regs_get_argument_nth() to add correct offset Fix regs_get_argument_nth() to add correct offset bytes. Because offset_of() returns offset in byte, the offset should be added to char * instead of unsigned long *. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235306.22412.31613.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit a00e817f42663941ea0aa5f85a9d1c4f8b212839 Author: Masami Hiramatsu Date: Tue Sep 8 12:47:55 2009 -0400 kprobes/x86-32: Move irq-exit functions to kprobes section Move irq-exit functions to .kprobes.text section to protect against kprobes recursion. When I ran kprobe stress test on x86-32, I found below symbols cause unrecoverable recursive probing: ret_from_exception ret_from_intr check_userspace restore_all restore_all_notrace restore_nocheck irq_return And also, I found some interrupt/exception entry points that cause similar problems. This patch moves those symbols (including their container functions) to .kprobes.text section to prevent any kprobes probing. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090908164755.24050.81182.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit f12b4f546b4e327d5620a544a2bddab68de66027 Author: Masami Hiramatsu Date: Tue Sep 8 12:32:46 2009 -0400 x86: Add MMX support for instruction decoder Add MMX/SSE instructions to x86 opcode maps, since some of those instructions are used in the kernel. This also fixes failures in the x86 instruction decoder seftest. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Sam Ravnborg Cc: Frederic Weisbecker Cc: Ingo Molnar LKML-Reference: <20090908163246.23516.78835.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 8f8ffe2485bcaa890800681451d380779cea06af Merge: 7006957 d28daf9 Author: Frederic Weisbecker Date: Fri Sep 11 01:09:23 2009 +0200 Merge commit 'tracing/core' into tracing/kprobes Conflicts: kernel/trace/trace_export.c kernel/trace/trace_kprobe.c Merge reason: This topic branch lacks an important build fix in tracing/core: 0dd7b74787eaf7858c6c573353a83c3e2766e674: tracing: Fix double CPP substitution in TRACE_EVENT_FN that prevents from multiple tracepoint headers inclusion crashes. Signed-off-by: Frederic Weisbecker commit 2312fd8f6b252b7d3c1d74b20c75b7bff98bab65 Author: Joonyoung Shim Date: Thu Sep 10 00:12:43 2009 +0900 ASoC: AK4671: add ak4671 codec driver The AK4671 is a stereo CODEC with a built-in Microphone-Amplifier, Receiver-Amplifier and Headphone-Amplifier. The datasheet for the ak4671 can find at the following url: http://www.asahi-kasei.co.jp/akm/en/product/ak4671/ak4671_f01e.pdf Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit f9e2bdfdbb4c9da13422b349227be8c7b41dbd44 Author: Paul Mundt Date: Wed Sep 9 17:14:19 2009 +0900 sh: Factor in cpu id for selection of cache colour fixmap. In the SMP VIPT case the page copy/clear ops still perform colouring, care needs to be taken that CPUs don't end up stepping on each other, so we give them a bit of room to work with. At the same time, we reduce the worst-case colouring given that these pages are always consumed. Signed-off-by: Paul Mundt commit c4845a4b2288a9e5d96a0558e474809028c8aff3 Author: Paul Mundt Date: Wed Sep 9 17:13:07 2009 +0900 sh: Fix up redundant cache flushing for PAGE_SIZE > 4k. If PAGE_SIZE is presently over 4k we do a lot of extra flushing given that we purge the cache 4k at a time. Make it explicitly 4k per iteration, rather than iterating for PAGE_SIZE before looping over again. Signed-off-by: Paul Mundt commit deaef20e9789d93c06d2d3b5ffc99939814802ca Author: Paul Mundt Date: Wed Sep 9 16:06:39 2009 +0900 sh: Rework sh4_flush_cache_page() for coherent kmap mapping. This builds on top of the MIPS r4k code that does roughly the same thing. This permits the use of kmap_coherent() for mapped pages with dirty dcache lines and falls back on kmap_atomic() otherwise. This also fixes up a problem with the alias check and defers to shm_align_mask directly. Signed-off-by: Paul Mundt commit bd6df57481b329dfeeb4889068848ee4f4761561 Author: Paul Mundt Date: Wed Sep 9 14:22:15 2009 +0900 sh: Kill off segment-based d-cache flushing on SH-4. This kills off the unrolled segment based flushers on SH-4 and switches over to a generic unrolled approach derived from the writethrough segment flusher. Signed-off-by: Paul Mundt commit 31c9efde786252112cc3d04a1ed3513b6ec63a7b Author: Paul Mundt Date: Wed Sep 9 14:10:28 2009 +0900 sh: Kill off broken PHYSADDR() usage in sh4_flush_dcache_page(). PHYSADDR() runs in to issues in 32-bit mode when we do not have the legacy P1/P2 areas mapped, as such, we need to use page_to_phys() directly, which also happens to do the right thing in legacy 29-bit mode. Signed-off-by: Paul Mundt commit 654d364e26c797e8a5f9e2a1393607e6ca0106eb Author: Paul Mundt Date: Wed Sep 9 14:04:06 2009 +0900 sh: sh4_flush_cache_mm() optimizations. The i-cache flush in the case of VM_EXEC was added way back when as a sanity measure, and in practice we only care about evicting aliases from the d-cache. As a result, it's possible to drop the i-cache flush completely here. After careful profiling it's also come up that all of the work associated with hunting down aliases and doing ranged flushing ends up generating more overhead than simply blasting away the entire dcache, particularly if there are many mm's that need to be iterated over. As a result of that, just move back to flush_dcache_all() in these cases, which restores the old behaviour, and vastly simplifies the path. Additionally, on platforms without aliases at all, this can simply be nopped out. Presently we have the alias check in the SH-4 specific version, but this is true for all of the platforms, so move the check up to a generic location. This cuts down quite a bit on superfluous cacheop IPIs. Signed-off-by: Paul Mundt commit 215edda3adf502ccdf3a358ab35b616e7abd25ff Author: Mark Brown Date: Tue Sep 8 18:59:05 2009 +0100 ASoC: Allow per-route connectedness checks for supplies Some chips with complex internal supply (particularly clocking) arragements may have multiple options for some of the supply connections. Since these don't affect user-visible audio routing the expectation would be that they would be managed automatically by one of the drivers. Support these users by allowing routes to have a connected function which is queried before the connectedness of the path is checked as normal. Currently this is only done for supplies, other widgets could be supported but are not currently since the expectation for them is that audio routing will be under the control of userspace. Signed-off-by: Mark Brown commit 341c9b84bc01040bd5c75140303e32f6b10098f3 Author: Joonyoung Shim Date: Mon Sep 7 12:04:37 2009 +0900 ASoC: Factor out I2C 8 bit address 8 bit data I/O This patch is for the AK4671 codec driver using this format. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit d6a65dffb30d8636b1e5d4c201564ef401a246cf Author: Frederic Weisbecker Date: Mon Sep 7 03:23:20 2009 +0200 tracing: Fix ring-buffer and ksym tracer merge interaction The compiler warns us about: kernel/trace/trace_ksym.c: In function ksym_hbp_handler: kernel/trace/trace_ksym.c:92: attention : passing argument 1 of trace_buffer_lock_reserve from incompatible pointer type kernel/trace/trace_ksym.c:106: attention : passing argument 1 of trace_buffer_unlock_commit from incompatible pointer type Commit "e77405ad" (tracing: pass around ring buffer instead of tracer) has changed the central tracing APIs. And this change has updated every callsites of these APIs except those that aren't in tracing/core, such as the ksym tracer. Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit a1922ed661ab2c1637d0b10cde933bd9cd33d965 Merge: 75e3375 d28daf9 Author: Ingo Molnar Date: Mon Sep 7 08:19:51 2009 +0200 Merge branch 'tracing/core' into tracing/hw-breakpoints Conflicts: arch/Kconfig kernel/trace/trace.h Merge reason: resolve the conflicts, plus adopt to the new ring-buffer APIs. Signed-off-by: Ingo Molnar commit 85488037bb9b533b064be66412dbe1dbcd2734d9 Author: Mark Brown Date: Sat Sep 5 18:52:16 2009 +0100 ASoC: Add source argument to PLL configuration More and more devices feature PLLs and FLLs with the ability to select between multiple input clocks. In order to better support these devices a new argument, source, has been added to the set_pll() configuration API. Using set_clkdiv() is often difficult due to the need to stop the PLL/FLL before any reconfiguration can be done. Signed-off-by: Mark Brown commit 70069577323e6f72b845166724f34b9858134437 Author: Masami Hiramatsu Date: Fri Aug 28 18:13:26 2009 -0400 x86: Remove unused config macros from instruction decoder selftest Remove dummy definitions of CONFIG_X86_64 and CONFIG_X86_32 because those macros are not used in the instruction decoder anymore. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090828221326.8778.70723.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 50a482fbd96943516b7a2783900e8fe61a6425e7 Author: Masami Hiramatsu Date: Fri Aug 28 18:13:19 2009 -0400 x86: Allow x86-32 instruction decoder selftest on x86-64 Pass $(CONFIG_64BIT) to the x86 insn decoder selftest in case we are decoding 32bit code on x86-64, which will happen when building kernel with ARCH=i386 on x86-64. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090828221319.8778.88508.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 65e234ec2c4a0659ca22531dc1372a185f088517 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:32 2009 -0400 kprobes: Prohibit to probe native_get_debugreg Since do_debug() calls get_debugreg(), native_get_debugreg() will be called from singlestepping. This can cause an int3 infinite loop. We can't put it in the .text.kprobes section because it is inlined, then we blacklist its name. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172332.8246.34194.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8222d718b3ad3ae49c48f69ae4b6a1128c9a92cf Author: Masami Hiramatsu Date: Thu Aug 27 13:23:25 2009 -0400 kprobes/x86-64: Fix to move common_interrupt to .kprobes.text Since nmi, debug and int3 returns to irq_return inside common_interrupt, probing this function will cause int3-loop, so it should be marked as __kprobes. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172325.8246.40000.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8f270083587a4cb70fa14f0e2fd698eb08a4dd07 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:18 2009 -0400 kprobes: Fix to add __kprobes to notify_die Add __kprobes to notify_die() because do_int3() calls notify_die() instead of atomic_notify_call_chain() which is already marked as __kprobes. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172318.8246.53702.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 62c9295f9dd250ea1bb2c8078642a275a9ce82f8 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:11 2009 -0400 kprobes/x86: Fix to add __kprobes to in-kernel fault handing functions Add __kprobes to the functions which handle in-kernel fixable page faults. Since kprobes can cause those in-kernel page faults by accessing kprobe data structures, probing those fault functions will cause fault-int3-loop (do_page_fault has already been marked as __kprobes). Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172311.8246.92725.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit f5ad31158d60946b9fd18c8a79c283a6bc432430 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:04 2009 -0400 kprobes/x86-64: Allow to reenter probe on post_handler Allow to reenter probe on the post_handler of another probe on x86-64, because x86-64 already allows reentering int3. In that case, reentered probe just increases kp.nmissed and returns. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172304.8246.4822.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit e9afe9e1b3fdbd56cca53959a2519e70db9c8095 Author: Masami Hiramatsu Date: Thu Aug 27 13:22:58 2009 -0400 kprobes/x86: Call BUG() when reentering probe into KPROBES_HIT_SS Call BUG() when a probe have been hit on the way of kprobe processing path, because that kind of probes are currently unrecoverable (recovering it will cause an infinite loop and stack overflow). The original code seems to assume that it's caused by an int3 which another subsystem inserted on out-of-line singlestep buffer if the hitting probe is same as current probe. However, in that case, int3-hitting-address is on the out-of-line buffer and should be different from first (current) int3 address. Thus, I decided to remove the code. I also removes arch_disarm_kprobe() because it will involve other stuffs in text_poke(). Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172258.8246.61889.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit c95b4502ad7fe8f3b9954aec794b00ac0046ab3a Author: john stultz Date: Thu Aug 27 17:04:42 2009 -0700 ntp: Provide compability defines (You say MOD_NANO, I say ADJ_NANO) MOD_NANO, ADJ_NANO, MOD_NANO, ADJ_NANO! Lets call the whole thing off! But oh! If we call the whole thing off, Then we must part. And oh! If we ever part, Then that might break my heart^H^H^H^Hclock! So, if you like MOD_NANO and I like ADJ_NANO, I'll include MOD_NANO and give up ADJ_NANO (not really!). For we know we need each other, So we better call the calling off off. Let's call the whole thing off! The tumultuous NTP and Linux relationship has hit another snag: Ends up NTPd still uses the "xntp 3.4 compatability names" and when the STA_NANO value was added (along with ADJ_NANO), NTPd expected MOD_NANO to be added and has apparently hit some build errors. Report to ntp hackers: https://lists.ntp.org/pipermail/hackers/2009-August/004455.html Related Bugs: https://support.ntp.org/bugs/show_bug.cgi?id=1219 https://bugzilla.redhat.com/show_bug.cgi?id=505566 So in an effort to make peace, here's a patch to help get things building again. I also have updated the comment to make sure folks don't think the MOD_* values are just legacy constants. Of course, NTPd really uses the glibc-headers, so those will need to be similarly updated before things are working again (the RH bug above should probably cover that). Thanks to Michael Tatarinov and Hal Murray for finding and reporting the issue! Signed-off-by: John Stultz Cc: Miroslav Lichvar Cc: hmurray@megapathdsl.net Cc: Ulrich Drepper Cc: Michael Tatarinov LKML-Reference: <1251417882.7905.42.camel@localhost.localdomain> Signed-off-by: Thomas Gleixner commit c8bc6f3c806f1fcbfdbf0b1ff6c52dba59192d3b Author: Suresh Siddha Date: Tue Aug 4 12:07:09 2009 -0700 x86: arch specific support for remapping HPET MSIs x86 arch support for remapping HPET MSI's by associating the HPET timer block with the interrupt-remapping HW unit and setting up appropriate irq_chip Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi Cc: David Woodhouse Cc: Jesse Barnes Cc: Jay Fenlason LKML-Reference: <20090804190729.630510000@intel.com> Signed-off-by: Thomas Gleixner commit 20f3097bfe5fb5ced0b14f9ea2620c4039bf1dde Author: Suresh Siddha Date: Tue Aug 4 12:07:08 2009 -0700 intr-remap: generic support for remapping HPET MSIs Generic support for remapping HPET MSI's by parsing the HPET timer block device scope in the ACPI DRHD tables. This is needed for platforms supporting interrupt-remapping and MSI capable HPET timer block. Signed-off-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes Cc: Venkatesh Pallipadi Cc: Jay Fenlason LKML-Reference: <20090804190729.477649000@intel.com> Signed-off-by: Thomas Gleixner commit f8468f3695209735c1595342f6bd95f7bdab66e1 Author: Frederic Weisbecker Date: Thu Aug 27 05:23:29 2009 +0200 tracing: Remove unneeded pointer casts Cleaup uneeded casts from void * to char * in syscalls tracing file. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker commit aeaeae1187d7520f1c5559623f0a149da6a1c96e Author: Frederic Weisbecker Date: Thu Aug 27 05:09:51 2009 +0200 tracing: Restore the const qualifier for field names and types definition Restore the const qualifier in field's name and type parameters of trace_define_field that was lost while solving a conflict. Fields names and types are defined as builtin constant strings in static TRACE_EVENTs. But kprobes allocates these dynamically. That said, we still want to always pass these strings as const char * in trace_define_fields() to avoid any further accidental writes on the pointed strings. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 24851d2447830e6cba4c4b641cb73e713f312373 Author: Frederic Weisbecker Date: Wed Aug 26 23:38:30 2009 +0200 tracing/kprobes: Dump the culprit kprobe in case of kprobe recursion Kprobes can enter into a probing recursion, ie: a kprobe that does an endless loop because one of its core mechanism function used during probing is also probed itself. This patch helps pinpointing the kprobe that raised such recursion by dumping it and raising a BUG instead of a warning (we also disarm the kprobe to try avoiding recursion in BUG itself). Having a BUG instead of a warning stops the stacktrace in the right place and doesn't pollute the logs with hundreds of traces that eventually end up in a stack overflow. Signed-off-by: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli commit 30a7e073b590ebd1829a906164b0a637e77cc967 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:51 2009 -0400 tracing/kprobes: Change trace_arg to probe_arg Change trace_arg_string() and parse_trace_arg() to probe_arg_string() and parse_probe_arg(), since those are kprobe-tracer local functions. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194351.12478.15247.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 38a47497d9e34632abbeb484603cedf10c4b05e4 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:43 2009 -0400 tracing/kprobes: Fix format typo in trace_kprobes Fix a format typo in kprobe-tracer. Currently, it shows 'tsize' in format; $ cat /debug/tracing/events/kprobes/event/format ... field: unsigned long ip; offset:16;tsize:8; field: int nargs; offset:24;tsize:4; ... This should be '\tsize'; $ cat /debug/tracing/events/kprobes/event/format ... field: unsigned long ip; offset:16; size:8; field: int nargs; offset:24; size:4; ... Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194343.12478.37618.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 69d991f32152283cbc373136fa45bbb152b32048 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:16 2009 -0400 x86: Check awk features before generating inat-tables.c Check some awk mandatory features to generate inat-tables.c that old mawk doesn't support. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194316.12478.57394.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8d7d14fb27818eb08ebedf9f4a6e286970fe9977 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:07 2009 -0400 x86: Fix x86 instruction decoder selftest to check only .text Fix x86 instruction decoder selftest to check only .text because other sections (e.g. .notes) will have random bytes which don't need to be checked. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194307.12478.76938.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit cd7e7bd5e44718c7625ce1e1f0fda53d77cd3797 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:42 2009 -0400 tracing: Add kprobes event profiling interface Add profiling interfaces for each kprobes event. This interface provides how many times each probe hit or missed. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203541.31965.8452.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit ff50d99136c3315513ef3b2921e77f35ab04d081 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:34 2009 -0400 tracing: Kprobe tracer assigns new event ids for each event Assign new event ids for each kprobes event. This doesn't clear ring_buffer when unregistering each kprobe event. Thus, if you mind 'Unknown event' messages, clear the buffer manually after changing kprobe events. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203534.31965.49105.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 4263565d491145b57621a761714f2ca6f1293a45 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:26 2009 -0400 tracing: Generate names for each kprobe event automatically Generate names for each kprobe event based on the probe point. (SYMBOL+offs or MEMADDR). Also remove generic k*probe event types because there is no user of those types. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203526.31965.56672.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit a82378d8802717b9776a7d9b54422f65c414d6cc Author: Masami Hiramatsu Date: Thu Aug 13 16:35:18 2009 -0400 tracing: Kprobe-tracer supports more than 6 arguments Support up to 128 arguments to fetch for each kprobes event. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203518.31965.96979.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit d8ec91850efaf6cee9234c80260fe03881242374 Author: Masami Hiramatsu Date: Wed Aug 19 21:13:57 2009 +0200 tracing: Add kprobe-based event tracer documentation Add the documentation to use the kprobe based event tracer. [fweisbec@gmail.com: Split tracer and its Documentation in two patchs] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203510.31965.29123.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 413d37d1eb69c1765b9ace0a612dac9b6c990e66 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:11 2009 -0400 tracing: Add kprobe-based event tracer Add kprobes-based event tracer on ftrace. This tracer is similar to the events tracer which is based on Tracepoint infrastructure. Instead of Tracepoint, this tracer is based on kprobes (kprobe and kretprobe). It probes anywhere where kprobes can probe(this means, all functions body except for __kprobes functions). Similar to the events tracer, this tracer doesn't need to be activated via current_tracer, instead of that, just set probe points via /sys/kernel/debug/tracing/kprobe_events. And you can set filters on each probe events via /sys/kernel/debug/tracing/events/kprobes//filter. This tracer supports following probe arguments for each probe. %REG : Fetch register REG sN : Fetch Nth entry of stack (N >= 0) sa : Fetch stack address. @ADDR : Fetch memory at ADDR (ADDR should be in kernel) @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol) aN : Fetch function argument. (N >= 0) rv : Fetch return value. ra : Fetch return address. +|-offs(FETCHARG) : fetch memory at FETCHARG +|- offs address. See Documentation/trace/kprobetrace.txt in the next patch for details. Changes from v13: - Support 'sa' for stack address. - Use call->data instead of container_of() macro. [fweisbec@gmail.com: Fixed conflict against latest tracing/core] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203510.31965.29123.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit d93f12f3f417e49a175800da85c6fcb2a5096e03 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:01 2009 -0400 tracing: Introduce TRACE_FIELD_ZERO() macro Use TRACE_FIELD_ZERO(type, item) instead of TRACE_FIELD_ZERO_CHAR(item). This also includes a typo fix of TRACE_ZERO_CHAR() macro. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203501.31965.30172.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit bd1a5c849bdcc5c89e4a6a18216cd2b9a7a8a78f Author: Masami Hiramatsu Date: Thu Aug 13 16:34:53 2009 -0400 tracing: Ftrace dynamic ftrace_event_call support Add dynamic ftrace_event_call support to ftrace. Trace engines can add new ftrace_event_call to ftrace on the fly. Each operator function of the call takes an ftrace_event_call data structure as an argument, because these functions may be shared among several ftrace_event_calls. Changes from v13: - Define remove_subsystem_dir() always (revirt a2ca5e03), because trace_remove_event_call() uses it. - Modify syscall tracer because of ftrace_event_call change. [fweisbec@gmail.com: Fixed conflict against latest tracing/core] Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203453.31965.71901.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit b1cf540f0e5278ecfe8532557e547d833ed269d7 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:44 2009 -0400 x86: Add pt_regs register and stack access APIs Add following APIs for accessing registers and stack entries from pt_regs. These APIs are required by kprobes-based event tracer on ftrace. Some other debugging tools might be able to use it too. - regs_query_register_offset(const char *name) Query the offset of "name" register. - regs_query_register_name(unsigned int offset) Query the name of register by its offset. - regs_get_register(struct pt_regs *regs, unsigned int offset) Get the value of a register by its offset. - regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr) Check the address is in the kernel stack. - regs_get_kernel_stack_nth(struct pt_regs *reg, unsigned int nth) Get Nth entry of the kernel stack. (N >= 0) - regs_get_argument_nth(struct pt_regs *reg, unsigned int nth) Get Nth argument at function call. (N >= 0) Signed-off-by: Masami Hiramatsu Cc: linux-arch@vger.kernel.org Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203444.31965.26374.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 89ae465b0ee470f7d3f8a1c61353445c3acbbe2a Author: Masami Hiramatsu Date: Thu Aug 13 16:34:36 2009 -0400 kprobes: Cleanup fix_riprel() using insn decoder on x86 Cleanup fix_riprel() in arch/x86/kernel/kprobes.c by using the new x86 instruction decoder instead of using comparisons with raw ad hoc numeric opcodes. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203436.31965.34374.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit b46b3d70c9c017d7c4ec49f7f3ffd0af5a622277 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:28 2009 -0400 kprobes: Checks probe address is instruction boudary on x86 Ensure safeness of inserting kprobes by checking whether the specified address is at the first byte of an instruction on x86. This is done by decoding probed function from its head to the probe point. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203428.31965.21939.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit ca0e9badd1a39fecdd235f4bf1481b9da756e27b Author: Masami Hiramatsu Date: Thu Aug 13 16:34:21 2009 -0400 x86: X86 instruction decoder build-time selftest Add a user-space selftest of x86 instruction decoder at kernel build time. When CONFIG_X86_DECODER_SELFTEST=y, Kbuild builds a test harness of x86 instruction decoder and performs it after building vmlinux. The test compares the results of objdump and x86 instruction decoder code and check there are no differences. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203421.31965.29006.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit eb13296cfaf6c699566473669a96a38a90562384 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:13 2009 -0400 x86: Instruction decoder API Add x86 instruction decoder to arch-specific libraries. This decoder can decode x86 instructions used in kernel into prefix, opcode, modrm, sib, displacement and immediates. This can also show the length of instructions. This version introduces instruction attributes for decoding instructions. The instruction attribute tables are generated from the opcode map file (x86-opcode-map.txt) by the generator script(gen-insn-attr-x86.awk). Currently, the opcode maps are based on opcode maps in Intel(R) 64 and IA-32 Architectures Software Developers Manual Vol.2: Appendix.A, and consist of below two types of opcode tables. 1-byte/2-bytes/3-bytes opcodes, which has 256 elements, are written as below; Table: table-name Referrer: escaped-name opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] (or) opcode: escape # escaped-name EndTable Group opcodes, which has 8 elements, are written as below; GrpTable: GrpXXX reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] EndTable These opcode maps include a few SSE and FP opcodes (for setup), because those opcodes are used in the kernel. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Acked-by: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203413.31965.49709.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 5946fa3d5cdeb846a647a1900026af9f8b08c8b5 Author: Jan Beulich Date: Wed Aug 19 08:44:24 2009 +0100 x86, hpet: Simplify the HPET code On 64-bits, using unsigned long when unsigned int suffices needlessly creates larger code (due to the need for REX prefixes), and most of the logic in hpet.c really doesn't need 64-bit operations. At once this avoids the need for a couple of type casts. Signed-off-by: Jan Beulich Cc: Shaohua Li Cc: Venkatesh Pallipadi LKML-Reference: <4A8BC9780200007800010832@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit b5ab887e6dfa12c32ef39827da47d5d021320a3f Author: Mark Brown Date: Tue Aug 18 21:29:31 2009 +0100 ASoC: Add TLV information to WM8711 Signed-off-by: Mark Brown commit 431f7771774e8f37dde5acb3f7c4c5f6fa1109e3 Author: Mark Brown Date: Tue Aug 18 21:17:34 2009 +0100 ASoC: WM8711 minor cleanups Coding style changes only. Signed-off-by: Mark Brown commit 08aff8cd7a8568588d460c4bf8875a492d430314 Author: Mark Brown Date: Tue Aug 18 21:15:14 2009 +0100 ASoC: Add SPI support to WM8711 Signed-off-by: Mark Brown commit d97d2e35b903b11dc6f7f8fcbe9a82fd8929e234 Author: Mark Brown Date: Tue Aug 18 21:12:30 2009 +0100 ASoC: Factor out WM8711 cache I/O Signed-off-by: Mark Brown commit f72222c74bd642182cc892c99df65cb105c61193 Merge: 318b0b8 d3c9e9a Author: Mark Brown Date: Tue Aug 18 20:59:01 2009 +0100 Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into upstream/wm8711 commit 318b0b8d90326aee6a66c994432eee95c0a9aaea Author: Mark Brown Date: Tue Aug 18 20:57:33 2009 +0100 ASoC: Update WM8711 to driver model registration method Signed-off-by: Mark Brown commit bd6d417743d941c3e5eabb21abbcac9737f11061 Author: Mike Arthur Date: Tue Aug 18 20:37:49 2009 +0100 ASoC: Add WM8711 CODEC driver The WM8711 or WM8711L (WM8711/L) is a low power stereo DAC with an integrated headphone driver. The WM8711/L is designed specifically for portable MP3 audio and speech players. The WM8711/L is also ideal for MD, CD machines and DAT players. Signed-off-by: Mike Arthur Signed-off-by: Mark Brown commit 50dcfa0234753c32e1c838cc0e6d7952dda73201 Author: Andrew Victor Date: Tue Aug 4 19:55:56 2009 +0100 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers Stop referencing CLOCK_TICK_RATE in the KS8695 drivers, rather refer to a KS8695_CLOCK_RATE. Issue pointed out by Russell King on arm-linux-kernel mailing list. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 39fe05e58c5e448601ce46e6b03900d5bf31c4b0 Author: Shaohua Li Date: Wed Aug 12 11:16:12 2009 +0800 x86, hpet: Disable per-cpu hpet timer if ARAT is supported If CPU support always running local APIC timer, per-cpu hpet timer could be disabled, which is useless and wasteful in such case. Let's leave the timers to others. The effect is that we reserve less timers. Signed-off-by: Shaohua Li Cc: venkatesh.pallipadi@intel.com LKML-Reference: <20090812031612.GA10062@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit 75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf Author: Xiao Guangrong Date: Thu Jul 23 12:01:22 2009 +0800 tracing/ksym_tracer: support quick clear for ksym_trace_filter -- v2 It's rather boring to clear symbol one by one in ksym_trace_filter file, so, this patch will let ksym_trace_filter file support quickly clear all break points. We can write "0" to this file and it will clear all symbols for example: # cat ksym_trace_filter ksym_filter_head:rw- global_trace:rw- # echo 0 > ksym_trace_filter # cat ksym_trace_filter # Changelog v1->v2: Add other ways to clear all breakpoints by writing NULL or "*:---" to ksym_trace_filter file base on K.Prasad's suggestion Signed-off-by: Xiao Guangrong LKML-Reference: <4A67E092.3080202@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 8e068542a8d9efec55126284d2f5cb32f003d507 Author: Xiao Guangrong Date: Wed Jul 22 11:23:41 2009 +0800 tracing/ksym_tracer: fix write operation of ksym_trace_filter This patch fix 2 bugs: - fix the return value of ksym_trace_filter_write() when we want to clear symbol in ksym_trace_filter file for example: # echo global_trace:rw- > /debug/tracing/ksym_trace_filter # echo global_trace:--- > /debug/tracing/ksym_trace_filter -bash: echo: write error: Invalid argument # cat /debug/tracing/ksym_trace_filter # We want to clear 'global_trace' in ksym_trace_filter, it complain with "Invalid argument", but the operation is successful - the "r--" access types is not allowed, but ksym_trace_filter file think it OK for example: # echo ksym_tracer_mutex:r-- > ksym_trace_filter -bash: echo: write error: Resource temporarily unavailable # dmesg ksym_tracer request failed. Try again later!! The error occur at register_kernel_hw_breakpoint(), but It's should at access types parser Signed-off-by: Xiao Guangrong LKML-Reference: <4A66863D.5090802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit d857ace143df3884954887e1899a65831ca72ece Author: Xiao Guangrong Date: Wed Jul 22 11:21:31 2009 +0800 tracing/ksym_tracer: fix the output of ksym tracer Fix the output format of ksym tracer, make it properly aligned Befor patch: # tracer: ksym_tracer # # TASK-PID CPU# Symbol Type Function # | | | | | bash 1378 1 ksym_tracer_mutex W mutex_lock+0x11/0x27 bash 1378 1 ksym_filter_head W process_new_ksym_entry+0xd2/0x10c bash 1378 1 ksym_tracer_mutex W mutex_unlock+0x12/0x1b cat 1429 0 ksym_tracer_mutex W mutex_lock+0x11/0x27 After patch: # tracer: ksym_tracer # # TASK-PID CPU# Symbol Type Function # | | | | | cat-1423 [000] ksym_tracer_mutex RW mutex_lock+0x11/0x27 cat-1423 [000] ksym_filter_head RW ksym_trace_filter_read+0x6e/0x10d cat-1423 [000] ksym_tracer_mutex RW mutex_unlock+0x12/0x1b cat-1423 [000] ksym_tracer_mutex RW mutex_lock+0x11/0x27 cat-1423 [000] ksym_filter_head RW ksym_trace_filter_read+0x6e/0x10d cat-1423 [000] ksym_tracer_mutex RW mutex_unlock+0x12/0x1b Signed-off-by: Xiao Guangrong LKML-Reference: <4A6685BB.2090809@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 9d7e934408b52cd53dd85270eb36941a6a318cc5 Author: Li Zefan Date: Tue Jul 7 13:55:18 2009 +0800 ksym_tracer: Fix the output of stat tracing - make ksym_tracer_stat_start() return head->first instead of &head->first - make the output properly aligned Before: Access type Symbol Counter NA 0 RW pid_max 0 After: Access Type Symbol Counter ----------- ------ ------- RW pid_max 0 Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E346.5050608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 558df6c8f74ac4a0b9026ef85b0028280f364d96 Author: Li Zefan Date: Tue Jul 7 13:54:48 2009 +0800 ksym_tracer: Fix memory leak - When remove a filter, we leak entry->ksym_hbp->info.name. - With CONFIG_FTRAC_SELFTEST enabled, we leak ->info.name: # echo ksym_tracer > current_tracer # echo 'ksym_selftest_dummy:rw-' > ksym_trace_filter # echo nop > current_tracer Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E328.8010200@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 0d109c8f70eab8b9f693bd5caea23012394e4876 Author: Li Zefan Date: Tue Jul 7 13:54:28 2009 +0800 ksym_tracer: Report error when failed to re-register hbp When access type is changed, the hw break point will be unregistered and then be registered again with new access type. But the registration may fail, in this case, -errno should be returned. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E314.7070004@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 011ed56853e07e30653d6f1bfddc56b396218664 Author: Li Zefan Date: Tue Jul 7 13:54:08 2009 +0800 ksym_tracer: NIL-terminate user input filter Make sure the user input string is NULL-terminated. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E300.7020601@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 92cf9f8f7e89c6bdbb1a724f879b8b18fc0dfe0f Author: Li Zefan Date: Tue Jul 7 13:53:47 2009 +0800 ksym_tracer: Fix validation of length of access type Don't take newline into account, otherwise: # echo 'pid_max:-w-' > ksym_trace_filter # echo -n 'pid_max:rw-' > ksym_trace_filter bash: echo: write error: Invalid argument Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2EB.9070503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f088e5471297cc78d7465e1fd997cb1a91a48019 Author: Li Zefan Date: Tue Jul 7 13:53:18 2009 +0800 ksym_tracer: Fix validation of access type # echo 'pid_max:rw-' > ksym_trace_filter # cat ksym_trace_filter pid_max:rw- # echo 'pid_max:ww-' > ksym_trace_filter (should return -EINVAL) # cat ksym_trace_filter (but it ended up removing filter entry) Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2CE.6080409@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit be9742e6cb107fe1d77db7a081ea4eb25e79e1ad Author: Li Zefan Date: Tue Jul 7 13:52:52 2009 +0800 ksym_tracer: Rewrite ksym_trace_filter_read() Reading ksym_trace_filter gave me some arbitrary characters, when it should show nothing. It's because buf is not initialized when there's no filter. Also reduce stack usage by about 512 bytes. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2B4.6030706@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit db59504d89db1462a5281fb55b1d962cb74a398f Author: Li Zefan Date: Tue Jul 7 13:52:36 2009 +0800 ksym_tracer: Extract trace entry from struct trace_ksym struct trace_ksym is used as an entry in hbp list, and is also used as trace_entry stored in ring buffer. This is not necessary and is a waste of memory in ring buffer. There is also a bug that dereferencing field->ksym_hbp in ksym_trace_output() can be invalid. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2A4.4050007@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9d22b536609abf0d64648f99518676ea58245e3b Author: Jaswinder Singh Rajput Date: Wed Jul 1 19:52:30 2009 +0530 x86: Mark ptrace_get_debugreg() as static This sparse warning: arch/x86/kernel/ptrace.c:560:15: warning: symbol 'ptrace_get_debugreg' was not declared. Should it be static? triggers because ptrace_get_debugreg() is global but is only used in a single .c file. change ptrace_get_debugreg() to static to fix that - this also addresses the sparse warning. Signed-off-by: Jaswinder Singh Rajput Cc: Steven Rostedt LKML-Reference: <1246458150.6940.19.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit 4555835b707d5c778ee1c9076670bc99b1eeaf61 Author: Jaswinder Singh Rajput Date: Wed Jun 17 14:44:19 2009 +0530 x86: hw_breakpoint.c arch_check_va_in_kernelspace and hw_breakpoint_handler should be static arch_check_va_in_kernelspace() and hw_breakpoint_handler() is used only by same file so it should be static. Also fixed non-ANSI function declaration of function 'arch_uninstall_thread_hw_breakpoint' Fixed following sparse warnings : arch/x86/kernel/hw_breakpoint.c:124:42: warning: non-ANSI function declaration of function 'arch_uninstall_thread_hw_breakpoint' arch/x86/kernel/hw_breakpoint.c:169:5: warning: symbol 'arch_check_va_in_kernelspace' was not declared. Should it be static? arch/x86/kernel/hw_breakpoint.c:313:15: warning: symbol 'hw_breakpoint_handler' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Cc: Alan Stern Cc: "K.Prasad" Cc: Frederic Weisbecker LKML-Reference: <1245230059.2662.4.camel@ht.satnam> Signed-off-by: Ingo Molnar commit eadb8a091b27a840de7450f84ecff5ef13476424 Merge: 7387400 65795ef Author: Ingo Molnar Date: Wed Jun 17 12:52:15 2009 +0200 Merge branch 'linus' into tracing/hw-breakpoints Conflicts: arch/x86/Kconfig arch/x86/kernel/traps.c arch/x86/power/cpu.c arch/x86/power/cpu_32.c kernel/Makefile Semantic conflict: arch/x86/kernel/hw_breakpoint.c Merge reason: Resolve the conflicts, move from put_cpu_no_sched() to put_cpu() in arch/x86/kernel/hw_breakpoint.c. Signed-off-by: Ingo Molnar commit 73874005cd8800440be4299bd095387fff4b90ac Author: Frederic Weisbecker Date: Wed Jun 3 01:43:38 2009 +0200 hw-breakpoints: fix undeclared ksym_tracer_mutex ksym_tracer_mutex is declared inside an #ifdef CONFIG_PROFILE_KSYM_TRACER section. This makes it unavailable for the hardware breakpoint tracer if it is configured without the breakpoint profiler. This patch fixes the following build error: kernel/trace/trace_ksym.c: In function ‘ksym_trace_filter_read’: kernel/trace/trace_ksym.c:226: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) kernel/trace/trace_ksym.c:226: erreur: (Each undeclared identifier is reported only once kernel/trace/trace_ksym.c:226: erreur: for each function it appears in.) kernel/trace/trace_ksym.c: In function ‘ksym_trace_filter_write’: kernel/trace/trace_ksym.c:273: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) kernel/trace/trace_ksym.c: In function ‘ksym_trace_reset’: kernel/trace/trace_ksym.c:335: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) make[1]: *** [kernel/trace/trace_ksym.o] Erreur 1 [ Impact: fix a build error ] Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker commit 62edab9056a6cf0c9207339c8892c923a5217e45 Author: K.Prasad Date: Mon Jun 1 23:47:06 2009 +0530 hw-breakpoints: reset bits in dr6 after the corresponding exception is handled This patch resets the bit in dr6 after the corresponding exception is handled in code, so that we keep a clean track of the current virtual debug status register. [ Impact: keep track of breakpoints triggering completion ] Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 0722db015c246204044299eae3b02d18d3ca4faf Author: K.Prasad Date: Mon Jun 1 23:46:40 2009 +0530 hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces This patch adds an ftrace plugin to detect and profile memory access over kernel variables. It uses HW Breakpoint interfaces to 'watch memory addresses. Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 432039933a16b8227b7b267f46ac1c1b9b3adf14 Author: K.Prasad Date: Mon Jun 1 23:46:20 2009 +0530 hw-breakpoints: sample HW breakpoint over kernel data address This patch introduces a sample kernel module to demonstrate the use of Hardware Breakpoint feature. It places a breakpoint over the kernel variable 'pid_max' to monitor all write operations and emits a function-backtrace when done. Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 17f557e5b5d43a2af66c969f6560ac7105020672 Author: K.Prasad Date: Mon Jun 1 23:46:03 2009 +0530 hw-breakpoints: cleanup HW Breakpoint registers before kexec This patch disables Hardware breakpoints before doing a 'kexec' on the machine so that the cpu doesn't keep debug registers values which would be out of sync for the new image. Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 72f674d203cd230426437cdcf7dd6f681dad8b0d Author: K.Prasad Date: Mon Jun 1 23:45:48 2009 +0530 hw-breakpoints: modify Ptrace routines to access breakpoint registers This patch modifies the ptrace code to use the new wrapper routines around the debug/breakpoint registers. [ Impact: adapt x86 ptrace to the new breakpoint Api ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Signed-off-by: Maneesh Soni Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit da0cdc14f5f7e0faee6b2393fefed056cdb17146 Author: K.Prasad Date: Mon Jun 1 23:45:03 2009 +0530 hw-breakpoints: modify signal handling code to refrain from re-enabling HW Breakpoints This patch disables re-enabling of Hardware Breakpoint registers through the signal handling code. This is now done during from hw_breakpoint_handler(). Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 66cb5917295958652ff6ba36d83f98f2379c46b4 Author: K.Prasad Date: Mon Jun 1 23:44:55 2009 +0530 hw-breakpoints: use the new wrapper routines to access debug registers in process/thread code This patch enables the use of abstract debug registers in process-handling routines, according to the new hardware breakpoint Api. [ Impact: adapt thread breakpoints handling code to the new breakpoint Api ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 1e3500666f7c5daaadadb8431a2927cdbbdb7dd4 Author: K.Prasad Date: Mon Jun 1 23:44:26 2009 +0530 hw-breakpoints: use wrapper routines around debug registers in processor related functions This patch enables the use of wrapper routines to access the debug/breakpoint registers on cpu management. The hardcoded debug registers save and restore operations for threads breakpoints are replaced by wrappers. And now that we handle the kernel breakpoints too, we also need to handle them on cpu hotplug operations. [ Impact: adapt new hardware breakpoint api to cpu hotplug ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 08d68323d1f0c34452e614263b212ca556dae47f Author: K.Prasad Date: Mon Jun 1 23:44:08 2009 +0530 hw-breakpoints: modifying generic debug exception to use thread-specific debug registers This patch modifies the breakpoint exception handler code to use the new abstract debug register names. [ fweisbec@gmail.com: fix conflict against kmemcheck ] [ Impact: refactor and cleanup x86 debug exception handler ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 0067f1297241ea567f2b22a455519752d70fcca9 Author: K.Prasad Date: Mon Jun 1 23:43:57 2009 +0530 hw-breakpoints: x86 architecture implementation of Hardware Breakpoint interfaces This patch introduces the arch-specific implementation of the generic hardware breakpoints in kernel/hw_breakpoint.c inside x86 specific directories. It contains functions which help to validate and serve requests using Hardware Breakpoint registers on x86 processors. [ fweisbec@gmail.com: fix conflict against kmemcheck ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 62a038d34db26771756cf3689e36de638bedd2c4 Author: K.Prasad Date: Mon Jun 1 23:43:33 2009 +0530 hw-breakpoints: introducing generic hardware breakpoint handler interfaces This patch introduces the generic Hardware Breakpoint interfaces for both user and kernel space requests. This core Api handles the hardware breakpoints through new helpers. It handles the user-space breakpoints and kernel breakpoints in front of arch implementation. One can choose kernel wide breakpoints using the following helpers and passing them a generic struct hw_breakpoint: - register_kernel_hw_breakpoint() - unregister_kernel_hw_breakpoint() - modify_kernel_hw_breakpoint() On the other side, you can choose per task breakpoints. - register_user_hw_breakpoint() - unregister_user_hw_breakpoint() - modify_user_hw_breakpoint() [ fweisbec@gmail.com: fix conflict against perfcounter ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit b332828c39326b1dca617f387dd15d12e81cd5f0 Author: K.Prasad Date: Mon Jun 1 23:43:10 2009 +0530 hw-breakpoints: prepare the code for Hardware Breakpoint interfaces The generic hardware breakpoint interface provides an abstraction of hardware breakpoints in front of specific arch implementations for both kernel and user side breakpoints. This includes execution breakpoints and read/write breakpoints, also known as "watchpoints". This patch introduces header files containing constants, structure definitions and declaration of functions used by the hardware breakpoint core and x86 specific code. It also introduces an array based storage for the debug-register values in 'struct thread_struct', while modifying all users of debugreg member in the structure. [ Impact: add headers for new hardware breakpoint interface ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 6ce51c431019310ca03371355a4366c4649fa349 Author: Luis Henriques Date: Wed Apr 1 18:06:35 2009 +0100 genirq: do not execute DEBUG_SHIRQ when irq setup failed When requesting an IRQ, the DEBUG_SHIRQ code executes a fake IRQ just to make sure the driver is ready to receive an IRQ immediately. The problem was that this fake IRQ was being executed even if interrupt line failed to be allocated by __setup_irq. Signed-off-by: Luis Henriques LKML-Reference: <20090401170635.GA4392@hades.domain.com> Signed-off-by: Thomas Gleixner [ fixed bug pointed out by a warning reported by Stephen Rothwell ] Cc: Stephen Rothwell Signed-off-by: Ingo Molnar