27 Apr, 2015

10 commits

  • Pull intel drm fixes from Dave Airlie.

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg
    drm/i915: Workaround to avoid lite restore with HEAD==TAIL
    drm/i915: cope with large i2c transfers

    Linus Torvalds
     
  • Pull intel iommu updates from David Woodhouse:
    "This lays a little of the groundwork for upcoming Shared Virtual
    Memory support — fixing some bogus #defines for capability bits and
    adding the new ones, and starting to use the new wider page tables
    where we can, in anticipation of actually filling in the new fields
    therein.

    It also allows graphics devices to be assigned to VM guests again.
    This got broken in 3.17 by disallowing assignment of RMRR-afflicted
    devices. Like USB, we do understand why there's an RMRR for graphics
    devices — and unlike USB, it's actually sane. So we can make an
    exception for graphics devices, just as we do USB controllers.

    Finally, tone down the warning about the X2APIC_OPT_OUT bit, due to
    persistent requests. X2APIC_OPT_OUT was added to the spec as a nasty
    hack to allow broken BIOSes to forbid us from using X2APIC when they
    do stupid and invasive things and would break if we did.

    Someone noticed that since Windows doesn't have full IOMMU support for
    DMA protection, setting the X2APIC_OPT_OUT bit made Windows avoid
    initialising the IOMMU on the graphics unit altogether.

    This means that it would be available for use in "driver mode", where
    the IOMMU registers are made available through a BAR of the graphics
    device and the graphics driver can do SVM all for itself.

    So they started setting the X2APIC_OPT_OUT bit on *all* platforms with
    SVM capabilities. And even the platforms which *might*, if the
    planets had been aligned correctly, possibly have had SVM capability
    but which in practice actually don't"

    * git://git.infradead.org/intel-iommu:
    iommu/vt-d: support extended root and context entries
    iommu/vt-d: Add new extended capabilities from v2.3 VT-d specification
    iommu/vt-d: Allow RMRR on graphics devices too
    iommu/vt-d: Print x2apic opt out info instead of printing a warning
    iommu/vt-d: kill bogus ecap_niotlb_iunits()

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "This has a mixture of merge window cleanups and bugfixes"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: st: add include for pinctrl
    i2c: mux: use proper dev when removing "channel-X" symlinks
    i2c: digicolor: remove duplicate include
    i2c: Mark adapter devices with pm_runtime_no_callbacks
    i2c: pca-platform: fix broken email address
    i2c: mxs: fix broken email address
    i2c: rk3x: report number of messages transmitted

    Linus Torvalds
     
  • …-intel into drm-fixes

    three fixes for i915.

    * tag 'drm-intel-next-fixes-2015-04-25' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: vlv: fix save/restore of GFX_MAX_REQ_COUNT reg
    drm/i915: Workaround to avoid lite restore with HEAD==TAIL
    drm/i915: cope with large i2c transfers

    Dave Airlie
     
  • Pull fourth vfs update from Al Viro:
    "d_inode() annotations from David Howells (sat in for-next since before
    the beginning of merge window) + four assorted fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    RCU pathwalk breakage when running into a symlink overmounting something
    fix I_DIO_WAKEUP definition
    direct-io: only inc/dec inode->i_dio_count for file systems
    fs/9p: fix readdir()
    VFS: assorted d_backing_inode() annotations
    VFS: fs/inode.c helpers: d_inode() annotations
    VFS: fs/cachefiles: d_backing_inode() annotations
    VFS: fs library helpers: d_inode() annotations
    VFS: assorted weird filesystems: d_inode() annotations
    VFS: normal filesystems (and lustre): d_inode() annotations
    VFS: security/: d_inode() annotations
    VFS: security/: d_backing_inode() annotations
    VFS: net/: d_inode() annotations
    VFS: net/unix: d_backing_inode() annotations
    VFS: kernel/: d_inode() annotations
    VFS: audit: d_backing_inode() annotations
    VFS: Fix up some ->d_inode accesses in the chelsio driver
    VFS: Cachefiles should perform fs modifications on the top layer only
    VFS: AF_UNIX sockets should call mknod on the top layer only

    Linus Torvalds
     
  • Pull more power management and ACPI updates from Rafael Wysocki:
    "These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver,
    cpupower tool), a new CPU ID for the Intel RAPL driver and one
    intel_pstate driver improvement that didn't make it to my previous
    pull requests due to timing.

    Specifics:

    - Fix a build warning in the intel_pstate driver showing up in
    non-SMP builds (Borislav Petkov)

    - Change one of the intel_pstate's P-state selection parameters for
    Baytrail and Cherrytrail CPUs to significantly improve performance
    at the cost of a small increase in energy consumption (Kristen
    Carlson Accardi)

    - Fix a NULL pointer dereference in the ACPI EC driver due to an
    unsafe list walk in the query handler removal routine (Chris
    Bainbridge)

    - Get rid of a false-positive lockdep warning in the ACPI container
    hot-remove code (Rafael J Wysocki)

    - Prevent the ACPI device enumeration code from creating device
    objects of a wrong type in some cases (Rafael J Wysocki)

    - Add Skylake processors support to the Intel RAPL power capping
    driver (Brian Bian)

    - Drop the stale MAINTAINERS entry for the ACPI dock driver that is
    regarded as part of the ACPI core and maintained along with it now
    (Chao Yu)

    - Fix cpupower tool breakage caused by a library API change in libpci
    3.3.0 (Lucas Stach)"

    * tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / scan: Add a scan handler for PRP0001
    ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
    ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
    MAINTAINERS: remove maintainship entry of docking station driver
    powercap / RAPL: Add support for Intel Skylake processors
    cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
    intel_pstate: Change the setpoint for Atom params
    cpupower: fix breakage from libpci API change

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This push fixes a build problem with img-hash under non-standard
    configurations and a serious regression with sha512_ssse3 which can
    lead to boot failures"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA
    crypto: x86/sha512_ssse3 - fixup for asm function prototype change

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "This series includes significant updates to the toshiba_acpi driver
    and the reintroduction of the dell-laptop keyboard backlight additions
    I had to revert previously. Also included are various fixes for
    typos, warnings, correctness, and minor bugs.

    Specifics:

    dell-laptop:
    - add support for keyboard backlight.

    toshiba_acpi:
    - adaptive keyboard, hotkey, USB sleep and charge, and backlight
    updates. Update sysfs documentation.

    toshiba_bluetooth:
    - fix enabling/disabling loop on recent devices

    apple-gmux:
    - lock iGP IO to protect from vgaarb changes

    other:
    - Fix typos, clear gcc warnings, clarify pr_* messages, correct
    return types, update MAINTAINERS"

    * tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits)
    toshiba_acpi: Do not register vendor backlight when acpi_video bl is available
    MAINTAINERS: Add me on list of Dell laptop drivers
    platform: x86: dell-laptop: Add support for keyboard backlight
    Documentation/ABI: Update sysfs-driver-toshiba_acpi entry
    toshiba_acpi: Fix pr_* messages from USB Sleep Functions
    toshiba_acpi: Update and fix USB Sleep and Charge modes
    wmi: Use bool function return values of true/false not 1/0
    toshiba_bluetooth: Fix enabling/disabling loop on recent devices
    toshiba_bluetooth: Clean up *_add function and disable BT device at removal
    toshiba_bluetooth: Add three new functions to the driver
    toshiba_acpi: Fix the enabling of the Special Functions
    toshiba_acpi: Use the Hotkey Event Type function for keymap choosing
    toshiba_acpi: Add Hotkey Event Type function and definitions
    x86/wmi: delete unused wmi_data_lock mutex causing gcc warning
    apple-gmux: lock iGP IO to protect from vgaarb changes
    MAINTAINERS: Add missing Toshiba devices and add myself as maintainer
    toshiba_acpi: Update events in toshiba_acpi_notify
    intel-oaktrail: Fix trivial typo in comment
    thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey()
    thinkpad_acpi: signedness bugs getting current_mode
    ...

    Linus Torvalds
     
  • Pull chrome platform updates from Olof Johansson:
    "Here's a set of updates to the Chrome OS platform drivers for this
    merge window.

    Main new things this cycle is:

    - Driver changes to expose the lightbar to users. With this, you can
    make your own blinkenlights on Chromebook Pixels.

    - Changes in the way that the atmel_mxt trackpads are probed. The
    laptop driver is trying to be smart and not instantiate the devices
    that don't answer to probe. For the trackpad that can come up in
    two modes (bootloader or regular), this gets complicated since the
    driver already knows how to handle the two modes including the
    actual addresses used. So now the laptop driver needs to know more
    too, instantiating the regular address even if the bootloader one
    is the probe that passed.

    - mfd driver improvements by Javier Martines Canillas, and a few
    bugfixes from him, kbuild and myself"

    * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
    platform/chrome: chromeos_laptop - instantiate Atmel at primary address
    platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST
    platform/chrome: cros_ec_lpc - Include linux/io.h header file
    platform/chrome: fix platform_no_drv_owner.cocci warnings
    platform/chrome: cros_ec_lightbar - fix duplicate const warning
    platform/chrome: cros_ec_dev - fix Unknown escape '%' warning
    platform/chrome: Expose Chrome OS Lightbar to users
    platform/chrome: Create sysfs attributes for the ChromeOS EC
    mfd: cros_ec: Instantiate ChromeOS EC character device
    platform/chrome: Add Chrome OS EC userspace device interface
    platform/chrome: Add cros_ec_lpc driver for x86 devices
    mfd: cros_ec: Add char dev and virtual dev pointers
    mfd: cros_ec: Use fixed size arrays to transfer data with the EC

    Linus Torvalds
     
  • Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     

