29 May, 2016

1 commit

  • Pull more rdma updates from Doug Ledford:
    "This is the second group of code for the 4.7 merge window. It looks
    large, but only in one sense. I'll get to that in a minute. The list
    of changes here breaks down as follows:

    - Dynamic counter infrastructure in the IB drivers

    This is a sysfs based code to allow free form access to the
    hardware counters RDMA devices might support so drivers don't need
    to code this up repeatedly themselves

    - SendOnlyFullMember multicast support

    - IB router support

    - A couple misc fixes

    - The big item on the list: hfi1 driver updates, plus moving the hfi1
    driver out of staging

    There was a group of 15 patches in the hfi1 list that I thought I had
    in the first pull request but they weren't. So that added to the
    length of the hfi1 section here.

    As far as these go, everything but the hfi1 is pretty straight
    forward.

    The hfi1 is, if you recall, the driver that Al had complaints about
    how it used the write/writev interfaces in an overloaded fashion. The
    write portion of their interface behaved like the write handler in the
    IB stack proper and did bi-directional communications. The writev
    interface, on the other hand, only accepts SDMA request structures.
    The completions for those structures are sent back via an entirely
    different event mechanism.

    With the security patch, we put security checks on the write
    interface, however, we also knew they would be going away soon. Now,
    we've converted the write handler in the hfi1 driver to use ioctls
    from the IB reserved magic area for its bidirectional communications.
    With that change, Intel has addressed all of the items originally on
    their TODO when they went into staging (as well as many items added to
    the list later).

    As such, I moved them out, and since they were the last item in the
    staging/rdma directory, and I don't have immediate plans to use the
    staging area again, I removed the staging/rdma area.

    Because of the move out of staging, as well as a series of 5 patches
    in the hfi1 driver that removed code people thought should be done in
    a different way and was optional to begin with (a snoop debug
    interface, an eeprom driver for an eeprom connected directory to their
    hfi1 chip and not via an i2c bus, and a few other things like that),
    the line count, especially the removal count, is high"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (56 commits)
    staging/rdma: Remove the entire rdma subdirectory of staging
    IB/core: Make device counter infrastructure dynamic
    IB/hfi1: Fix pio map initialization
    IB/hfi1: Correct 8051 link parameter settings
    IB/hfi1: Update pkey table properly after link down or FM start
    IB/rdamvt: Fix rdmavt s_ack_queue sizing
    IB/rdmavt: Max atomic value should be a u8
    IB/hfi1: Fix hard lockup due to not using save/restore spin lock
    IB/hfi1: Add tracing support for send with invalidate opcode
    IB/hfi1, qib: Add ieth to the packet header definitions
    IB/hfi1: Move driver out of staging
    IB/hfi1: Do not free hfi1 cdev parent structure early
    IB/hfi1: Add trace message in user IOCTL handling
    IB/hfi1: Remove write(), use ioctl() for user cmds
    IB/hfi1: Add ioctl() interface for user commands
    IB/hfi1: Remove unused user command
    IB/hfi1: Remove snoop/diag interface
    IB/hfi1: Remove EPROM functionality from data device
    IB/hfi1: Remove UI char device
    IB/hfi1: Remove multiple device cdev
    ...

    Linus Torvalds
     

28 May, 2016

