19 Oct, 2009

1 commit

  • 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

    Huang Ying
     

19 Sep, 2009

9 commits

  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (64 commits)
    ext4: Update documentation about quota mount options
    ext4: replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK
    ext4: Fix the alloc on close after a truncate hueristic
    ext4: Add a tracepoint for ext4_alloc_da_blocks()
    ext4: store EXT4_EXT_MIGRATE in i_state instead of i_flags
    ext4: limit block allocations for indirect-block files to < 2^32
    ext4: Fix different block exchange issue in EXT4_IOC_MOVE_EXT
    ext4: Add null extent check to ext_get_path
    ext4: Replace BUG_ON() with ext4_error() in move_extents.c
    ext4: Replace get_ext_path macro with an inline funciton
    ext4: Fix include/trace/events/ext4.h to work with Systemtap
    ext4: Fix initalization of s_flex_groups
    ext4: Always set dx_node's fake_dirent explicitly.
    ext4: Fix async commit mode to be safe by using a barrier
    ext4: Don't update superblock write time when filesystem is read-only
    ext4: Clarify the locking details in mballoc
    ext4: check for need init flag in ext4_mb_load_buddy
    ext4: move ext4_mb_init_group() function earlier in the mballoc.c
    ext4: Make non-journal fsync work properly
    ext4: Assure that metadata blocks are written during fsync in no journal mode
    ...

    Linus Torvalds
     
  • Remove net/genetlink.h inclusion, now sched.c won't be recompiled
    because of some networking changes.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] sizeof cleanup
    [WATCHDOG] wdt_pci: fix printk and variable type
    [WATCHDOG] wdt_pci - use pci_request_region
    [WATCHDOG] ar7_wdt: Fix error handling during probe.
    [WATCHDOG] ar7_wdt: convert to become a platform driver
    [WATCHDOG] fix book E watchdog to take WDIOC_SETTIMEOUT arg in seconds
    [WATCHDOG] davinci: use clock framework for timer frequency
    [WATCHDOG] Use DIV_ROUND_UP() macro in the coh901327 WDT
    [WATCHDOG] Add support for WM831x watchdog
    [WATCHDOG] Add watchdog driver for NUC900
    [WATCHDOG] add SBC-FITPC2 watchdog driver

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (262 commits)
    sh: mach-ecovec24: Add user debug switch support
    sh: Kill off unused se_skipped in alignment trap notification code.
    sh: Wire up HAVE_SYSCALL_TRACEPOINTS.
    video: sh_mobile_lcdcfb: use both register sets for display panning
    video: sh_mobile_lcdcfb: implement display panning
    sh: Fix up sh7705 flush_dcache_page() build.
    sh: kfr2r09: document the PLL/FLL RF relationship.
    sh: mach-ecovec24: need asm/clock.h.
    sh: mach-ecovec24: deassert usb irq on boot.
    sh: Add KEYSC support for EcoVec24
    sh: add kycr2_delay for sh_keysc
    sh: cpufreq: Include CPU id in info messages.
    sh: multi-evt support for SH-X3 proto CPU.
    sh: clkfwk: remove bogus set_bus_parent() from SH7709.
    sh: Fix the indication point of the liquid crystal of AP-325RXA(AP3300)
    sh: Add EcoVec24 romImage defconfig
    sh: USB disable process is needed if romImage boot for EcoVec24
    sh: EcoVec24: add HIZA setting for LED
    sh: EcoVec24: write MAC address in boot
    sh: Add romImage support for EcoVec24
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: add fusectl interface to max_background
    fuse: limit user-specified values of max background requests
    fuse: use drop_nlink() instead of direct nlink manipulation
    fuse: document protocol version negotiation
    fuse: make the number of max background requests and congestion threshold tunable

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (55 commits)
    regulator: Voltage count for AB3100
    mfd: Convert WM8350 to use request_threaded_irq()
    mfd: Update MAINTAINERS patterns for WM831x
    mfd: Fix twl4030-power warnings
    regulator: AB3100 support
    rtc: AB3100 RTC support
    mfd: Fix ab3100-otp build failure
    mfd: OMAP: Board-specifc twl4030 DPS scripts for RX51 board
    mfd: Print warning for twl4030 out-of-order script loading
    mfd: Add support for TWL4030/5030 dynamic power switching
    mfd: AB3100 OTP readout
    regulator: Add Freescale MC13783 driver
    mfd: Add Freescale MC13783 driver
    mfd: AB3100 disable irq nosync
    mfd: AB3100 alter default setting
    mfd: AB3100 propagate error
    mfd: AB3100 accessor function cleanups
    rtc: Add support for RTCs on Wolfson WM831x devices
    regulator: get pcap data from the parent device
    input: PCAP2 misc input driver
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
    ext3: Flush disk caches on fsync when needed
    ext3: Add locking to ext3_do_update_inode
    ext3: Fix possible deadlock between ext3_truncate() and ext3_get_blocks()
    jbd: Annotate transaction start also for journal_restart()
    jbd: Journal block numbers can ever be only 32-bit use unsigned int for them
    ext3: Update MAINTAINERS for ext3 and JBD
    JBD: round commit timer up to avoid uncommitted transaction

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Fix NULL ptr regression in powernow-k8
    [CPUFREQ] Create a blacklist for processors that should not load the acpi-cpufreq module.
    [CPUFREQ] Powernow-k8: Enable more than 2 low P-states
    [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)
    [CPUFREQ] ondemand - Use global sysfs dir for tuning settings
    [CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq
    [CPUFREQ] Bail out of cpufreq_add_dev if the link for a managed CPU got created
    [CPUFREQ] Factor out policy setting from cpufreq_add_dev
    [CPUFREQ] Factor out interface creation from cpufreq_add_dev
    [CPUFREQ] Factor out symlink creation from cpufreq_add_dev
    [CPUFREQ] cleanup up -ENOMEM handling in cpufreq_add_dev
    [CPUFREQ] Reduce scope of cpu_sys_dev in cpufreq_add_dev
    [CPUFREQ] update Doc for cpuinfo_cur_freq and scaling_cur_freq

    Linus Torvalds
     
  • * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (34 commits)
    time: Prevent 32 bit overflow with set_normalized_timespec()
    clocksource: Delay clocksource down rating to late boot
    clocksource: clocksource_select must be called with mutex locked
    clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash
    timers: Drop a function prototype
    clocksource: Resolve cpu hotplug dead lock with TSC unstable
    timer.c: Fix S/390 comments
    timekeeping: Fix invalid getboottime() value
    timekeeping: Fix up read_persistent_clock() breakage on sh
    timekeeping: Increase granularity of read_persistent_clock(), build fix
    time: Introduce CLOCK_REALTIME_COARSE
    x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown
    clocksource: Avoid clocksource watchdog circular locking dependency
    clocksource: Protect the watchdog rating changes with clocksource_mutex
    clocksource: Call clocksource_change_rating() outside of watchdog_lock
    timekeeping: Introduce read_boot_clock
    timekeeping: Increase granularity of read_persistent_clock()
    timekeeping: Update clocksource with stop_machine
    timekeeping: Add timekeeper read_clock helper functions
    timekeeping: Move NTP adjusted clock multiplier to struct timekeeper
    ...

    Fix trivial conflict due to MIPS lemote -> loongson renaming.

    Linus Torvalds
     

18 Sep, 2009

9 commits

  • The WM831x series of devices provide a watchdog with configurable
    behaviour on timer expiry.

    Currently this driver support refreshes via a register or GPIO line and
    autonomous refreshes from a hardware source (eg, a clock).

    Signed-off-by: Mark Brown
    Signed-off-by: Wim Van Sebroeck

    Mark Brown
     
  • …/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: (37 commits)
    sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE
    sched: Stop buddies from hogging the system
    sched: Add new wakeup preemption mode: WAKEUP_RUNNING
    sched: Fix TASK_WAKING & loadaverage breakage
    sched: Disable wakeup balancing
    sched: Rename flags to wake_flags
    sched: Clean up the load_idx selection in select_task_rq_fair
    sched: Optimize cgroup vs wakeup a bit
    sched: x86: Name old_perf in a unique way
    sched: Implement a gentler fair-sleepers feature
    sched: Add SD_PREFER_LOCAL
    sched: Add a few SYNC hint knobs to play with
    sched: Fix sync wakeups again
    sched: Add WF_FORK
    sched: Rename sync arguments
    sched: Rename select_task_rq() argument
    sched: Feature to disable APERF/MPERF cpu_power
    x86: sched: Provide arch implementations using aperf/mperf
    x86: Add generic aperf/mperf code
    x86: Move APERF/MPERF into a X86_FEATURE
    ...

    Fix up trivial conflict in arch/x86/include/asm/processor.h due to
    nearby addition of amd_get_nb_id() declaration from the EDAC merge.

    Linus Torvalds
     
  • …el/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: (44 commits)
    vsnprintf: remove duplicate comment of vsnprintf
    softirq: add BLOCK_IOPOLL to softirq_to_name
    oprofile: fix oprofile regression: select RING_BUFFER_ALLOW_SWAP
    tracing: switch function prints from %pf to %ps
    vsprintf: add %ps that is the same as %pS but is like %pf
    tracing: Fix minor bugs for __unregister_ftrace_function_probe
    tracing: remove notrace from __kprobes annotation
    tracing: optimize global_trace_clock cachelines
    MAINTAINERS: Update tracing tree details
    ftrace: document function and function graph implementation
    tracing: make testing syscall events a separate configuration
    tracing: remove some unused macros
    ftrace: add compile-time check on F_printk()
    tracing: fix F_printk() typos
    tracing: have TRACE_EVENT macro use __flags to not shadow parameter
    tracing: add static to generated TRACE_EVENT functions
    ring-buffer: typecast cmpxchg to fix PowerPC warning
    tracing: add filter event logic to special, mmiotrace and boot tracers
    tracing: remove trace_event_types.h
    tracing: use the new trace_entries.h to create format files
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers
    pata_amd: do not filter out valid modes in nv_mode_filter
    sata_promise: update reset code
    sata_promise: disable hotplug on 1st gen chips
    libata: fix spurious WARN_ON_ONCE() on port freeze
    ahci: restore pci_intx() handling

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)
    be2net: fix some cmds to use mccq instead of mbox
    atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA
    pkt_sched: Fix qstats.qlen updating in dump_stats
    ipv6: Log the affected address when DAD failure occurs
    wl12xx: Fix print_mac() conversion.
    af_iucv: fix race when queueing skbs on the backlog queue
    af_iucv: do not call iucv_sock_kill() twice
    af_iucv: handle non-accepted sockets after resuming from suspend
    af_iucv: fix race in __iucv_sock_wait()
    iucv: use correct output register in iucv_query_maxconn()
    iucv: fix iucv_buffer_cpumask check when calling IUCV functions
    iucv: suspend/resume error msg for left over pathes
    wl12xx: switch to %pM to print the mac address
    b44: the poll handler b44_poll must not enable IRQ unconditionally
    ipv6: Ignore route option with ROUTER_PREF_INVALID
    bonding: make ab_arp select active slaves as other modes
    cfg80211: fix SME connect
    rc80211_minstrel: fix contention window calculation
    ssb/sdio: fix printk format warnings
    p54usb: add Zcomax XG-705A usbid
    ...

    Linus Torvalds
     
  • This is a new pata driver for ARTOP 867X 64bit 4-channel UDMA133 ATA ctrls.
    Based on the Atp867 data sheet rev 1.2, Acard, and in part on early ide codes
    from Eric Uhrhane .

    Signed-off-by: John(Jung-Ik) Lee
    Reviewed-by: Grant Grundler
    Reviewed-by: Gwendal Gringo
    Signed-off-by: Jeff Garzik

    John(Jung-Ik) Lee
     
  • With BLOCK_IOPOLL_SOFTIRQ added, softirq_to_name[] and
    show_softirq_name() needs to be updated.

    Signed-off-by: Li Zefan
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Li Zefan
     
  • Merge reason: Pick up kernel/softirq.c update for dependent fix.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
    uwb: avoid radio controller reset loops
    uwb: stop uwbd thread if rc->start() fails
    uwb: handle radio controller events with out-of-range IDs correctly

    Linus Torvalds
     