25 Apr, 2015

7 commits

  • The new Atmel MXT driver expects i2c client's address contain the
    primary (main address) of the chip, and calculates the expected
    bootloader address form the primary address. Unfortunately chrome_laptop
    does probe the devices and if touchpad (or touchscreen, or both) comes
    up in bootloader mode the i2c device gets instantiated with the
    bootloader address which confuses the driver.

    To work around this issue let's probe the primary address first. If the
    device is not detected at the primary address we'll probe alternative
    addresses as "dummy" devices. If any of them are found, destroy the
    dummy client and instantiate client with proper name at primary address
    still.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Olof Johansson

    Dmitry Torokhov
     
  • commit a39f46df33c6 ("toshiba_acpi: Fix regression caused by backlight extra
    check code") causes the backlight to no longer work on the Toshiba Z30,
    reverting that commit fixes this but restores the original issue fixed
    by that commit.

    Looking at the toshiba_acpi backlight code for a fix for this I noticed that
    the toshiba code is the only code under platform/x86 which unconditionally
    registers a vendor acpi backlight interface, without checking for acpi_video
    backlight support first.

    This commit adds the necessary checks bringing toshiba_acpi in line with the
    other drivers, and fixing the Z30 regression without needing to revert the
    commit causing it.

    Chances are that there will be some Toshiba models which have a non working
    acpi-video implementation while the toshiba vendor backlight interface does
    work, this commit adds an empty dmi_id table where such systems can be added,
    this is identical to how other drivers handle such systems.

    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521
    Signed-off-by: Hans de Goede
    Reviewed-and-tested-by: Azael Avalos
    Signed-off-by: Darren Hart

    Hans de Goede
     
  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity in target land the last months.

    The highlights include:

    - Convert fabric drivers tree-wide to target_register_template() (hch
    + bart)

    - iser-target hardening fixes + v1.0 improvements (sagi)

    - Convert iscsi_thread_set usage to kthread.h + kill
    iscsi_target_tq.c (sagi + nab)

    - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
    sagi + nab)

    - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
    sagi + mkp)

    - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)

    - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)

    Thanks to everyone who contributed this round with new features,
    bug-reports, fixes, cleanups and improvements.

    Looking forward, it's currently shaping up to be a busy v4.2 as well"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
    target: Put TCMU under a new config option
    target: Version 2 of TCMU ABI
    target: fix tcm_mod_builder.py
    target/file: Fix UNMAP with DIF protection support
    target/file: Fix SG table for prot_buf initialization
    target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
    target: Make core_tmr_abort_task() skip TMFs
    target/sbc: Update sbc_dif_generate pr_debug output
    target/sbc: Make internal DIF emulation honor ->prot_checks
    target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
    target: Ensure sess_prot_type is saved across session restart
    target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
    target: Remove the unused flag SCF_ACK_KREF
    target: Fix two sparse warnings
    target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
    target: simplify the target template registration API
    target: simplify target_xcopy_init_pt_lun
    target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
    target/rd: reduce code duplication in rd_execute_rw()
    tcm_loop: fixup tpgt string to integer conversion
    ...

    Linus Torvalds
     
  • …erry.reding/linux-pwm

    Pull pwm changes from Thierry Reding:
    "Not much has been happening in PWM land lately, so this contains
    mostly minor fixes that didn't seem urgent enough for a late
    pull-request last cycle"

    * tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
    pwm: Remove __init initializer for pwm_add_table()
    pwm: samsung: Fix output race on disabling
    pwm: mxs: Fix period divider computation
    pwm: atmel-hlcdc: Add errata handling for sama5d4
    pwm: pca9685: Constify struct regmap_config
    pwm: imx-pwm: add explicit compatible strings and required clock properties

    Linus Torvalds
     
  • Pull dma-buf updates from Sumit Semwal:
    "Minor cleanup only; this could've gone in for the 4.0 merge window,
    but for a copy-paste stupidity from me.

    It has been in the for-next since then, and no issues reported.

    - cleanup of dma_buf_export()

    - correction of copy-paste stupidity while doing the cleanup"

    * tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf:
    staging: android: ion: fix wrong init of dma_buf_export_info
    dma-buf: cleanup dma_buf_export() to make it easily extensible

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:

    - new drivers for:
    - Ingenic JZ4780 controller
    - APM X-Gene controller
    - Freescale RaidEngine device
    - Renesas USB Controller

    - remove device_alloc_chan_resources dummy handlers

    - sh driver cleanups for peri peri and related emmc and asoc patches
    as well

    - fixes and enhancements spread over the drivers

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits)
    dmaengine: dw: don't prompt for DW_DMAC_CORE
    dmaengine: shdmac: avoid unused variable warnings
    dmaengine: fix platform_no_drv_owner.cocci warnings
    dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
    dmaengine: at_xdmac: unlock spin lock before return
    dmaengine: xgene: devm_ioremap() returns NULL on error
    dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
    dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
    dmaengine: sa11x0: report slave capabilities to upper layers
    dmaengine: vdma: Fix compilation warnings
    dmaengine: fsl_raid: statify fsl_re_chan_probe
    dmaengine: Driver support for FSL RaidEngine device.
    dmaengine: xgene_dma_init_ring_mngr() can be static
    Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding
    arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
    dmaengine: Add support for APM X-Gene SoC DMA engine driver
    dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
    dmaengine: renesas,usb-dmac: Add device tree bindings documentation
    dmaengine: edma: fixed wrongly initialized data parameter to the edma callback
    dmaengine: ste_dma40: fix implicit conversion
    ...

    Linus Torvalds
     
  • Pull md updates from Neil Brown:
    "More updates that usual this time. A few have performance impacts
    which hould mostly be positive, but RAID5 (in particular) can be very
    work-load ensitive... We'll have to wait and see.

    Highlights:

    - "experimental" code for managing md/raid1 across a cluster using
    DLM. Code is not ready for general use and triggers a WARNING if
    used. However it is looking good and mostly done and having in
    mainline will help co-ordinate development.

    - RAID5/6 can now batch multiple (4K wide) stripe_heads so as to
    handle a full (chunk wide) stripe as a single unit.

    - RAID6 can now perform read-modify-write cycles which should help
    performance on larger arrays: 6 or more devices.

    - RAID5/6 stripe cache now grows and shrinks dynamically. The value
    set is used as a minimum.

    - Resync is now allowed to go a little faster than the 'mininum' when
    there is competing IO. How much faster depends on the speed of the
    devices, so the effective minimum should scale with device speed to
    some extent"

    * tag 'md/4.1' of git://neil.brown.name/md: (58 commits)
    md/raid5: don't do chunk aligned read on degraded array.
    md/raid5: allow the stripe_cache to grow and shrink.
    md/raid5: change ->inactive_blocked to a bit-flag.
    md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe
    md/raid5: pass gfp_t arg to grow_one_stripe()
    md/raid5: introduce configuration option rmw_level
    md/raid5: activate raid6 rmw feature
    md/raid6 algorithms: xor_syndrome() for SSE2
    md/raid6 algorithms: xor_syndrome() for generic int
    md/raid6 algorithms: improve test program
    md/raid6 algorithms: delta syndrome functions
    raid5: handle expansion/resync case with stripe batching
    raid5: handle io error of batch list
    RAID5: batch adjacent full stripe write
    raid5: track overwrite disk count
    raid5: add a new flag to track if a stripe can be batched
    raid5: use flex_array for scribble data
    md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid
    md: allow resync to go faster when there is competing IO.
    md: remove 'go_faster' option from ->sync_request()
    ...

    Linus Torvalds
     