23 commits

  • Pull more input subsystem updates from Dmitry Torokhov:
    "Just a few more driver fixes; new drivers will be coming in the next
    merge window"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: pwm-beeper - fix - scheduling while atomic
    Input: xpad - xbox one elite controller support
    Input: xpad - add more third-party controllers
    Input: xpad - prevent spurious input from wired Xbox 360 controllers
    Input: xpad - move pending clear to the correct location
    Input: uinput - handle compat ioctl for UI_SET_PHYS

    Linus Torvalds
     
  • Pull more i2c updates from Wolfram Sang:
    "Here is the second pull request from I2C for this merge window:

    - one new feature (which nearly fell through the cracks): i2c-dev
    does now use the cdev API so it can handle >256 minors. Seems
    people do need that.

    - two fixes for the just added DMA feature for i2c-rcar

    - some typo fixes"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: dev: don't start function name with 'return'
    i2c: dev: switch from register_chrdev to cdev API
    i2c: xlr: rename ARCH_TANGOX to ARCH_TANGO
    i2c: at91: change log when dma configuration fails
    misc: at24: Fix typo in at24 header file
    i2c: rcar: should depend on HAS_DMA
    i2c: rcar: use dma_request_chan()

    Linus Torvalds
     
  • Pull UBI/UBIFS updates from Richard Weinberger:
    "This contains mostly cleanups and minor improvements of UBI and UBIFS"

    * tag 'upstream-4.7-rc1' of git://git.infradead.org/linux-ubifs:
    ubifs: ubifs_dump_inode: Fix dumping field bulk_read
    UBI: Fix static volume checks when Fastmap is used
    UBI: Set free_count to zero before walking through erase list
    UBI: Silence an unintialized variable warning
    UBI: Clean up return in ubi_remove_volume()
    UBI: Modify wrong comment in ubi_leb_map function.
    UBI: Don't read back all data in ubi_eba_copy_leb()
    UBI: Add ro-mode sysfs attribute

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "Followups to the parallel lookup work:

    - update docs

    - restore killability of the places that used to take ->i_mutex
    killably now that we have down_write_killable() merged

    - Additionally, it turns out that I missed a prerequisite for
    security_d_instantiate() stuff - ->getxattr() wasn't the only thing
    that could be called before dentry is attached to inode; with smack
    we needed the same treatment applied to ->setxattr() as well"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    switch ->setxattr() to passing dentry and inode separately
    switch xattr_handler->set() to passing dentry and inode separately
    restore killability of old mutex_lock_killable(&inode->i_mutex) users
    add down_write_killable_nested()
    update D/f/directory-locking

    Linus Torvalds
     
  • smack ->d_instantiate() uses ->setxattr(), so to be able to call it before
    we'd hashed the new dentry and attached it to inode, we need ->setxattr()
    instances getting the inode as an explicit argument rather than obtaining
    it from dentry.

    Similar change for ->getxattr() had been done in commit ce23e64. Unlike
    ->getxattr() (which is used by both selinux and smack instances of
    ->d_instantiate()) ->setxattr() is used only by smack one and unfortunately
    it got missed back then.

    Reported-by: Seung-Woo Kim
    Tested-by: Casey Schaufler
    Signed-off-by: Al Viro

    Al Viro
     
  • Pwm config may sleep so defer it using a worker.

    On a Freescale i.MX53 based board we ran into "BUG: scheduling while
    atomic" because input_inject_event locks interrupts, but
    imx_pwm_config_v2 sleeps.

    Tested on Freescale i.MX53 SoC with 4.6.0.

    Signed-off-by: Manfred Schlaegl
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov

    Manfred Schlaegl
     
  • added the according id and incresed XPAD_PKT_LEN to 64 as the elite
    controller sends at least 33 byte messages [1].
    Verified to be working by [2].

    [1]: https://franticrain.github.io/sniffs/XboxOneSniff.html
    [2]: https://github.com/paroj/xpad/issues/23

    Signed-off-by: Pierre-Loup A. Griffais
    Signed-off-by: Pavel Rojtberg
    Signed-off-by: Dmitry Torokhov

    Pavel Rojtberg
     
  • Signed-off-by: Pierre-Loup A. Griffais
    Signed-off-by: Thomas Debesse
    Signed-off-by: aronschatz
    Signed-off-by: Pavel Rojtberg
    Signed-off-by: Dmitry Torokhov

    Pavel Rojtberg
     
  • After initially connecting a wired Xbox 360 controller or sending it
    a command to change LEDs, a status/response packet is interpreted as
    controller input. This causes the state of buttons represented in
    byte 2 of the controller data packet to be incorrect until the next
    valid input packet. Wireless Xbox 360 controllers are not affected.

    Writing a new value to the LED device while holding the Start button
    and running jstest is sufficient to reproduce this bug. An event will
    come through with the Start button released.

    Xboxdrv also won't attempt to read controller input from a packet
    where byte 0 is non-zero. It also checks that byte 1 is 0x14, but
    that value differs between wired and wireless controllers and this
    code is shared by both. I think just checking byte 0 is enough to
    eliminate unwanted packets.

    The following are some examples of 3-byte status packets I saw:
    01 03 02
    02 03 00
    03 03 03
    08 03 00

    Signed-off-by: Cameron Gutman
    Signed-off-by: Pavel Rojtberg
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov

    Cameron Gutman
     
  • otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27

    Signed-off-by: Pavel Rojtberg
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov

    Pavel Rojtberg
     
  • Most users of IS_ERR_VALUE() in the kernel are wrong, as they
    pass an 'int' into a function that takes an 'unsigned long'
    argument. This happens to work because the type is sign-extended
    on 64-bit architectures before it gets converted into an
    unsigned type.

    However, anything that passes an 'unsigned short' or 'unsigned int'
    argument into IS_ERR_VALUE() is guaranteed to be broken, as are
    8-bit integers and types that are wider than 'unsigned long'.

    Andrzej Hajda has already fixed a lot of the worst abusers that
    were causing actual bugs, but it would be nice to prevent any
    users that are not passing 'unsigned long' arguments.

    This patch changes all users of IS_ERR_VALUE() that I could find
    on 32-bit ARM randconfig builds and x86 allmodconfig. For the
    moment, this doesn't change the definition of IS_ERR_VALUE()
    because there are probably still architecture specific users
    elsewhere.

    Almost all the warnings I got are for files that are better off
    using 'if (err)' or 'if (err < 0)'.
    The only legitimate user I could find that we get a warning for
    is the (32-bit only) freescale fman driver, so I did not remove
    the IS_ERR_VALUE() there but changed the type to 'unsigned long'.
    For 9pfs, I just worked around one user whose calling conventions
    are so obscure that I did not dare change the behavior.

    I was using this definition for testing:

    #define IS_ERR_VALUE(x) ((unsigned long*)NULL == (typeof (x)*)NULL && \
    unlikely((unsigned long long)(x) >= (unsigned long long)(typeof(x))-MAX_ERRNO))

    which ends up making all 16-bit or wider types work correctly with
    the most plausible interpretation of what IS_ERR_VALUE() was supposed
    to return according to its users, but also causes a compile-time
    warning for any users that do not pass an 'unsigned long' argument.

    I suggested this approach earlier this year, but back then we ended
    up deciding to just fix the users that are obviously broken. After
    the initial warning that caused me to get involved in the discussion
    (fs/gfs2/dir.c) showed up again in the mainline kernel, Linus
    asked me to send the whole thing again.

    [ Updated the 9p parts as per Al Viro - Linus ]

    Signed-off-by: Arnd Bergmann
    Cc: Andrzej Hajda
    Cc: Andrew Morton
    Link: https://lkml.org/lkml/2016/1/7/363
    Link: https://lkml.org/lkml/2016/5/27/486
    Acked-by: Srinivas Kandagatla # For nvmem part
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • Pull block fixes from Jens Axboe:
    "A set of fixes that wasn't included in the first merge window pull
    request. This pull request contains:

    - A set of NVMe fixes from Keith, and one from Nic for the integrity
    side of it.

    - Fix from Ming, clearing ->mq_ops if we don't successfully setup a
    queue for multiqueue.

    - A set of stability fixes for bcache from Jiri, and also marking
    bcache as orphaned as it's no longer actively maintained (in
    mainline, at least)"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    blk-mq: clear q->mq_ops if init fail
    MAINTAINERS: mark bcache as orphan
    bcache: bch_gc_thread() is not freezable
    bcache: bch_allocator_thread() is not freezable
    bcache: bch_writeback_thread() is not freezable
    nvme/host: Add missing blk_integrity tag_size + flags assignments
    NVMe: Add device ID's with stripe quirk
    NVMe: Short-cut removal on surprise hot-unplug
    NVMe: Allow user initiated rescan
    NVMe: Reduce driver log spamming
    NVMe: Unbind driver on failure
    NVMe: Delete only created queues
    NVMe: Allocate queues only for online cpus

    Linus Torvalds
     
  • Pull MTD fixes from Brian Norris:
    "We've already noticed a few flaws in the MTD work for v4.7-rc1:

    - The Atmel folks got ahead of themselves on trying to support their
    latest hardware and were working off incorrect documentation. Fix
    up the NAND driver to get this correct.

    - Fix up device tree example documentation to use the latest
    recommendations for describing NAND ECC algorithms"

    * tag 'for-linus-20160527' of git://git.infradead.org/linux-mtd:
    Documentation: dt: mtd: drop "soft_bch" from example
    Revert "mtd: atmel_nand: Support variable RB_EDGE interrupts"

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:

    - one IMX built-in regression fix

    - a set of amdgpu fixes, mostly powerplay and polaris GPU stuff

    - a set of i915 fixes all over, many cc'ed to stable.

    The i915 batch contain support for DP++ dongle detection, which is
    used to fix some regressions in the HDMI color depth area

    * tag 'drm-fixes-v4.7-rc1' of git://people.freedesktop.org/~airlied/linux: (44 commits)
    drm/amd: add Kconfig dependency for ACP on DRM_AMDGPU
    drm/amdgpu: Fix hdmi deep color support.
    drm/amdgpu: fix bug in fence driver fini
    drm/i915: Stop automatically retiring requests after a GPU hang
    drm/i915: Unify intel_ring_begin()
    drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)
    drm/i915/psr: Try to program link training times correctly
    drm/imx: Match imx-ipuv3-crtc components using device node in platform data
    drm/i915/bxt: Adjusting the error in horizontal timings retrieval
    drm/i915: Don't leave old junk in ilk active watermarks on readout
    drm/i915: s/DPPL/DPLL/ for SKL DPLLs
    drm/i915: Fix gen8 semaphores id for legacy mode
    drm/i915: Set crtc_state->lane_count for HDMI
    drm/i915/BXT: Retrieving the horizontal timing for DSI
    drm/i915: Protect gen7 irq_seqno_barrier with uncore lock
    drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms
    drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
    drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed
    drm/i915: Respect DP++ adaptor TMDS clock limit
    drm: Add helper for DP++ adaptors
    ...

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Mostly minor updates and cleanups. One new power management
    controller driver for Intel Core SoCs.

    platform/x86:
    - Add PMC Driver for Intel Core SoC

    dell-rbtn:
    - Ignore ACPI notifications if device is suspended

    thinkpad_acpi:
    - save kbdlight state on suspend and restore it on resume

    intel_menlow:
    - reduce code duplication

    asus-wmi:
    - provide access to ALS control

    ideapad-laptop:
    - add a new WMI string for ESC key

    surfacepro3_button:
    - Add a warning when switching to tablet mode

    sony-laptop:
    - Avoid oops on module unload for older laptops

    intel_telemetry:
    - Constify telemetry_core_ops structures

    fujitsu-laptop:
    - Use IS_ENABLED() instead of checking for built-in or module

    asus-laptop:
    - correct error handling in sysfs_acpi_set
    - remove redundant initializers
    - correct error handling in asus_read_brightness()

    fujitsu-laptop:
    - Support radio LED"

    * tag 'platform-drivers-x86-v4.7-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
    platform/x86: Add PMC Driver for Intel Core SoC
    dell-rbtn: Ignore ACPI notifications if device is suspended
    thinkpad_acpi: save kbdlight state on suspend and restore it on resume
    intel_menlow: reduce code duplication
    asus-wmi: provide access to ALS control
    ideapad-laptop: add a new WMI string for ESC key
    surfacepro3_button: Add a warning when switching to tablet mode
    sony-laptop: Avoid oops on module unload for older laptops
    intel_telemetry: Constify telemetry_core_ops structures
    fujitsu-laptop: Use IS_ENABLED() instead of checking for built-in or module
    asus-laptop: correct error handling in sysfs_acpi_set
    asus-laptop: remove redundant initializers
    asus-laptop: correct error handling in asus_read_brightness()
    fujitsu-laptop: Support radio LED

    Linus Torvalds
     
  • Pull intel IOMMU updates from David Woodhouse:
    "This patchset improves the scalability of the Intel IOMMU code by
    resolving two spinlock bottlenecks and eliminating the linearity of
    the IOVA allocator, yielding up to ~5x performance improvement and
    approaching 'iommu=off' performance"

    * git://git.infradead.org/intel-iommu:
    iommu/vt-d: Use per-cpu IOVA caching
    iommu/iova: introduce per-cpu caching to iova allocation
    iommu/vt-d: change intel-iommu to use IOVA frame numbers
    iommu/vt-d: avoid dev iotlb logic for domains with no dev iotlbs
    iommu/vt-d: only unmap mapped entries
    iommu/vt-d: correct flush_unmaps pfn usage
    iommu/vt-d: per-cpu deferred invalidation queues
    iommu/vt-d: refactoring of deferred flush entries

    Linus Torvalds
     
  • This patch adds the Power Management Controller driver as a PCI driver
    for Intel Core SoC architecture.

    This driver can utilize debugging capabilities and supported features
    as exposed by the Power Management Controller.

    Please refer to the below specification for more details on PMC features.
    http://www.intel.in/content/www/in/en/chipsets/100-series-chipset-datasheet-vol-2.html

    The current version of this driver exposes SLP_S0_RESIDENCY counter.
    This counter can be used for detecting fragile SLP_S0 signal related
    failures and take corrective actions when PCH SLP_S0 signal is not
    asserted after kernel freeze as part of suspend to idle flow
    (echo freeze > /sys/power/state).

    Intel Platform Controller Hub (PCH) asserts SLP_S0 signal when it
    detects favorable conditions to enter its low power mode. As a
    pre-requisite the SoC should be in deepest possible Package C-State
    and devices should be in low power mode. For example, on Skylake SoC
    the deepest Package C-State is Package C10 or PC10. Suspend to idle
    flow generally leads to PC10 state but PC10 state may not be sufficient
    for realizing the platform wide power potential which SLP_S0 signal
    assertion can provide.

    SLP_S0 signal is often connected to the Embedded Controller (EC) and the
    Power Management IC (PMIC) for other platform power management related
    optimizations.

    In general, SLP_S0 assertion == PC10 + PCH low power mode + ModPhy Lanes
    power gated + PLL Idle.

    As part of this driver, a mechanism to read the SLP_S0_RESIDENCY is exposed
    as an API and also debugfs features are added to indicate SLP_S0 signal
    assertion residency in microseconds.

    echo freeze > /sys/power/state
    wake the system
    cat /sys/kernel/debug/pmc_core/slp_s0_residency_usec

    Signed-off-by: Rajneesh Bhardwaj
    Signed-off-by: Vishwanath Somayaji
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Darren Hart

    Rajneesh Bhardwaj
     
  • Some BIOSes unconditionally send an ACPI notification to RBTN when the
    system is resuming from suspend. This makes dell-rbtn send an input
    event to userspace as if a function key was pressed. Prevent this by
    ignoring all the notifications received while the device is suspended.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=106031
    Signed-off-by: Gabriele Mazzotta
    Tested-by: Alex Hung
    Reviewed-by: Pali Rohár
    Cc: stable@vger.kernel.org
    Signed-off-by: Darren Hart

    Gabriele Mazzotta
     
  • Override default LED class suspend/resume handles, by keeping track of
    the brightness level before suspending so that it can be automatically
    restored on resume by calling default resume handler.

    Signed-off-by: Marco Trevisan (Treviño)
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: Darren Hart

    Marco Trevisan (Treviño)
     
  • aux0_show and aux1_show consists of almost identical code. Pull that
    into a common helper and make them thin wrappers. Similarly for
    _store.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Darren Hart

    Rasmus Villemoes
     
  • Asus Zenbook ux31a is providing ACPI0008 interface for ALS
    (Ambient Light Sensor), which is accessible for OS => Win 7.
    This sensor can be used with iio/acpi-als driver.
    Since it is disabled by default, we should use asus-wmi
    interface to enable it.

    Signed-off-by: Oleksij Rempel
    Signed-off-by: Darren Hart

    Oleksij Rempel
     
  • My patch to the ideapad-laptop driver to get the ESC key working on the
    Yoga 1170 (Yoga 3) failed to do the same for the following model, the
    Lenovo Yoga 700.

    Denis Gordienko managed to get it working by adding another GUID for the
    new WMI interface. I have adapted his patch to normal coding style
    and simplified it a bit for inclusion, but this patch is currently
    untested.

    Link: https://forums.lenovo.com/t5/Lenovo-Yoga-Series-Notebooks/YOGA-3-14-How-to-reclaim-my-Esc-key-and-permanently-disable/m-p/3317499
    Signed-off-by: Arnd Bergmann
    Tested-by: Denis Gordienko
    [dvhart: Whitespace cleanup, static const char *const array declaration]
    Signed-off-by: Darren Hart

    Arnd Bergmann
     
  • Microsoft Surface Book has a tablet mode button. Print another message
    once on this event instead of repeating "Unknown event...".

    Unfortunately, proper support involves the _DSM method, which is not a
    discoverable interface. Just print a warning for now.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Darren Hart

    Andy Shevchenko
     