17 Sep, 2009

21 commits

  • Instead of hand rolling our own variant.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Create a new wakeup preemption mode, preempt towards tasks that run
    shorter on avg. It sets next buddy to be sure we actually run the task
    we preempted for.

    Test results:

    root@twins:~# while :; do :; done &
    [1] 6537
    root@twins:~# while :; do :; done &
    [2] 6538
    root@twins:~# while :; do :; done &
    [3] 6539
    root@twins:~# while :; do :; done &
    [4] 6540

    root@twins:/home/peter# ./latt -c4 sleep 4
    Entries: 48 (clients=4)

    Averages:
    ------------------------------
    Max 4750 usec
    Avg 497 usec
    Stdev 737 usec

    root@twins:/home/peter# echo WAKEUP_RUNNING > /debug/sched_features

    root@twins:/home/peter# ./latt -c4 sleep 4
    Entries: 48 (clients=4)

    Averages:
    ------------------------------
    Max 14 usec
    Avg 5 usec
    Stdev 3 usec

    Disabled by default - needs more testing.

    Signed-off-by: Peter Zijlstra
    Acked-by: Mike Galbraith
    Signed-off-by: Ingo Molnar
    LKML-Reference:

    Peter Zijlstra
     
  • This adds support for the regulators found in the AB3100
    Mixed-Signal IC.

    It further also defines platform data for the ST-Ericsson
    U300 platform and extends the AB3100 MFD driver so that
    platform/board data with regulation constraints and an init
    function can be passed down all the way from the board to
    the regulators.

    Signed-off-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • ab3100.h should include linux/workqueue.h for otp to build properly.

    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     
  • The TWL4030/5030 family of multifunction devices allows board-specific
    control of the the various regulators, clock and reset lines through
    'scripts' that are loaded into its memory. This allows for Dynamic Power
    Switching (DPS).

    Implement board-independent core support for DPS that is then used by
    board-specific code to load custom DPS scripts.

    Signed-off-by: Amit Kucheria
    Signed-off-by: Samuel Ortiz

    Amit Kucheria
     
  • This driver provides the core Freescale MC13783 support. It
    registers the client platform_devices and provides access
    to the A/D converter.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Samuel Ortiz

    Sascha Hauer
     
  • This adds the _interruptible suffix to the AB3100 accessor
    functions on par with mutex_lock_interruptible() that's used
    for blocking simultaneous calls to the AB3100 acessor functions.
    Since these accesses are slow on a 100kHz I2C bus and may line
    up waiting for the mutex, we need to handle interruption by
    system shutdown or kill signals and may just as well denote that
    in the function names.

    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • The WM831x series of devices provide three types of LDO:

    - General purpose LDOs supporting voltages from 0.9-3.3V
    - High performance analogue LDOs supporting voltages from 1-3.5V
    - Very low power consumption LDOs intended to support always on
    functionality.

    This patch adds support for all three kinds of LDO. Each regulator
    is probed as an individual platform device with resources used to
    provide the register map location of the regulator. Mixed hardware
    and software control of regulators is not current supported.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of devices all have 3 DC-DC buck convertors. This
    driver implements software control for these regulators via the
    regulator API. Use with split hardware/software control of individual
    regulators is not supported, though regulators not controlled by
    software may be controlled via the hardware control interfaces.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • This is useful for implementing get_status() in terms of get_mode().

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of PMICs support control of initial power on
    through the ON pin on the device with soft control of the pin
    at other times. Represent this to userspace as KEY_POWER.

    Signed-off-by: Mark Brown
    Acked-by: Dmitry Torokhov
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Add support for the GPIO pins on the WM831x. No direct support is
    currently supplied for configuring non-gpiolib functionality such
    as pull configuration and alternate functions, soft configuration
    of these will be provided in a future patch.

    Currently use of these pins as interrupts is not supported due to
    the ongoing issues with generic irq not support interrupt controllers
    on interrupt driven buses. Users can directly request the interrupts
    with the wm831x-specific APIs currently provided if required.

    Signed-off-by: Mark Brown
    Acked-by: David Brownell
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The current settings which can be used with the WM831x current sinks
    can't easily be mapped between register values and currents at run
    time without a lookup table since the values scale logarithmically
    to match the way the human eye interprets brightness. This lookup
    table is inclided in the core since several drivers need to use it.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of devices use OTP (One Time Programmable, a type
    of PROM) to store system configuration. At run time this data is
    visible via registers.

    Currently the only explicitly supported feature is that the unique
    ID provided by every WM831x device is exported to user space via
    sysfs. Other configuration data may be read by system-specific
    code in the pre_init() and post_init() platform data operations.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x backlight driver requires at least the specification of the
    current sink to use and a maximum current to allow them to function and
    will actively interfere with other users of the regulators it uses if
    misconfigured so only register the subdevice for it if this platform
    data has been supplied.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x contains an auxiliary ADC with a number of switchable
    inputs which is used to monitor some of the voltages and
    temperatures in the system and has some external inputs which can be
    used for machine specific purposes. Provide an API allowing drivers
    to read values from the ADC.

    An internal reference voltage is provided to allow callibration of
    the ADC. This is used to calibrate the device at startup.

    The hardware also supports continuous readings and digital comparators.
    These are not yet supported by the driver.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x includes an interrupt controller managing interrupts for
    the various functions on the chip. This patch adds support for the
    core interrupt block on the device.

    Ideally this would be supported by genirq, particularly for the
    GPIOs, but currently genirq is unable to cope with controllers on
    interrupt driven buses so we cut'n'paste the generic interface.
    Once genirq is able to cope chips like this it should be a case
    of filing the prefixes off the code and redoing wm831x-irq.c to
    move over.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of devices are register compatible processor power
    management subsystems, providing regulator and power path management
    facilities along with other services like watchdog, RTC and touch
    panel controllers.

    This patch adds very basic support, providing basic single register
    I2C access, handling of the security key and registration of the
    devices.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Provide basic support for MFDs having multiple cells of a given
    type with different IDs by adding an id to the mfd_cell structure
    and then adding that to the id passed in to mfd_add_devices().

    As it stands this approach requires that MFDs using this feature
    deal with ensuring that there aren't any ID collisions resulting
    from multiple MFDs of the same type being instantiated. This needs
    to happen with the existing code too, but with this approach there
    is a knock on effect on the IDs for non-duplicated devices.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Vibrator will be accessed via the pcap-regulator driver, no need to expose its
    bits in the header file.

    Signed-off-by: Daniel Ribeiro
    Signed-off-by: Samuel Ortiz

    Daniel Ribeiro
     
  • The 10 bits definition was the 8 bits one.

    Signed-off-by: Paul Fertser
    Signed-off-by: Samuel Ortiz

    Paul Fertser