1. 12 May, 2017 4 commits
    • Ville Syrjälä's avatar
      drm/i915: Make vblank evade warnings optional · 7b8cd336
      Ville Syrjälä authored
      Add a new Kconfig option to enable/disable the extra warnings
      from the vblank evade code. For now we'll keep the warning
      about an actually missed vblank always enabled as that can have
      an actual user visible impact. But if we miss the deadline
      othrwise there's no real need to bother the user with that.
      We'll want these warnings enabled during development however
      so that we can catch regressions.
      
      Based on the reports it looks like this is still very easy
      to hit on SKL, so we have more work ahead of us to optimize
      the crtiical section further.
      
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reported-by: default avatarJens Axboe <axboe@kernel.dk>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Fixes: e1edbd44 ("drm/i915: Complain if we take too long under vblank evasion.")
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7b8cd336
    • Dave Airlie's avatar
      Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next · bb57d041
      Dave Airlie authored
      Quite a few patches, but not much code changed:
      - Fixes regression from atomic when only the source rect of a plane
      changes (ie. xrandr --right-of)
      - Fixes another issue where atomic changed behaviour underneath us,
      potentially causing laggy cursor position updates
      - Fixes for a bunch of races in thermal code, which lead to random
      lockups for a lot of users
      
      * 'linux-4.12' of git://github.com/skeggsb/linux:
        drm/nouveau/therm: remove ineffective workarounds for alarm bugs
        drm/nouveau/tmr: avoid processing completed alarms when adding a new one
        drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm
        drm/nouveau/tmr: handle races with hw when updating the next alarm time
        drm/nouveau/tmr: ack interrupt before processing alarms
        drm/nouveau/core: fix static checker warning
        drm/nouveau/fb/ram/gf100-: remove 0x10f200 read
        drm/nouveau/kms/nv50: skip core channel cursor update on position-only changes
        drm/nouveau/kms/nv50: fix source-rect-only plane updates
        drm/nouveau/kms/nv50: remove pointless argument to window atomic_check_acquire()
      bb57d041
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next · 7ec27233
      Dave Airlie authored
      Fixes for 4.12.  This is a bit bigger than usual since it's 3 weeks
      worth of fixes and most of these changes are for vega10 which is
      new for 4.12 and still in a fair amount of flux.  It looks like
      you missed my last pull request, so those patches are included here
      as well.  Highlights:
      - Lots of vega10 fixes
      - Fix interruptable wait mixup
      - Fan control method fixes
      - Misc display fixes for radeon and amdgpu
      - Misc bug fixes
      
      * 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux: (132 commits)
        drm/amd/powerplay: refine pwm1_enable callback functions for CI.
        drm/amd/powerplay: refine pwm1_enable callback functions for vi.
        drm/amd/powerplay: refine pwm1_enable callback functions for Vega10.
        drm/amdgpu: refine amdgpu pwm1_enable sysfs interface.
        drm/amdgpu: add amd fan ctrl mode enums.
        drm/amd/powerplay: add more smu message on Vega10.
        drm/amdgpu: fix dependency issue
        drm/amd: fix init order of sched job
        drm/amdgpu: add some additional vega10 pci ids
        drm/amdgpu/soc15: use atomfirmware for setting bios scratch for reset
        drm/amdgpu/atomfirmware: add function to update engine hang status
        drm/radeon: only warn once in radeon_ttm_bo_destroy if va list not empty
        drm/amdgpu: fix mutex list null pointer reference
        drm/amd/powerplay: fix bug sclk/mclk level can't be set on vega10.
        drm/amd/powerplay: Setup sw CTF to allow graceful exit when temperature exceeds maximum.
        drm/amd/powerplay: delete dead code in powerplay.
        drm/amdgpu: Use less generic enum definitions
        drm/amdgpu/gfx9: derive tile pipes from golden settings
        drm/amdgpu/gfx: drop max_gs_waves_per_vgt
        drm/amd/powerplay: disable engine spread spectrum feature on Vega10.
        ...
      7ec27233
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2017-05-05' of... · bab1e2fe
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2017-05-05' of git://anongit.freedesktop.org/git/drm-misc into drm-next
      
      Core Changes:
      - Add quirk for LGD 764 panel to default 10bpc (Mario)
      
      Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
      
      * tag 'drm-misc-next-fixes-2017-05-05' of git://anongit.freedesktop.org/git/drm-misc:
        drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2
      bab1e2fe
  2. 11 May, 2017 27 commits
    • Ben Skeggs's avatar
      drm/nouveau/therm: remove ineffective workarounds for alarm bugs · e4311ee5
      Ben Skeggs authored
      These were ineffective due to touching the list without the alarm lock,
      but should no longer be required.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      e4311ee5
    • Ben Skeggs's avatar
      drm/nouveau/tmr: avoid processing completed alarms when adding a new one · 330bdf62
      Ben Skeggs authored
      The idea here was to avoid having to "manually" program the HW if there's
      a new earliest alarm.  This was lazy and bad, as it leads to loads of fun
      races between inter-related callers (ie. therm).
      
      Turns out, it's not so difficult after all.  Go figure ;)
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      330bdf62
    • Ben Skeggs's avatar
      drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm · 9fc64667
      Ben Skeggs authored
      At least therm/fantog "attempts" to work around this issue, which could
      lead to corruption of the pending alarm list.
      
      Fix it properly by not updating the timestamp without the lock held, or
      trying to add an already pending alarm to the pending alarm list....
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      9fc64667
    • Ben Skeggs's avatar
      drm/nouveau/tmr: handle races with hw when updating the next alarm time · 1b0f8438
      Ben Skeggs authored
      If the time to the next alarm is short enough, we could race with HW and
      end up with an ~4 second delay until it triggers.
      
      Fix this by checking again after we update HW.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      1b0f8438
    • Ben Skeggs's avatar
      drm/nouveau/tmr: ack interrupt before processing alarms · 3733bd8b
      Ben Skeggs authored
      Fixes a race where we can miss an alarm that triggers while we're already
      processing previous alarms.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      3733bd8b
    • Ben Skeggs's avatar
      drm/nouveau/core: fix static checker warning · 89ed10a5
      Ben Skeggs authored
      object->engine cannot be NULL, it's either valid, or an error pointer.
      
      This particular condition shouldn't actually be possible, but just in
      case, we'll keep it.
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      89ed10a5
    • Ben Skeggs's avatar
      drm/nouveau/fb/ram/gf100-: remove 0x10f200 read · 80a92865
      Ben Skeggs authored
      This reg has moved on Pascal, and causes a bus fault.
      
      We never use the value anyway, so just remove the read.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      80a92865
    • Ben Skeggs's avatar
      drm/nouveau/kms/nv50: skip core channel cursor update on position-only changes · e6db9579
      Ben Skeggs authored
      The DRM core used to only call prepare_fb/cleanup_fb() when a plane's
      framebuffer changed, which achieved the desired effect.
      
      It's apparently now up to the driver to decide on its own.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org [4.11+]
      e6db9579
    • Ben Skeggs's avatar
      drm/nouveau/kms/nv50: fix source-rect-only plane updates · 36601c2b
      Ben Skeggs authored
      This "optimisation" (which was originally meant to skip updating cursor
      settings in the core channel on position-only updates) turned out to be
      pointless in the final design of the code before it was merged.
      
      Remove it completely, as it breaks other cases.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org [4.10+]
      36601c2b
    • Ben Skeggs's avatar
    • Linus Torvalds's avatar
      Merge tag 'docs-4.12-2' of git://git.lwn.net/linux · 09d79d10
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "Connect the newly RST-formatted documentation to the rest; this had to
        wait until the input pull was done. There's also a few small fixes
        that wandered in"
      
      * tag 'docs-4.12-2' of git://git.lwn.net/linux:
        doc: replace FTP URL to kernel.org with HTTPS one
        docs: update references to the device io book
        Documentation: earlycon: fix Marvell Armada 3700 UART name
        docs-rst: add input docs at main index and use kernel-figure
      09d79d10
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · e47b40a2
      Linus Torvalds authored
      Pull more arm64 updates from Catalin Marinas:
      
       - Silence module allocation failures when CONFIG_ARM*_MODULE_PLTS is
         enabled. This requires a check for __GFP_NOWARN in alloc_vmap_area()
      
       - Improve/sanitise user tagged pointers handling in the kernel
      
       - Inline asm fixes/cleanups
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Silence first allocation with CONFIG_ARM64_MODULE_PLTS=y
        ARM: Silence first allocation with CONFIG_ARM_MODULE_PLTS=y
        mm: Silence vmap() allocation failures based on caller gfp_flags
        arm64: uaccess: suppress spurious clang warning
        arm64: atomic_lse: match asm register sizes
        arm64: armv8_deprecated: ensure extension of addr
        arm64: uaccess: ensure extension of access_ok() addr
        arm64: ensure extension of smp_store_release value
        arm64: xchg: hazard against entire exchange variable
        arm64: documentation: document tagged pointer stack constraints
        arm64: entry: improve data abort handling of tagged pointers
        arm64: hw_breakpoint: fix watchpoint matching for tagged pointers
        arm64: traps: fix userspace cache maintenance emulation on a tagged pointer
      e47b40a2
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.12' of git://github.com/bzolnier/linux · 4892c6f7
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
       "There is nothing really major here, just a couple of small bugfixes,
        improvements and cleanups.
      
         - fix handling of probing errors in omapfb (Arvind Yadav)
      
         - remove incorrect __exit markups in few drivers (Dmitry Torokhov)
      
         - fix boot time logo support for drivers using deferred probe
           (Takeshi Kihara)
      
         - fix DMA allocation size for ARM CLCD driver (Liam Beguin)
      
         - add support for specifying size via xenstore in xen-frontfb
           (Juergen Gross)
      
         - support for AUS mode in imxfb driver (Martin Kaiser)
      
         - fix buffer on stack usage in udlfb driver (Maksim Salau)
      
         - probe failure path fixup in sm501fb driver (Alexey Khoroshilov)
      
         - fix config dependency loop for stifb driver (Arnd Bergmann)
      
         - misc cleanups (Joe Perches, Christophe Leroy, Karim Eshapa, Pushkar
           Jambhlekar)"
      
      * tag 'fbdev-v4.12' of git://github.com/bzolnier/linux:
        fbdev: sti: don't select CONFIG_VT
        drivers/video/fbdev/omap/lcd_mipid.c: Use time comparison kernel macros
        sm501fb: don't return zero on failure path in sm501fb_start()
        video: fbdev: udlfb: Fix buffer on stack
        video: console: Remove reference to CONFIG_8xx
        dt-bindings: display: imx: entry for AUS mode
        video: fbdev: imxfb: support AUS mode
        drivers/video/fbdev: Fixing coding guidelines in acornfb.c
        xen, fbfront: add support for specifying size via xenstore
        video: ARM CLCD: fix dma allocation size
        drivers/video: Convert remaining uses of pr_warning to pr_warn
        video/logo: tidyup fb_logo_late_init initcall timing
        video: fbdev: i810: remove incorrect __exit markups
        video: fbdev: pmag-aa-fb: remove incorrect __exit markups
        video: fbdev: pmagb-b-fb: remove incorrect __exit markups
        video: fbdev: pmag-ba-fb: remove incorrect __exit markups
        omapfb: dss: Handle return errors in dss_init_ports()
      4892c6f7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 55a1ab56
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A smaller collection of fixes that should go into -rc1. This contains:
      
         - A fix from Christoph, fixing a regression with the WRITE_SAME and
           partial completions. Caused a BUG() on ppc.
      
         - Fixup for __blk_mq_stop_hw_queues(), it should be static. From
           Colin.
      
         - Removal of dmesg error messages on elevator switching, when invoked
           from sysfs. From me.
      
         - Fix for blk-stat, using this_cpu_ptr() in a section only protected
           by rcu_read_lock(). This breaks when PREEMPT_RCU is enabled. From
           me.
      
         - Two fixes for BFQ from Paolo, one fixing a crash and one updating
           the documentation.
      
         - An error handling lightnvm memory leak, from Rakesh.
      
         - The previous blk-mq hot unplug lock reversal depends on the CPU
           hotplug rework that isn't in mainline yet. This caused a lockdep
           splat when people unplugged CPUs with blk-mq devices. From Wanpeng.
      
         - A regression fix for DIF/DIX on blk-mq. From Wen"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: handle partial completions for special payload requests
        blk-mq: NVMe 512B/4K+T10 DIF/DIX format returns I/O error on dd with split op
        blk-stat: don't use this_cpu_ptr() in a preemptable section
        elevator: remove redundant warnings on IO scheduler switch
        block, bfq: stress that low_latency must be off to get max throughput
        block, bfq: use pointer entity->sched_data only if set
        nvme: lightnvm: fix memory leak
        blk-mq: make __blk_mq_stop_hw_queues static
        lightnvm: remove unused rq parameter of nvme_nvm_rqtocmd() to kill warning
        block/mq: fix potential deadlock during cpu hotplug
      55a1ab56
    • Michael Heimpold's avatar
      doc: replace FTP URL to kernel.org with HTTPS one · 25a0da73
      Michael Heimpold authored
      FTP services were shutdown some weeks ago, so the FTP URL
      does not work anymore. Fix this by replacing it with
      corresponding HTTPS URL.
      Signed-off-by: default avatarMichael Heimpold <michael.heimpold@i2se.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      25a0da73
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20170510' of git://git.infradead.org/linux-mtd · 9786e34e
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "NAND, from Boris:
         - some minor fixes/improvements on existing drivers (fsmc, gpio, ifc,
           davinci, brcmnand, omap)
         - a huge cleanup/rework of the denali driver accompanied with core
           fixes/improvements to simplify the driver code
         - a complete rewrite of the atmel driver to support new DT bindings
           make future evolution easier
         - the addition of per-vendor detection/initialization steps to avoid
           extending the nand_ids table with more extended-id entries
      
        SPI NOR, from Cyrille:
         - fixes in the hisi, intel and Mediatek SPI controller drivers
         - fixes to some SPI flash memories not supporting the Chip Erase
           command.
         - add support to some new memory parts (Winbond, Macronix, Micron,
           ESMT).
         - add new driver for the STM32 QSPI controller
      
        And a few fixes for Gemini and Versatile platforms on physmap-of"
      
      * tag 'for-linus-20170510' of git://git.infradead.org/linux-mtd: (100 commits)
        MAINTAINERS: Update NAND subsystem git repositories
        mtd: nand: gpio: update binding
        mtd: nand: add ooblayout for old hamming layout
        mtd: oxnas_nand: Allocating more than necessary in probe()
        dt-bindings: mtd: Document the STM32 QSPI bindings
        mtd: mtk-nor: set controller's address width according to nor flash
        mtd: spi-nor: add driver for STM32 quad spi flash controller
        mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program
        mtd: nand: davinci: add comment on NAND subpage write status on keystone
        mtd: nand: omap2: Fix partition creation via cmdline mtdparts
        mtd: nand: NULL terminate a of_device_id table
        mtd: nand: Fix a couple error codes
        mtd: nand: allow drivers to request minimum alignment for passed buffer
        mtd: nand: allocate aligned buffers if NAND_OWN_BUFFERS is unset
        mtd: nand: denali: allow to override revision number
        mtd: nand: denali_dt: use pdev instead of ofdev for platform_device
        mtd: nand: denali_dt: remove dma-mask DT property
        mtd: nand: denali: support 64bit capable DMA engine
        mtd: nand: denali_dt: enable HW_ECC_FIXUP for Altera SOCFPGA variant
        mtd: nand: denali: support HW_ECC_FIXUP capability
        ...
      9786e34e
    • Christoph Hellwig's avatar
      block: handle partial completions for special payload requests · ed6565e7
      Christoph Hellwig authored
      SCSI devices can return short writes on Write Same just like for normal
      writes, so we need to handle this case for our special payload requests
      as well.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: default avatarAbdul Haleem <abdhalee@linux.vnet.ibm.com>
      Tested-by: default avatarAbdul Haleem <abdhalee@linux.vnet.ibm.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      ed6565e7
    • Florian Fainelli's avatar
      arm64: Silence first allocation with CONFIG_ARM64_MODULE_PLTS=y · 0c2cf6d9
      Florian Fainelli authored
      When CONFIG_ARM64_MODULE_PLTS is enabled, the first allocation using the
      module space fails, because the module is too big, and then the module
      allocation is attempted from vmalloc space. Silence the first allocation
      failure in that case by setting __GFP_NOWARN.
      Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      0c2cf6d9
    • Florian Fainelli's avatar
      ARM: Silence first allocation with CONFIG_ARM_MODULE_PLTS=y · 75d24d96
      Florian Fainelli authored
      When CONFIG_ARM_MODULE_PLTS is enabled, the first allocation using the
      module space fails, because the module is too big, and then the module
      allocation is attempted from vmalloc space. Silence the first allocation
      failure in that case by setting __GFP_NOWARN.
      Acked-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      75d24d96
    • Florian Fainelli's avatar
      mm: Silence vmap() allocation failures based on caller gfp_flags · 03497d76
      Florian Fainelli authored
      If the caller has set __GFP_NOWARN don't print the following message:
      vmap allocation for size 15736832 failed: use vmalloc=<size> to increase
      size.
      
      This can happen with the ARM/Linux or ARM64/Linux module loader built
      with CONFIG_ARM{,64}_MODULE_PLTS=y which does a first attempt at loading
      a large module from module space, then falls back to vmalloc space.
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      03497d76
    • Linus Torvalds's avatar
      Merge tag 'kbuild-uapi-v4.12' of... · 791a9a66
      Linus Torvalds authored
      Merge tag 'kbuild-uapi-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild UAPI updates from Masahiro Yamada:
       "Improvement of headers_install by Nicolas Dichtel.
      
        It has been long since the introduction of uapi directories, but the
        de-coupling of exported headers has not been completed. Headers listed
        in header-y are exported whether they exist in uapi directories or
        not. His work fixes this inconsistency.
      
        All (and only) headers under uapi directories are now exported. The
        asm-generic wrappers are still exceptions, but this is a big step
        forward"
      
      * tag 'kbuild-uapi-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        arch/include: remove empty Kbuild files
        uapi: export all arch specifics directories
        uapi: export all headers under uapi directories
        smc_diag.h: fix include from userland
        btrfs_tree.h: fix include from userland
        uapi: includes linux/types.h before exporting files
        Makefile.headersinst: remove destination-y option
        Makefile.headersinst: cleanup input files
        x86: stop exporting msr-index.h to userland
        nios2: put setup.h in uapi
        h8300: put bitsperlong.h in uapi
      791a9a66
    • Linus Torvalds's avatar
      Merge tag 'kbuild-misc-v4.12' of... · 23ea3f62
      Linus Torvalds authored
      Merge tag 'kbuild-misc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull misc Kbuild updates from Masahiro Yamada:
      
       - clean up builddeb script
      
       - use full path for KBUILD_IMAGE to fix rpm-pkg build
      
       - fix objdiff tool to ignore debug info
      
      * tag 'kbuild-misc-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        builddeb: fix typo
        builddeb: Update a few outdated and hardcoded strings
        deb-pkg: Remove the KBUILD_IMAGE workaround
        unicore32: Use full path in KBUILD_IMAGE definition
        sh: Use full path in KBUILD_IMAGE definition
        arc: Use full path in KBUILD_IMAGE definition
        arm: Use full path in KBUILD_IMAGE definition
        arm64: Use full path in KBUILD_IMAGE definition
        scripts: objdiff: Ignore debug info when comparing
      23ea3f62
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 593043d3
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - improve Clang support
      
       - clean up various Makefiles
      
       - improve build log visibility (objtool, alpha, ia64)
      
       - improve compiler flag evaluation for better build performance
      
       - fix GCC version-dependent warning
      
       - fix genksyms
      
      * tag 'kbuild-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (23 commits)
        kbuild: dtbinst: remove unnecessary __dtbs_install_prep target
        ia64: beatify build log for gate.so and gate-syms.o
        alpha: make short build log available for division routines
        alpha: merge build rules of division routines
        alpha: add $(src)/ rather than $(obj)/ to make source file path
        Makefile: evaluate LDFLAGS_BUILD_ID only once
        objtool: make it visible in make V=1 output
        kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS
        kbuild: Add support to generate LLVM assembly files
        kbuild: Add better clang cross build support
        kbuild: drop -Wno-unknown-warning-option from clang options
        kbuild: fix asm-offset generation to work with clang
        kbuild: consolidate redundant sed script ASM offset generation
        frv: Use OFFSET macro in DEF_*REG()
        kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7
        kbuild: Consolidate header generation from ASM offset information
        kbuild: use -Oz instead of -Os when using clang
        kbuild, LLVMLinux: Add -Werror to cc-option to support clang
        Kbuild: make designated_init attribute fatal
        kbuild: drop unneeded patterns '.*.orig' and '.*.rej' from distclean
        ...
      593043d3
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 556d994a
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "RTC subsystem update:
         - Add OF device ID table for i2c drivers
      
        New RTC driver:
         - Motorola CPCAP PMIC RTC
      
        RTC driver updates:
         - cmos: fix IRQ selection
         - ds1307: Add ST m41t0 support
         - ds1374: fix watchdog configuration
         - sh: Add rza series support"
      
      * tag 'rtc-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (33 commits)
        rtc: gemini: add return value validation
        rtc: snvs: fix an incorrect check of return value
        rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
        rtc: ds1374: wdt: Fix issue with timeout scaling from secs to wdt ticks
        rtc: sh: mark PM functions as unused
        rtc: hid-sensor-time: remove some dead code
        rtc: m41t80: Add proper compatible for rv4162
        rtc: ds1307: Add m41t0 to OF device ID table
        rtc: ds1307: support m41t0 variant
        rtc: cpcap: fix improper use of IRQ_NONE for request_threaded_irq
        rtc: cmos: Do not assume irq 8 for rtc when there are no legacy irqs
        x86: i8259: export legacy_pic symbol
        dt-bindings: rtc: document the rtc-sh bindings
        rtc: sh: add support for rza series
        rtc: cpcap: kfreeing devm allocated memory
        rtc: wm8350: Remove unused to_wm8350_from_rtc_dev
        rtc: cpcap: new rtc driver
        dt-bindings: Add vendor prefix for Motorola
        rtc: omap: mark PM methods as __maybe_unused
        rtc: omap: remove incorrect __exit markups
        ...
      556d994a
    • Linus Torvalds's avatar
      Merge tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 291b38a7
      Linus Torvalds authored
      Pull hw lockdown support from David Howells:
       "Annotation of module parameters that configure hardware resources
        including ioports, iomem addresses, irq lines and dma channels.
      
        This allows a future patch to prohibit the use of such module
        parameters to prevent that hardware from being abused to gain access
        to the running kernel image as part of locking the kernel down under
        UEFI secure boot conditions.
      
        Annotations are made by changing:
      
              module_param(n, t, p)
              module_param_named(n, v, t, p)
              module_param_array(n, t, m, p)
      
        to:
      
              module_param_hw(n, t, hwtype, p)
              module_param_hw_named(n, v, t, hwtype, p)
              module_param_hw_array(n, t, hwtype, m, p)
      
        where the module parameter refers to a hardware setting
      
        hwtype specifies the type of the resource being configured. This can
        be one of:
      
              ioport          Module parameter configures an I/O port
              iomem           Module parameter configures an I/O mem address
              ioport_or_iomem Module parameter could be either (runtime set)
              irq             Module parameter configures an I/O port
              dma             Module parameter configures a DMA channel
              dma_addr        Module parameter configures a DMA buffer address
              other           Module parameter configures some other value
      
        Note that the hwtype is compile checked, but not currently stored (the
        lockdown code probably won't require it). It is, however, there for
        future use.
      
        A bonus is that the hwtype can also be used for grepping.
      
        The intention is for the kernel to ignore or reject attempts to set
        annotated module parameters if lockdown is enabled. This applies to
        options passed on the boot command line, passed to insmod/modprobe or
        direct twiddling in /sys/module/ parameter files.
      
        The module initialisation then needs to handle the parameter not being
        set, by (1) giving an error, (2) probing for a value or (3) using a
        reasonable default.
      
        What I can't do is just reject a module out of hand because it may
        take a hardware setting in the module parameters. Some important
        modules, some ipmi stuff for instance, both probe for hardware and
        allow hardware to be manually specified; if the driver is aborts with
        any error, you don't get any ipmi hardware.
      
        Further, trying to do this entirely in the module initialisation code
        doesn't protect against sysfs twiddling.
      
        [!] Note that in and of itself, this series of patches should have no
            effect on the the size of the kernel or code execution - that is
            left to a patch in the next series to effect. It does mark
            annotated kernel parameters with a KERNEL_PARAM_FL_HWPARAM flag in
            an already existing field"
      
      * tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (38 commits)
        Annotate hardware config module parameters in sound/pci/
        Annotate hardware config module parameters in sound/oss/
        Annotate hardware config module parameters in sound/isa/
        Annotate hardware config module parameters in sound/drivers/
        Annotate hardware config module parameters in fs/pstore/
        Annotate hardware config module parameters in drivers/watchdog/
        Annotate hardware config module parameters in drivers/video/
        Annotate hardware config module parameters in drivers/tty/
        Annotate hardware config module parameters in drivers/staging/vme/
        Annotate hardware config module parameters in drivers/staging/speakup/
        Annotate hardware config module parameters in drivers/staging/media/
        Annotate hardware config module parameters in drivers/scsi/
        Annotate hardware config module parameters in drivers/pcmcia/
        Annotate hardware config module parameters in drivers/pci/hotplug/
        Annotate hardware config module parameters in drivers/parport/
        Annotate hardware config module parameters in drivers/net/wireless/
        Annotate hardware config module parameters in drivers/net/wan/
        Annotate hardware config module parameters in drivers/net/irda/
        Annotate hardware config module parameters in drivers/net/hamradio/
        Annotate hardware config module parameters in drivers/net/ethernet/
        ...
      291b38a7
    • Boris Brezillon's avatar
      MAINTAINERS: Update NAND subsystem git repositories · a9402889
      Boris Brezillon authored
      NAND branches are now hosted on MTD repos, nand/next is on l2-mtd and
      nand/fixes will be on linux-mtd.
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      [Brian: added branch names]
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      a9402889
    • Christophe Leroy's avatar
      mtd: nand: gpio: update binding · 7db789d0
      Christophe Leroy authored
      This patch updates the binding documentation in accordance with
      commit 44dd1828 ("mtd: nand: gpio: make nCE GPIO optional")
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
      Reported-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      7db789d0
  3. 10 May, 2017 9 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · b5a53b61
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "Sort of on the quieter side this time, which is probably due more to
        me not catching up as quickly on patch review than anything else.
        Overall it seems normal though, a few small changes to the core,
        mostly small non-critical fixes here and there as well as driver
        updates for new and existing hardware support.
      
        The biggest things are the TI clk driver rework to lay the groundwork
        for clkctrl support in the next merge window and the AmLogic
        audio/graphics clk support.
      
        Core:
         - clk_possible_parents debugfs file so we know which parents a clk
           could possibly have
         - Fix to make clk rate change notifiers stop on the first failure
           instead of continuing
      
        New Drivers:
         - Mediatek MT6797 SoCs
         - hi655x PMIC clks
         - AmLogic Meson SoC i2s and spdif audio clks and Mali graphics clks
         - Allwinner H5 SoCs and PRCM hardware
      
        Updates:
         - Nvidia Tegra T210 cleanups and non-critical fixes
         - TI OMAP cleanups in preparation for clkctrl support
         - trivial fixes like kcalloc(), devm_* conversions, and seq_puts()
         - ZTE zx296718 SoC VGA clks
         - Rockchip clk-ids, fixups, and rename of rk1108 to rv1108
         - IDT VersaClock 5P49V5935 support
         - Renesas R-Car H3 and M3-W IMR clks and ES2.0 rev of R-Car H3
           support"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (151 commits)
        clk: x86: pmc-atom: Checking for IS_ERR() instead of NULL
        clk: ti: divider: try to fix ti_clk_register_divider
        clk: mvebu: Use kcalloc() in two functions
        clk: mvebu: Use kcalloc() in of_cpu_clk_setup()
        clk: nomadik: Delete error messages for a failed memory allocation in two functions
        clk: nomadik: Use seq_puts() in nomadik_src_clk_show()
        clk: Improve a size determination in two functions
        clk: Replace four seq_printf() calls by seq_putc()
        clk: si5351: Delete an error message for a failed memory allocation in si5351_i2c_probe()
        clk: si5351: Use devm_kcalloc() in si5351_i2c_probe()
        clk: at91: Use kcalloc() in of_at91_clk_pll_get_characteristics()
        reset: mediatek: Add MT2701 ethsys reset controller include file
        clk: mediatek: add mt2701 ethernet reset
        clk: hi6220: Add the hi655x's pmic clock
        clk: ti: fix building without legacy omap3
        clk: ti: fix linker error with !SOC_OMAP4
        clk: hi3620: Fix a typo in one variable name
        clk: hi3620: Delete error messages for a failed memory allocation in two functions
        clk: hi3620: Use kcalloc() in hi3620_mmc_clk_init()
        clk: hisilicon: Delete error messages for failed memory allocations in hisi_clk_init()
        ...
      b5a53b61
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.12' of git://linux-nfs.org/~bfields/linux · c70422f7
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Another RDMA update from Chuck Lever, and a bunch of miscellaneous
        bugfixes"
      
      * tag 'nfsd-4.12' of git://linux-nfs.org/~bfields/linux: (26 commits)
        nfsd: Fix up the "supattr_exclcreat" attributes
        nfsd: encoders mustn't use unitialized values in error cases
        nfsd: fix undefined behavior in nfsd4_layout_verify
        lockd: fix lockd shutdown race
        NFSv4: Fix callback server shutdown
        SUNRPC: Refactor svc_set_num_threads()
        NFSv4.x/callback: Create the callback service through svc_create_pooled
        lockd: remove redundant check on block
        svcrdma: Clean out old XDR encoders
        svcrdma: Remove the req_map cache
        svcrdma: Remove unused RDMA Write completion handler
        svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt
        svcrdma: Clean up RPC-over-RDMA backchannel reply processing
        svcrdma: Report Write/Reply chunk overruns
        svcrdma: Clean up RDMA_ERROR path
        svcrdma: Use rdma_rw API in RPC reply path
        svcrdma: Introduce local rdma_rw API helpers
        svcrdma: Clean up svc_rdma_get_inv_rkey()
        svcrdma: Add helper to save pages under I/O
        svcrdma: Eliminate RPCRDMA_SQ_DEPTH_MULT
        ...
      c70422f7
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 73ccb023
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable bugfixes:
         - Fix use after free in write error path
         - Use GFP_NOIO for two allocations in writeback
         - Fix a hang in OPEN related to server reboot
         - Check the result of nfs4_pnfs_ds_connect
         - Fix an rcu lock leak
      
        Features:
         - Removal of the unmaintained and unused OSD pNFS layout
         - Cleanup and removal of lots of unnecessary dprintk()s
         - Cleanup and removal of some memory failure paths now that GFP_NOFS
           is guaranteed to never fail.
         - Remove the v3-only data server limitation on pNFS/flexfiles
      
        Bugfixes:
         - RPC/RDMA connection handling bugfixes
         - Copy offload: fixes to ensure the copied data is COMMITed to disk.
         - Readdir: switch back to using the ->iterate VFS interface
         - File locking fixes from Ben Coddington
         - Various use-after-free and deadlock issues in pNFS
         - Write path bugfixes"
      
      * tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (89 commits)
        pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled
        NFSv4.1: Work around a Linux server bug...
        NFS append COMMIT after synchronous COPY
        NFSv4: Fix exclusive create attributes encoding
        NFSv4: Fix an rcu lock leak
        nfs: use kmap/kunmap directly
        NFS: always treat the invocation of nfs_getattr as cache hit when noac is on
        Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew
        NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION
        pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits
        pNFS: Fix a typo in pnfs_generic_alloc_ds_commits
        pNFS: Fix a deadlock when coalescing writes and returning the layout
        pNFS: Don't clear the layout return info if there are segments to return
        pNFS: Ensure we commit the layout if it has been invalidated
        pNFS: Don't send COMMITs to the DSes if the server invalidated our layout
        pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path
        pNFS: Ensure we check layout validity before marking it for return
        NFS4.1 handle interrupted slot reuse from ERR_DELAY
        NFSv4: check return value of xdr_inline_decode
        nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout()
        ...
      73ccb023
    • Linus Torvalds's avatar
      Merge tag 'metag-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · f94c128e
      Linus Torvalds authored
      Pull metag updates from James Hogan:
       "These patches primarily make some usercopy improvements (following on
        from the recent usercopy fixes):
      
         - reformat and simplify rapf copy loops
      
         - add 64-bit get_user support
      
        And fix a couple more uaccess issues, partily pointed out by Al:
      
         - fix access_ok() serious shortcomings
      
         - fix strncpy_from_user() address validation
      
        Also included is a trivial removal of a redundant increment"
      
      * tag 'metag-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        metag/mm: Drop pointless increment
        metag/uaccess: Check access_ok in strncpy_from_user
        metag/uaccess: Fix access_ok()
        metag/usercopy: Add 64-bit get_user support
        metag/usercopy: Simplify rapf loop fixup corner case
        metag/usercopy: Reformat rapf loop inline asm
      f94c128e
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · c44b5943
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "Fixes, cleanups, performance
      
        A bunch of changes to virtio, most affecting virtio net. Also ptr_ring
        batched zeroing - first of batching enhancements that seems ready."
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        s390/virtio: change maintainership
        tools/virtio: fix spelling mistake: "wakeus" -> "wakeups"
        virtio_net: tidy a couple debug statements
        ptr_ring: support testing different batching sizes
        ringtest: support test specific parameters
        ptr_ring: batch ring zeroing
        virtio: virtio_driver doc
        virtio_net: don't reset twice on XDP on/off
        virtio_net: fix support for small rings
        virtio_net: reduce alignment for buffers
        virtio_net: rework mergeable buffer handling
        virtio_net: allow specifying context for rx
        virtio: allow extra context per descriptor
        tools/virtio: fix build breakage
        virtio: add context flag to find vqs
        virtio: wrap find_vqs
        ringtest: fix an assert statement
      c44b5943
    • Trond Myklebust's avatar
      nfsd: Fix up the "supattr_exclcreat" attributes · b26b78cb
      Trond Myklebust authored
      If an NFSv4 client asks us for the supattr_exclcreat, then we must
      not return attributes that are unsupported by this minor version.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      Fixes: 75976de6 ("NFSD: Return word2 bitmask if setting security..,")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      b26b78cb
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5ccd4140
      Linus Torvalds authored
      Pull more KVM updates from Paolo Bonzini:
       "ARM:
         - bugfixes
         - moved shared 32-bit/64-bit files to virt/kvm/arm
         - support for saving/restoring virtual ITS state to userspace
      
        PPC:
         - XIVE (eXternal Interrupt Virtualization Engine) support
      
        x86:
         - nVMX improvements, including emulated page modification logging
           (PML) which brings nice performance improvements on some workloads"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (45 commits)
        KVM: arm/arm64: vgic-its: Cleanup after failed ITT restore
        KVM: arm/arm64: Don't call map_resources when restoring ITS tables
        KVM: arm/arm64: Register ITS iodev when setting base address
        KVM: arm/arm64: Get rid of its->initialized field
        KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs
        KVM: arm/arm64: Slightly rework kvm_vgic_addr
        KVM: arm/arm64: Make vgic_v3_check_base more broadly usable
        KVM: arm/arm64: Refactor vgic_register_redist_iodevs
        KVM: Add kvm_vcpu_get_idx to get vcpu index in kvm->vcpus
        nVMX: Advertise PML to L1 hypervisor
        nVMX: Implement emulated Page Modification Logging
        kvm: x86: Add a hook for arch specific dirty logging emulation
        kvm: nVMX: Validate CR3 target count on nested VM-entry
        KVM: set no_llseek in stat_fops_per_vm
        KVM: arm/arm64: vgic: Rename kvm_vgic_vcpu_init to kvm_vgic_vcpu_enable
        KVM: arm/arm64: Clarification and relaxation to ITS save/restore ABI
        KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES
        KVM: arm64: vgic-its: Fix pending table sync
        KVM: arm64: vgic-its: ITT save and restore
        KVM: arm64: vgic-its: Device table save/restore
        ...
      5ccd4140
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 29250d30
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "This is a trivial patch that changes a check for a cpumask from a NULL
        pointer to using cpumask_available(), which will do the check. This is
        because cpumasks when not allocated are always set, and clang
        complains about it"
      
      * tag 'trace-v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Use cpumask_available() to check if cpumask variable may be used
      29250d30
    • J. Bruce Fields's avatar
      nfsd: encoders mustn't use unitialized values in error cases · f961e3f2
      J. Bruce Fields authored
      In error cases, lgp->lg_layout_type may be out of bounds; so we
      shouldn't be using it until after the check of nfserr.
      
      This was seen to crash nfsd threads when the server receives a LAYOUTGET
      request with a large layout type.
      
      GETDEVICEINFO has the same problem.
      Reported-by: default avatarAri Kauppi <Ari.Kauppi@synopsys.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      f961e3f2