27 May, 2016

16 commits

  • I stumbled multiple times over 'return_i2c_dev', especially before the
    actual 'return res'. It makes the code hard to read, so reanme the
    function to 'put_i2c_dev' which also better matches 'get_free_i2c_dev'.

    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • I see the main drm pull got merged, here's the first batch of fixes for
    4.7 already. Fixes all around, a large portion cc: stable stuff.

    [airlied: the DP++ stuff is a regression fix].
    * tag 'drm-intel-next-fixes-2016-05-25' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: Stop automatically retiring requests after a GPU hang
    drm/i915: Unify intel_ring_begin()
    drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)
    drm/i915/psr: Try to program link training times correctly
    drm/i915/bxt: Adjusting the error in horizontal timings retrieval
    drm/i915: Don't leave old junk in ilk active watermarks on readout
    drm/i915: s/DPPL/DPLL/ for SKL DPLLs
    drm/i915: Fix gen8 semaphores id for legacy mode
    drm/i915: Set crtc_state->lane_count for HDMI
    drm/i915/BXT: Retrieving the horizontal timing for DSI
    drm/i915: Protect gen7 irq_seqno_barrier with uncore lock
    drm/i915: Re-enable GGTT earlier during resume on pre-gen6 platforms
    drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
    drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed
    drm/i915: Respect DP++ adaptor TMDS clock limit
    drm: Add helper for DP++ adaptors

    Dave Airlie
     
  • AMD GPU bugfixes:
    - Various powerplay bug fixes
    - Add some new polaris pci ids
    - misc bug fixes and code cleanups

    * 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux: (27 commits)
    drm/amd: add Kconfig dependency for ACP on DRM_AMDGPU
    drm/amdgpu: Fix hdmi deep color support.
    drm/amdgpu: fix bug in fence driver fini
    drm/amd/powerplay/hwmgr: use kmemdup
    drm/amd/powerplay/hwmgr: use kmemdup
    drm/amd/powerplay/hwmgr: use kmemdup
    drm/amd/powerplay: fix bugs of checking if dpm is running on Tonga
    drm/amdgpu: update Polaris11 golden setting
    drm/amdgpu: Add more Polaris 11 PCI IDs
    drm/amdgpu: update Polaris10 golden setting
    drm/amdgpu: add more Polaris10 DID
    drm/amd/amdgpu : Remove unused variable
    drm/amd/amdgpu : Remove unused variable
    drm/amd/amdgpu : Remove unused variable
    drm/amd/amdgpu/cz_dpm: Remove unused variable
    drm/amd/amdgpu : Remove unused variable
    drm/amd/powerplay: use ARRAY_SIZE() to calculate array size.
    drm/amdgpu: fix array out of bounds
    drm/radeon: fix array out of bounds
    drm/amd/powerplay: fix a bug on updating sclk for Tonga
    ...

    Dave Airlie
     
  • Merge fixes from Andrew Morton:
    "10 fixes"

    * emailed patches from Andrew Morton :
    drivers/pinctrl/intel/pinctrl-baytrail.c: fix build with gcc-4.4
    update "mm/zsmalloc: don't fail if can't create debugfs info"
    dma-debug: avoid spinlock recursion when disabling dma-debug
    mm: oom_reaper: remove some bloat
    memcg: fix mem_cgroup_out_of_memory() return value.
    ocfs2: fix improper handling of return errno
    mm: slub: remove unused virt_to_obj()
    mm: kasan: remove unused 'reserved' field from struct kasan_alloc_meta
    mm: make CONFIG_DEFERRED_STRUCT_PAGE_INIT depends on !FLATMEM explicitly
    seqlock: fix raw_read_seqcount_latch()

    Linus Torvalds
     
  • Pull misc DAX updates from Vishal Verma:
    "DAX error handling for 4.7

    - Until now, dax has been disabled if media errors were found on any
    device. This enables the use of DAX in the presence of these
    errors by making all sector-aligned zeroing go through the driver.

    - The driver (already) has the ability to clear errors on writes that
    are sent through the block layer using 'DSMs' defined in ACPI 6.1.

    Other misc changes:

    - When mounting DAX filesystems, check to make sure the partition is
    page aligned. This is a requirement for DAX, and previously, we
    allowed such unaligned mounts to succeed, but subsequent
    reads/writes would fail.

    - Misc/cleanup fixes from Jan that remove unused code from DAX
    related to zeroing, writeback, and some size checks"

    * tag 'dax-misc-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    dax: fix a comment in dax_zero_page_range and dax_truncate_page
    dax: for truncate/hole-punch, do zeroing through the driver if possible
    dax: export a low-level __dax_zero_page_range helper
    dax: use sb_issue_zerout instead of calling dax_clear_sectors
    dax: enable dax in the presence of known media errors (badblocks)
    dax: fallback from pmd to pte on error
    block: Update blkdev_dax_capable() for consistency
    xfs: Add alignment check for DAX mount
    ext2: Add alignment check for DAX mount
    ext4: Add alignment check for DAX mount
    block: Add bdev_dax_supported() for dax mount checks
    block: Add vfs_msg() interface
    dax: Remove redundant inode size checks
    dax: Remove pointless writeback from dax_do_io()
    dax: Remove zeroing from dax_io()
    dax: Remove dead zeroing code from fault handlers
    ext2: Avoid DAX zeroing to corrupt data
    ext2: Fix block zeroing in ext2_get_blocks() for DAX
    dax: Remove complete_unwritten argument
    DAX: move RADIX_DAX_ definitions to dax.c

    Linus Torvalds
     
  • gcc-4.4 and thereabouts has issues with initializers of anonymous
    unions, and it generates the following warnings:

    drivers/pinctrl/intel/pinctrl-baytrail.c:413: error: unknown field 'simple_funcs' specified in initializer
    drivers/pinctrl/intel/pinctrl-baytrail.c:413: warning: missing braces around initializer
    drivers/pinctrl/intel/pinctrl-baytrail.c:413: warning: (near initialization for 'byt_score_groups[0].')
    drivers/pinctrl/intel/pinctrl-baytrail.c:415: error: unknown field 'simple_funcs' specified in initializer
    drivers/pinctrl/intel/pinctrl-baytrail.c:417: error: unknown field 'simple_funcs' specified in initializer
    ...

    Work around this.

    Acked-by: Mika Westerberg
    Cc: Heikki Krogerus
    Cc: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Pull Ceph updates from Sage Weil:
    "This changeset has a few main parts:

    - Ilya has finished a huge refactoring effort to sync up the
    client-side logic in libceph with the user-space client code, which
    has evolved significantly over the last couple years, with lots of
    additional behaviors (e.g., how requests are handled when cluster
    is full and transitions from full to non-full).

    This structure of the code is more closely aligned with userspace
    now such that it will be much easier to maintain going forward when
    behavior changes take place. There are some locking improvements
    bundled in as well.

    - Zheng adds multi-filesystem support (multiple namespaces within the
    same Ceph cluster)

    - Zheng has changed the readdir offsets and directory enumeration so
    that dentry offsets are hash-based and therefore stable across
    directory fragmentation events on the MDS.

    - Zheng has a smorgasbord of bug fixes across fs/ceph"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (71 commits)
    ceph: fix wake_up_session_cb()
    ceph: don't use truncate_pagecache() to invalidate read cache
    ceph: SetPageError() for writeback pages if writepages fails
    ceph: handle interrupted ceph_writepage()
    ceph: make ceph_update_writeable_page() uninterruptible
    libceph: make ceph_osdc_wait_request() uninterruptible
    ceph: handle -EAGAIN returned by ceph_update_writeable_page()
    ceph: make fault/page_mkwrite return VM_FAULT_OOM for -ENOMEM
    ceph: block non-fatal signals for fault/page_mkwrite
    ceph: make logical calculation functions return bool
    ceph: tolerate bad i_size for symlink inode
    ceph: improve fragtree change detection
    ceph: keep leaf frag when updating fragtree
    ceph: fix dir_auth check in ceph_fill_dirfrag()
    ceph: don't assume frag tree splits in mds reply are sorted
    ceph: fix inode reference leak
    ceph: using hash value to compose dentry offset
    ceph: don't forbid marking directory complete after forward seek
    ceph: record 'offset' for each entry of readdir result
    ceph: define 'end/complete' in readdir reply as bit flags
    ...

    Linus Torvalds
     
  • i2c-dev had never moved away from the older register_chrdev interface to
    implement its char device registration. The register_chrdev API has the
    limitation of enabling only up to 256 i2c-dev busses to exist.

    Large platforms with lots of i2c devices (i.e. pluggable transceivers)
    with dedicated busses may have to exceed that limit.
    In particular, there are also platforms making use of the i2c bus
    multiplexing API, which instantiates a virtual bus for each possible
    multiplexed selection.

    This patch removes the register_chrdev usage and replaces it with the
    less old cdev API, which takes away the 256 i2c-dev bus limitation.
    It should not have any other impact for i2c bus drivers or user space.

    This patch has been tested on qemu x86 and qemu powerpc platforms with
    the aid of a module which adds and removes 5000 virtual i2c busses, as
    well as validated on an existing powerpc hardware platform which makes
    use of the i2c bus multiplexing API.
    i2c-dev busses with device minor numbers larger than 256 have also been
    validated to work with the existing i2c-tools.

    Signed-off-by: Erico Nunes
    [wsa: kept includes sorted]
    Signed-off-by: Wolfram Sang

    Erico Nunes
     
  • The ARCH name was changed during the review process of the mach, and
    this driver was forgotten to be converted. Fix it now.
    http://article.gmane.org/gmane.linux.ports.arm.kernel/456331

    Signed-off-by: Marc Gonzalez
    [wsa: updated commit message slightly]
    Signed-off-by: Wolfram Sang

    Marc Gonzalez
     
  • When the DMA configuration fails, there is a log reporting that we can't
    use DMA and indicating the error number. When booting the kernel, it is
    annoying to see this error number. Moreover, people can think something
    is going wrong. It is not the case, it means that DMA can't be used but
    it doesn't prevent to use i2c.

    Signed-off-by: Ludovic Desroches
    Signed-off-by: Wolfram Sang

    Ludovic Desroches
     
  • If NO_DMA=y:

    drivers/built-in.o: In function `rcar_i2c_dma_unmap':
    i2c-rcar.c:(.text+0x6f06c6): undefined reference to `bad_dma_ops'
    drivers/built-in.o: In function `rcar_i2c_dma':
    i2c-rcar.c:(.text+0x6f07e2): undefined reference to `bad_dma_ops'
    i2c-rcar.c:(.text+0x6f0838): undefined reference to `bad_dma_ops'

    Add a dependency on HAS_DMA to fix this.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Niklas Söderlund
    Signed-off-by: Wolfram Sang

    Geert Uytterhoeven
     
  • New drivers should not use dma_request_slave_channel_reason() but
    dma_request_chan(). The former is a macro to the later so this change do
    not effect the driver in any way.

    Reported-by: Arnd Bergmann
    Signed-off-by: Niklas Söderlund
    Signed-off-by: Wolfram Sang

    Niklas Söderlund
     
  • This is no longer in use. Remove it.

    Signed-off-by: Doug Ledford

    Doug Ledford
     
  • In practice, each RDMA device has a unique set of counters that the
    hardware implements. Having a central set of counters that they must
    all adhere to is limiting and causes many useful counters to not be
    available.

    Therefore we create a dynamic counter registration infrastructure.

    The driver must implement a stats structure allocation routine, in
    which the driver must place the directory name it wants, a list of
    names for all of the counters, an array of u64 counters themselves,
    plus a few generic configuration options.

    We then implement a core routine to create a sysfs file for each
    of the named stats elements, and a core routine to retrieve the
    stats when any of the sysfs attribute files are read.

    To avoid excessive beating on the stats generation routine in the
    drivers, the core code also caches the stats for a short period of
    time so that someone attempting to read all of the stats in a
    given device's directory will not result in a stats generation
    call per file read.

    Future work will attempt to standardize just the shared stats
    elements, and possibly add a method to get the stats via netlink
    in addition to sysfs.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Mark Bloch
    Reviewed-by: Steve Wise
    Signed-off-by: Doug Ledford
    [ Add caching, make structure names more informative, add i40iw support,
    other significant rewrites from the original patch ]

    Christoph Lameter
     
  • Doug Ledford
     
  • Pull hwmon fixlets from Jean Delvare.

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    Documentation/hwmon: Update links in max34440
    hwmon: (emc2103) Fix typo in MODULE_PARM_DESC

    Linus Torvalds