24 Apr, 2015

16 commits

  • Pull second batch of devicetree updates from Rob Herring:
    "As Grant mentioned in the first devicetree pull request, here is the
    2nd batch of DT changes for 4.1. The main remaining item here is the
    endianness bindings and related 8250 driver support.

    - DT endianness specification bindings

    - big-endian 8250 serial support

    - DT overlay unittest updates

    - various DT doc updates

    - compile fixes for OF_IRQ=n"

    * tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    frv: add io{read,write}{16,32}be functions
    mn10300: add io{read,write}{16,32}be functions
    Documentation: DT bindings: add doc for Altera's SoCFPGA platform
    of: base: improve of_get_next_child() kernel-doc
    Doc: dt: arch_timer: discourage clock-frequency use
    of: unittest: overlay: Keep track of created overlays
    of/fdt: fix allocation size for device node path
    serial: of_serial: Support big-endian register accesses
    serial: 8250: Add support for big-endian MMIO accesses
    of: Document {little,big,native}-endian bindings
    of/fdt: Add endianness helper function for early init code
    of: Add helper function to check MMIO register endianness
    of/fdt: Remove "reg" data prints from early_init_dt_scan_memory
    of: add vendor prefix for Artesyn
    of: Add dummy of_irq_to_resource_table() for IRQ_OF=n
    of: OF_IRQ should depend on IRQ_DOMAIN

    Linus Torvalds
     
  • Pull initial ACPI support for arm64 from Will Deacon:
    "This series introduces preliminary ACPI 5.1 support to the arm64
    kernel using the "hardware reduced" profile. We don't support any
    peripherals yet, so it's fairly limited in scope:

    - MEMORY init (UEFI)

    - ACPI discovery (RSDP via UEFI)

    - CPU init (FADT)

    - GIC init (MADT)

    - SMP boot (MADT + PSCI)

    - ACPI Kconfig options (dependent on EXPERT)

    ACPI for arm64 has been in development for a while now and hardware
    has been available that can boot with either FDT or ACPI tables. This
    has been made possible by both changes to the ACPI spec to cater for
    ARM-based machines (known as "hardware-reduced" in ACPI parlance) but
    also a Linaro-driven effort to get this supported on top of the Linux
    kernel. This pull request is the result of that work.

    These changes allow us to initialise the CPUs, interrupt controller,
    and timers via ACPI tables, with memory information and cmdline coming
    from EFI. We don't support a hybrid ACPI/FDT scheme. Of course,
    there is still plenty of work to do (a serial console would be nice!)
    but I expect that to happen on a per-driver basis after this core
    series has been merged.

    Anyway, the diff stat here is fairly horrible, but splitting this up
    and merging it via all the different subsystems would have been
    extremely painful. Instead, we've got all the relevant Acks in place
    and I've not seen anything other than trivial (Kconfig) conflicts in
    -next (for completeness, I've included my resolution below). Nearly
    half of the insertions fall under Documentation/.

    So, we'll see how this goes. Right now, it all depends on EXPERT and
    I fully expect people to use FDT by default for the immediate future"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits)
    ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function
    ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface()
    ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface
    ARM64: kernel: acpi: honour acpi=force command line parameter
    ARM64: kernel: acpi: refactor ACPI tables init and checks
    ARM64: kernel: psci: let ACPI probe PSCI version
    ARM64: kernel: psci: factor out probe function
    ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
    ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed
    ARM64 / ACPI: additions of ACPI documentation for arm64
    Documentation: ACPI for ARM64
    ARM64 / ACPI: Enable ARM64 in Kconfig
    XEN / ACPI: Make XEN ACPI depend on X86
    ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64
    clocksource / arch_timer: Parse GTDT to initialize arch timer
    irqchip: Add GICv2 specific ACPI boot support
    ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
    ACPI / processor: Make it possible to get CPU hardware ID via GICC
    ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID
    ARM64 / ACPI: Parse MADT for SMP initialization
    ...

    Linus Torvalds
     
  • If NO_DMA=y:

    drivers/built-in.o: In function `img_hash_write_via_dma_stop':
    img-hash.c:(.text+0xa2b822): undefined reference to `dma_unmap_sg'
    drivers/built-in.o: In function `img_hash_xmit_dma':
    img-hash.c:(.text+0xa2b8d8): undefined reference to `dma_map_sg'
    img-hash.c:(.text+0xa2b948): undefined reference to `dma_unmap_sg'

    Also move the "depends" section below the "tristate" line while we're at
    it.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Herbert Xu

    Geert Uytterhoeven
     
  • * acpi-dock:
    MAINTAINERS: remove maintainship entry of docking station driver

    * acpi-ec:
    ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()

    * acpi-scan:
    ACPI / scan: Add a scan handler for PRP0001
    ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()

    Rafael J. Wysocki
     
  • If the special PRP0001 device ID is present in the given device's list
    of ACPI/PNP IDs and the device has a valid "compatible" property in
    the _DSD, it should be enumerated using the default mechanism,
    unless some scan handlers match the IDs preceding PRP0001 in the
    device's list of ACPI/PNP IDs. In addition to that, no scan handlers
    matching the IDs following PRP0001 in that list should be attached
    to the device.

    To make that happen, define a scan handler that will match PRP0001
    and trigger the default enumeration for the matching devices if the
    "compatible" property is present for them.

    Since that requires the check for platform_id and device->handler
    to be removed from acpi_default_enumeration(), move the fallback
    invocation of acpi_default_enumeration() to acpi_bus_attach()
    (after it's checked if there's a matching ACPI driver for the
    device), which is a better place to call it, and do the platform_id
    check in there too (device->handler is guaranteed to be unset at
    the point where the function is looking for a matching ACPI driver).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Darren Hart

    Rafael J. Wysocki
     
  • acpi_scan_is_offline() may be called under the physical_node_lock
    lock of the given device object's parent, so prevent lockdep from
    complaining about that by annotating that instance with
    SINGLE_DEPTH_NESTING.

    Fixes: caa73ea158de (ACPI / hotplug / driver core: Handle containers in a special way)
    Reported-and-tested-by: Xie XiuQi
    Reviewed-by: Toshi Kani
    Cc: 3.14+ # 3.14+
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Due this typo we don't save/restore the GFX_MAX_REQ_COUNT register across
    suspend/resume, so fix this.

    This was introduced in

    commit ddeea5b0c36f3665446518c609be91f9336ef674
    Author: Imre Deak
    Date: Mon May 5 15:19:56 2014 +0300

    drm/i915: vlv: add runtime PM support

    I noticed this only by reading the code. To my knowledge it shouldn't
    cause any real problems at the moment, since the power well backing this
    register remains on across a runtime s/r. This may change once
    system-wide s0ix functionality is enabled in the kernel.

    v2:
    - resend after a missing git add -u :/

    Cc: stable@vger.kernel.org
    Signed-off-by: Imre Deak
    Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
    Signed-off-by: Rodrigo Vivi
    Reviewed-by: Mika Kuoppala
    Signed-off-by: Jani Nikula

    Imre Deak
     
  • WaIdleLiteRestore is an execlists-only workaround, and requires the driver
    to ensure that any context always has HEAD!=TAIL when attempting lite
    restore.

    Add two extra MI_NOOP instructions at the end of each request, but keep
    the requests tail pointing before the MI_NOOPs. We may not need to
    executed them, and this is why request->tail is sampled before adding
    these extra instructions.

    If we submit a context to the ELSP which has previously been submitted,
    move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL.

    v2: Move overallocation to gen8_emit_request, and added note about
    sampling request->tail in commit message (Chris).

    v3: Remove redundant request->tail assignment in __i915_add_request, in
    lrc mode this is already set in execlists_context_queue.
    Do not add wa implementation details inside gem (Chris).

    v4: Apply the wa whenever the req has been resubmitted and update
    comment (Chris).

    Cc: Chris Wilson
    Reviewed-by: Chris Wilson
    Signed-off-by: Thomas Daniel
    Signed-off-by: Michel Thierry
    Signed-off-by: Jani Nikula

    Michel Thierry
     
  • The hardware, according to the specs, is limited to 256 byte transfers,
    and current driver has no protections in case users attempt to do larger
    transfers. The code will just stomp over status register and mayhem
    ensues.

    Let's split larger transfers into digestable chunks. Doing this allows
    Atmel MXT driver on Pixel 1 function properly (it hasn't since commit
    9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts -
    implement T44 message handling" which tries to consume multiple
    touchscreen/touchpad reports in a single transaction).

    Cc: stable@vger.kernel.org
    Reviewed-by: Chris Wilson
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Jani Nikula

    Dmitry Torokhov
     
  • The driver uses pinctrl directly and thus should include the appropriate
    header. Sort the headers while we are here to have a better view what is
    included and what is not.

    Reported-by: Pascal Huerst
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Those symlinks are created for the mux_dev, so we need to remove it from
    there. Currently, it breaks for muxes where the mux_dev is not the device
    of the parent adapter like this:

    [ 78.234644] WARNING: CPU: 0 PID: 365 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x5c/0x78()
    [ 78.242438] sysfs: cannot create duplicate filename '/devices/platform/i2cbus@8/channel-0'

    Remove confusing comments while we are here.

    Signed-off-by: Wolfram Sang
    Signed-off-by: Wolfram Sang
    Fixes: c9449affad2ae0
    Cc: stable@kernel.org

    Wolfram Sang
     
  • And sort them to prevent this from happening again.

    Reported-by: Wei Yongjun
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Commit 523c5b89640e ("i2c: Remove support for legacy PM") removed the PM
    ops from the bus type, which causes the pm operations on the s3c2410
    adapter device to fail (-ENOSUPP in rpm_callback). The adapter device
    doesn't get bound to a driver and as such can't have its own pm_runtime
    callbacks. Previously this was fine as the bus callbacks would have been
    used, but now this can cause devices which use PM runtime and are
    attached over I2C to fail to resume.

    This commit fixes this issue by marking all adapter devices with
    pm_runtime_no_callbacks, since they can't have any.

    Signed-off-by: Charles Keepax
    Acked-by: Beata Michalska
    Signed-off-by: Wolfram Sang
    Fixes: 523c5b89640e
    Cc: stable@kernel.org

    Charles Keepax
     
  • My Pengutronix address is not valid anymore, redirect people to the Pengutronix
    kernel team.

    Reported-by: Harald Geyer
    Signed-off-by: Wolfram Sang
    Acked-by: Robert Schwebel

    Wolfram Sang
     
  • My Pengutronix address is not valid anymore, redirect people to the Pengutronix
    kernel team.

    Reported-by: Harald Geyer
    Signed-off-by: Wolfram Sang
    Acked-by: Robert Schwebel

    Wolfram Sang
     
  • master_xfer() method should return number of i2c messages transferred,
    but on Rockchip we were usually returning just 1, which caused trouble
    with users that actually check number of transferred messages vs.
    checking for negative error codes.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Dmitry Torokhov
     

23 Apr, 2015

7 commits

  • For platforms that don't support DT, some early MFD modules can register
    lookup tables. Remove the __init annotation so that this works. This is
    similar to gpio_add_lookup_table() which allows late additions.

    CC: Samuel Ortiz
    Cc: Linus Walleij
    Cc: Alexandre Courbot
    Cc: Thierry Reding
    Signed-off-by: Shobhit Kumar
    Signed-off-by: Thierry Reding

    Shobhit Kumar
     
  • Pull MTD updates from Brian Norris:
    "Common MTD:

    - Add Kconfig option for keeping both the 'master' and 'partition'
    MTDs registered as devices. This would really make a better
    default if we could do it over, as it allows a lot more flexibility
    in (1) determining the flash topology of the system from user-space
    and (2) adding temporary partitions at runtime (ioctl(BLKPG)).

    Unfortunately, this would possibly cause user-space breakage, as it
    will cause renumbering of the /dev/mtdX devices. We'll see if we
    can change this in the future, as there have already been a few
    people looking for this feature, and I know others have just been
    working around our current limitations instead of fixing them this
    way.

    - Along with the previous change, add some additional information to
    sysfs, so user-space can read the offset of each partition within
    its master device

    SPI NOR:

    - add new device tree compatible binding to represent the
    mostly-compatible class of SPI NOR flash which can be detected by
    their extended JEDEC ID bytes, cutting down the duplication of our
    ID tables

    - misc. new IDs

    Various other miscellaneous fixes and changes"

    * tag 'for-linus-20150422' of git://git.infradead.org/linux-mtd: (53 commits)
    mtd: spi-nor: Add support for Macronix mx25u6435f serial flash
    mtd: spi-nor: Add support for Winbond w25q64dw serial flash
    mtd: spi-nor: add support for the Winbond W25X05 flash
    mtd: spi-nor: support en25s64 device
    mtd: m25p80: bind to "nor-jedec" ID, for auto-detection
    Documentation: devicetree: m25p80: add "nor-jedec" binding
    mtd: Make MTD tests cancelable
    mtd: mtd_oobtest: Fix bitflip_limit usage in test case 3
    mtd: docg3: remove invalid __exit annotations
    mtd: fsl_ifc_nand: use msecs_to_jiffies for time conversion
    mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT
    mtd: atmel_nand: add a definition for the oob reserved bytes
    mtd: part: Remove partition overlap checks
    mtd: part: Add sysfs variable for offset of partition
    mtd: part: Create the master device node when partitioned
    mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c
    mtd: denali: Disable sub-page writes in Denali NAND driver
    mtd: pxa3xx_nand: cleanup wait_for_completion handling
    mtd: nand: gpmi: Check for scan_bbt() error
    mtd: nand: gpmi: fixup return type of wait_for_completion_timeout
    ...

    Linus Torvalds
     
  • Pull InfiniBand/RDMA updates from Roland Dreier:

    - IPoIB fixes from Doug Ledford and Erez Shitrit

    - iSER updates from Sagi Grimberg

    - mlx4 GUID handling changes from Yishai Hadas

    - other misc fixes

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (51 commits)
    mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures
    IB/iser: Rewrite bounce buffer code path
    IB/iser: Bump version to 1.6
    IB/iser: Remove code duplication for a single DMA entry
    IB/iser: Pass struct iser_mem_reg to iser_fast_reg_mr and iser_reg_sig_mr
    IB/iser: Modify struct iser_mem_reg members
    IB/iser: Make fastreg pool cache friendly
    IB/iser: Move PI context alloc/free to routines
    IB/iser: Move fastreg descriptor pool get/put to helper functions
    IB/iser: Merge build page-vec into register page-vec
    IB/iser: Get rid of struct iser_rdma_regd
    IB/iser: Remove redundant assignments in iser_reg_page_vec
    IB/iser: Move memory reg/dereg routines to iser_memory.c
    IB/iser: Don't pass ib_device to fall_to_bounce_buff routine
    IB/iser: Remove a redundant struct iser_data_buf
    IB/iser: Remove redundant cmd_data_len calculation
    IB/iser: Fix wrong calculation of protection buffer length
    IB/iser: Handle fastreg/local_inv completion errors
    IB/iser: Fix unload during ep_poll wrong dereference
    ib_srpt: convert printk's to pr_* functions
    ...

    Linus Torvalds
     
  • Pull Ceph updates from Sage Weil:
    "This time around we have a collection of CephFS fixes from Zheng
    around MDS failure handling and snapshots, support for a new CRUSH
    straw2 algorithm (to sync up with userspace) and several RBD cleanups
    and fixes from Ilya, an error path leak fix from Taesoo, and then an
    assorted collection of cleanups from others"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits)
    rbd: rbd_wq comment is obsolete
    libceph: announce support for straw2 buckets
    crush: straw2 bucket type with an efficient 64-bit crush_ln()
    crush: ensuring at most num-rep osds are selected
    crush: drop unnecessary include from mapper.c
    ceph: fix uninline data function
    ceph: rename snapshot support
    ceph: fix null pointer dereference in send_mds_reconnect()
    ceph: hold on to exclusive caps on complete directories
    libceph: simplify our debugfs attr macro
    ceph: show non-default options only
    libceph: expose client options through debugfs
    libceph, ceph: split ceph_show_options()
    rbd: mark block queue as non-rotational
    libceph: don't overwrite specific con error msgs
    ceph: cleanup unsafe requests when reconnecting is denied
    ceph: don't zero i_wrbuffer_ref when reconnecting is denied
    ceph: don't mark dirty caps when there is no auth cap
    ceph: keep i_snap_realm while there are writers
    libceph: osdmap.h: Add missing format newlines
    ...

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:
    "This contains following changes:

    - Octeon: convert to watchdog-API and apply some fixes
    - Cadence wdt: remove dependency on ARCH
    - add DT bindings for qcom + msm
    - bcm281xx: Remove use of seq_printf return value
    - stmp3xxx_rtc_wdt + pnx4008_wdt: fix broken email addresses"

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: stmp3xxx_rtc_wdt: fix broken email address
    watchdog: pnx4008_wdt: fix broken email address
    watchdog: octeon: use fixed length string for register names
    watchdog: octeon: fix some trivial coding style issues
    watchdog: octeon: convert to WATCHDOG_CORE API
    watchdog: cadence: Remove Kconfig dependency on ARCH
    ARM: msm: add watchdog entries to DT timer binding doc
    ARM: qcom: add description of KPSS WDT for IPQ8064
    watchdog: qcom: use timer devicetree binding
    watchdog: bcm281xx: Remove use of seq_printf return value

    Linus Torvalds
     
  • Pull virtio updates from Rusty Russell:
    "Some virtio internal cleanups, a new virtio device "virtio input", and
    a change to allow the legacy virtio balloon.

    Most excitingly, some lguest work! No seriously, I got some cleanup
    patches"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio: drop virtio_device_is_legacy_only
    virtio_pci: support non-legacy balloon devices
    virtio_mmio: support non-legacy balloon devices
    virtio_ccw: support non-legacy balloon devices
    virtio: balloon might not be a legacy device
    virtio_balloon: transitional interface
    virtio_ring: Update weak barriers to use dma_wmb/rmb
    virtio_pci_modern: switch to type-safe io accessors
    virtio_pci_modern: type-safe io accessors
    lguest: handle traps on the "interrupt suppressed" iret instruction.
    virtio: drop a useless config read
    virtio_config: reorder functions
    Add virtio-input driver.
    lguest: suppress interrupts for single insn, not range.
    lguest: simplify lguest_iret
    lguest: rename i386_head.S in the comments
    lguest: explicitly set miscdevice's private_data NULL
    lguest: fix pending interrupt test.

    Linus Torvalds
     
  • Brian Norris