1. 27 Jan, 2017 20 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 2fb78e89
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A set of fixes for this series. This contains:
      
         - Set of fixes for the nvme target code
      
         - A revert of patch from this merge window, causing a regression with
           WRITE_SAME on iSCSI targets at least.
      
         - A fix for a use-after-free in the new O_DIRECT bdev code.
      
         - Two fixes for the xen-blkfront driver"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        Revert "sd: remove __data_len hack for WRITE SAME"
        nvme-fc: use blk_rq_nr_phys_segments
        nvmet-rdma: Fix missing dma sync to nvme data structures
        nvmet: Call fatal_error from keep-alive timout expiration
        nvmet: cancel fatal error and flush async work before free controller
        nvmet: delete controllers deletion upon subsystem release
        nvmet_fc: correct logic in disconnect queue LS handling
        block: fix use after free in __blkdev_direct_IO
        xen-blkfront: correct maximum segment accounting
        xen-blkfront: feature flags handling adjustments
      2fb78e89
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · dd3b9f25
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
       "Second round of -rc fixes for 4.10.
      
        This -rc cycle has been slow for the rdma subsystem. I had already
        sent you the first batch before the Holiday break. After that, we kept
        only getting a few here or there. Up until this week, when I got a
        drop of 13 to one driver (qedr). So, here's the -rc patches I have. I
        currently have none held in reserve, so unless something new comes in,
        this is it until the next merge window opens.
      
        Summary:
      
         - series of iw_cxgb4 fixes to make it work with the drain cq API
      
         - one or two patches each to: srp, iser, cxgb3, vmw_pvrdma, umem,
           rxe, and ipoib
      
         - one big series (13 patches) for the new qedr driver"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (27 commits)
        RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled
        IB/rxe: Prevent from completer to operate on non valid QP
        IB/rxe: Fix rxe dev insertion to rxe_dev_list
        IB/umem: Release pid in error and ODP flow
        RDMA/qedr: Dispatch port active event from qedr_add
        RDMA/qedr: Fix and simplify memory leak in PD alloc
        RDMA/qedr: Fix RDMA CM loopback
        RDMA/qedr: Fix formatting
        RDMA/qedr: Mark three functions as static
        RDMA/qedr: Don't reset QP when queues aren't flushed
        RDMA/qedr: Don't spam dmesg if QP is in error state
        RDMA/qedr: Remove CQ spinlock from CM completion handlers
        RDMA/qedr: Return max inline data in QP query result
        RDMA/qedr: Return success when not changing QP state
        RDMA/qedr: Add uapi header qedr-abi.h
        RDMA/qedr: Fix MTU returned from QP query
        RDMA/core: Add the function ib_mtu_int_to_enum
        IB/vmw_pvrdma: Fix incorrect cleanup on pvrdma_pci_probe error path
        IB/vmw_pvrdma: Don't leak info from alloc_ucontext
        IB/cxgb3: fix misspelling in header guard
        ...
      dd3b9f25
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 69978aa0
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "Another two bug fixes:
      
         - ptrace partial write information leak
      
         - a guest page hinting regression introduced with v4.6"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mm: Fix cmma unused transfer from pgste into pte
        s390/ptrace: Preserve previous registers for short regset write
      69978aa0
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-4.10' of... · 2b432150
      Linus Torvalds authored
      Merge branch 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull swiotlb fix from Konrad Rzeszutek Wilk:
       "An ARM fix in the Xen SWIOTLB - mainly the translation of physical to
        bus addresses was done just a tad too late"
      
      * 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb-xen: update dev_addr after swapping pages
      2b432150
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.10-rc6' of git://github.com/awilliam/linux-vfio · 3aebae06
      Linus Torvalds authored
      Pull VFIO fix from Alex Williamson:
       "mdev IOMMU groups are not yet compatible with the powerpc SPAPR IOMMU
        backend, detect and fail group attach (Greg Kurz)"
      
      * tag 'vfio-v4.10-rc6' of git://github.com/awilliam/linux-vfio:
        vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null
      3aebae06
    • Jack Morgenstein's avatar
      RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled · b4cfe397
      Jack Morgenstein authored
      If IPV6 has not been enabled in the underlying kernel, we must avoid
      calling IPV6 procedures in rdma_cm.ko.
      
      This requires using "IS_ENABLED(CONFIG_IPV6)" in "if" statements
      surrounding any code which calls external IPV6 procedures.
      
      In the instance fixed here, procedure cma_bind_addr() called
      ipv6_addr_type() -- which resulted in calling external procedure
      __ipv6_addr_type().
      
      Fixes: 6c26a771 ("RDMA/cma: fix IPv6 address resolution")
      Cc: <stable@vger.kernel.org> # v4.2+
      Cc: Spencer Baugh <sbaugh@catern.com>
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarMoni Shoua <monis@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      b4cfe397
    • Jens Axboe's avatar
      Merge branch 'stable/for-jens-4.10' of... · c14024db
      Jens Axboe authored
      Merge branch 'stable/for-jens-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus
      
      Konrad writes:
      
      Please pull in your 'for-linus' branch two little fixes for Xen
      block front:
      
      One fix is for handling the XEN_PAGE_SIZE != PAGE_SIZE (4KB vs 64KB
      on ARM for example) mishandling while the other is fixing
      the accounting for the configuration changes.
      c14024db
    • Linus Torvalds's avatar
      Merge tag 'media/v4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 9d1d166f
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - fix a regression on tvp5150 causing failures at input selection and
         image glitches
      
       - CEC was moved out of staging for v4.10. Fix some bugs on it while not
         too late
      
       - fix a regression on pctv452e caused by VM stack changes
      
       - fix suspend issued with smiapp
      
       - fix a regression on cobalt driver
      
       - fix some warnings and Kconfig issues with some random configs.
      
      * tag 'media/v4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] s5k4ecgx: select CRC32 helper
        [media] dvb: avoid warning in dvb_net
        [media] v4l: tvp5150: Don't override output pinmuxing at stream on/off time
        [media] v4l: tvp5150: Fix comment regarding output pin muxing
        [media] v4l: tvp5150: Reset device at probe time, not in get/set format handlers
        [media] pctv452e: move buffer to heap, no mutex
        [media] media/cobalt: use pci_irq_allocate_vectors
        [media] cec: fix race between configuring and unconfiguring
        [media] cec: move cec_report_phys_addr into cec_config_thread_func
        [media] cec: replace cec_report_features by cec_fill_msg_report_features
        [media] cec: update log_addr[] before finishing configuration
        [media] cec: CEC_MSG_GIVE_FEATURES should abort for CEC version < 2
        [media] cec: when canceling a message, don't overwrite old status info
        [media] cec: fix report_current_latency
        [media] smiapp: Make suspend and resume functions __maybe_unused
        [media] smiapp: Implement power-on and power-off sequences without runtime PM
      9d1d166f
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b84f0279
      Linus Torvalds authored
      Pull MMC fix from Ulf Hansson:
       "MMC host: fix runtime PM resume path in dw_mmc"
      
      * tag 'mmc-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: dw_mmc: force setup bus if active slots exist
      b84f0279
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · ed4d50c4
      Linus Torvalds authored
      Pull thermal management fix from Zhang Rui:
       "A single revert from a recently introduced problem.
      
        Specifics:
      
        Commit 7611fb68 ("thermal: thermal_hwmon: Convert to
        hwmon_device_register_with_info()"), which was introduced in 4.10-rc5,
        uses new hwmon API. But this breaks some soc thermal driver because
        the new hwmon API has a strict rule for the hwmon device name. Revert
        the offending commit as a quick solution for 4.10"
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        Revert "thermal: thermal_hwmon: Convert to hwmon_device_register_with_info()"
      ed4d50c4
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.10-rc6-part-two' of git://people.freedesktop.org/~airlied/linux · fd694aaa
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is the main request for rc6, since really the one earlier was the
        rc5 one :-)
      
        The main thing are the nouveau specific race fixes for the connector
        locking bug we fixed in -next and reverted here as it has quite large
        prereqs. These two fixes should solve the problem at that level and we
        can fix it properly in 4.11
      
        Otherwise i915 has a bunch of changes, one ABI change for GVT related
        stuff, some VC4 leak fixes, one core fence fix and some AMD changes,
        oh and one ast hang avoidance fix.
      
        Hoping it calms down around now"
      
      * tag 'drm-fixes-for-v4.10-rc6-part-two' of git://people.freedesktop.org/~airlied/linux: (25 commits)
        drm/nouveau: Handle fbcon suspend/resume in seperate worker
        drm/nouveau: Don't enabling polling twice on runtime resume
        drm/ast: Fixed system hanged if disable P2A
        Revert "drm/radeon: always apply pci shutdown callbacks"
        drm/i915: reinstate call to trace_i915_vma_bind
        drm/i915: Move atomic state free from out of fence release
        drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic()
        drm/i915: Fix calculation of rotated x and y offsets for planar formats
        drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend()
        drm/i915: Don't leak edid in intel_crt_detect_ddc()
        drm/i915: Release temporary load-detect state upon switching
        drm/i915: prevent crash with .disable_display parameter
        drm/i915: Avoid drm_atomic_state_put(NULL) in intel_display_resume
        MAINTAINERS: update new mail list for intel gvt driver
        drm/i915/gvt: Fix kmem_cache_create() name
        drm/i915/gvt/kvmgt: mdev ABI is available_instances, not available_instance
        drm/amdgpu: fix unload driver issue for virtual display
        drm/amdgpu: check ring being ready before using
        drm/vc4: Return -EINVAL on the overflow checks failing.
        drm/vc4: Fix an integer overflow in temporary allocation layout.
        ...
      fd694aaa
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2017-01-26' of... · 736a1494
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2017-01-26' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
      
      More fixes than I'd like at this stage, but I think the holidays and
      conferences have delayed finding and fixing the stuff a bit. Almost all
      of them have Fixes: tags, so it's not just random fixes, we can point
      fingers at the commits that broke stuff.
      
      There's an ABI fix to GVT from Alex, before we go on an release a kernel
      with the wrong attribute name.
      
      * tag 'drm-intel-fixes-2017-01-26' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: reinstate call to trace_i915_vma_bind
        drm/i915: Move atomic state free from out of fence release
        drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic()
        drm/i915: Fix calculation of rotated x and y offsets for planar formats
        drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend()
        drm/i915: Don't leak edid in intel_crt_detect_ddc()
        drm/i915: Release temporary load-detect state upon switching
        drm/i915: prevent crash with .disable_display parameter
        drm/i915: Avoid drm_atomic_state_put(NULL) in intel_display_resume
        MAINTAINERS: update new mail list for intel gvt driver
        drm/i915/gvt: Fix kmem_cache_create() name
        drm/i915/gvt/kvmgt: mdev ABI is available_instances, not available_instance
        drm/i915/gvt: Fix relocation of shadow bb
        drm/i915/gvt: Enable the shadow batch buffer
      736a1494
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2287a240
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix two regressions introduced recently, one by reverting the
        problematic commit and one by fixing up locking in the ACPICA core.
      
        Specifics:
      
         - Revert a recent change that added an ACPI video blacklist entry for
           HP Pavilion dv6 as it turned to introduce backlight handling
           regressions on some systems (Hans de Goede).
      
         - Fix locking in the ACPICA core to avoid deadlocks related to table
           loading that were exposed by a recent change in that area (Lv
           Zheng)"
      
      * tag 'acpi-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6"
        ACPICA: Tables: Fix hidden logic related to acpi_tb_install_standard_table()
      2287a240
    • Linus Torvalds's avatar
      Merge tag 'pm-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7d3a0fa5
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix two regressions introduced recently, one by reverting the
        problematic commit and one by fixing up the behavior in an overlooked
        case.
      
        Specifics:
      
         - Revert the recent change that caused suspend-to-idle to be used as
           the default suspend method on systems where it is indicated to be
           efficient by the ACPI tables, as that turned out to be premature
           and introduced suspend regressions on some systems with missing
           power management support in device drivers (Rafael Wysocki).
      
         - Fix up the intel_pstate driver to take changes of the global limits
           via sysfs correctly when the performance policy is used which has
           been broken by a recent change in it (Srinivas Pandruvada)"
      
      * tag 'pm-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: intel_pstate: Fix sysfs limits enforcement for performance policy
        Revert "PM / sleep / ACPI: Use the ACPI_FADT_LOW_POWER_S0 flag"
      7d3a0fa5
    • Lyude Paul's avatar
      drm/nouveau: Handle fbcon suspend/resume in seperate worker · 15266ae3
      Lyude Paul authored
      Resuming from RPM can happen while already holding
      dev->mode_config.mutex. This means we can't actually handle fbcon in
      any RPM resume workers, since restoring fbcon requires grabbing
      dev->mode_config.mutex again. So move the fbcon suspend/resume code into
      it's own worker, and rely on that instead to avoid deadlocking.
      
      This fixes more deadlocks for runtime suspending the GPU on the ThinkPad
      W541. Reproduction recipe:
      
       - Get a machine with both optimus and a nvidia card with connectors
         attached to it
       - Wait for the nvidia GPU to suspend
       - Attempt to manually reprobe any of the connectors on the nvidia GPU
         using sysfs
       - *deadlock*
      
      [airlied: use READ_ONCE to address Hans's comment]
      Signed-off-by: default avatarLyude <lyude@redhat.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Kilian Singer <kilian.singer@quantumtechnology.info>
      Cc: Lukas Wunner <lukas@wunner.de>
      Cc: David Airlie <airlied@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      15266ae3
    • Lyude Paul's avatar
      drm/nouveau: Don't enabling polling twice on runtime resume · cae9ff03
      Lyude Paul authored
      As it turns out, on cards that actually have CRTCs on them we're already
      calling drm_kms_helper_poll_enable(drm_dev) from
      nouveau_display_resume() before we call it in
      nouveau_pmops_runtime_resume(). This leads us to accidentally trying to
      enable polling twice, which results in a potential deadlock between the
      RPM locks and drm_dev->mode_config.mutex if we end up trying to enable
      polling the second time while output_poll_execute is running and holding
      the mode_config lock. As such, make sure we only enable polling in
      nouveau_pmops_runtime_resume() if we need to.
      
      This fixes hangs observed on the ThinkPad W541
      Signed-off-by: default avatarLyude <lyude@redhat.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Kilian Singer <kilian.singer@quantumtechnology.info>
      Cc: Lukas Wunner <lukas@wunner.de>
      Cc: David Airlie <airlied@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      cae9ff03
    • Y.C. Chen's avatar
      drm/ast: Fixed system hanged if disable P2A · 6c971c09
      Y.C. Chen authored
      The original ast driver will access some BMC configuration through P2A bridge
      that can be disabled since AST2300 and after.
      It will cause system hanged if P2A bridge is disabled.
      Here is the update to fix it.
      Signed-off-by: default avatarY.C. Chen <yc_chen@aspeedtech.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      6c971c09
    • Dave Airlie's avatar
      Merge tag 'drm-vc4-fixes-2017-01-23' of https://github.com/anholt/linux into drm-fixes · e996598b
      Dave Airlie authored
      This pull request brings in a few little error checking fixes and one
      slow memory leak fix.
      
      * tag 'drm-vc4-fixes-2017-01-23' of https://github.com/anholt/linux:
        drm/vc4: Return -EINVAL on the overflow checks failing.
        drm/vc4: Fix an integer overflow in temporary allocation layout.
        drm/vc4: fix a bounds check
        drm/vc4: Fix memory leak of the CRTC state.
      e996598b
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-4.10' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 1fb2d354
      Dave Airlie authored
      Just a few small fixes.
      
      * 'drm-fixes-4.10' of git://people.freedesktop.org/~agd5f/linux:
        Revert "drm/radeon: always apply pci shutdown callbacks"
        drm/amdgpu: fix unload driver issue for virtual display
        drm/amdgpu: check ring being ready before using
      1fb2d354
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2017-01-23' of git://anongit.freedesktop.org/git/drm-misc into drm-fixes · 99f300cf
      Dave Airlie authored
      Single fence fix.
      * tag 'drm-misc-fixes-2017-01-23' of git://anongit.freedesktop.org/git/drm-misc:
        drm/fence: fix memory overwrite when setting out_fence fd
      99f300cf
  2. 26 Jan, 2017 13 commits
  3. 25 Jan, 2017 7 commits
    • Alex Deucher's avatar
      Revert "drm/radeon: always apply pci shutdown callbacks" · b9b487e4
      Alex Deucher authored
      This seems to break reboot on some evergreen systems.
      
      bugs:
      https://bugs.freedesktop.org/show_bug.cgi?id=99524
      https://bugzilla.kernel.org/show_bug.cgi?id=192271
      
      This reverts commit a481daa8.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      b9b487e4
    • Dave Airlie's avatar
      Revert "drm/probe-helpers: Drop locking from poll_enable" · 54a07c7b
      Dave Airlie authored
      This reverts commit 3846fd9b.
      
      There were some precursor commits missing for this around connector
      locking, we should probably merge Lyude's nouveau avoid the problem patch.
      54a07c7b
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 49e555a9
      Linus Torvalds authored
      Pull virtio/vhost fixes from Michael Tsirkin:
      
       - ARM DMA fixes
      
       - vhost vsock bugfix
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vring: Force use of DMA API for ARM-based systems with legacy devices
        virtio_mmio: Set DMA masks appropriately
        vhost/vsock: handle vhost_vq_init_access() error
      49e555a9
    • Hans de Goede's avatar
      Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6" · fd25ea29
      Hans de Goede authored
      Revert commit 6276e53f (ACPI / video: Add force_native quirk for
      HP Pavilion dv6).
      
      In the commit message for the quirk this revert removes I wrote:
      
      "Note that there are quite a few HP Pavilion dv6 variants, some
      woth ATI and some with NVIDIA hybrid gfx, both seem to need this
      quirk to have working backlight control. There are also some versions
      with only Intel integrated gfx, these may not need this quirk, but it
      should not hurt there."
      
      Unfortunately that seems wrong, I've already received 2 reports of
      this commit causing regressions on some dv6 variants (at least one
      of which actually has a nvidia GPU). So it seems that HP has made a
      mess here by using the same model-name both in marketing and in the
      DMI data for many different variants. Some of which need
      acpi_backlight=native for functional backlight control (as the
      quirk this commit reverts was doing), where as others are broken by
      it. So lets get back to the old sitation so as to avoid regressing
      on models which used to work without any kernel cmdline arguments
      before.
      
      Fixes: 6276e53f (ACPI / video: Add force_native quirk for HP Pavilion dv6)
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      fd25ea29
    • Jani Nikula's avatar
      Merge tag 'gvt-fixes-2017-01-25' of https://github.com/01org/gvt-linux into drm-intel-fixes · 45d9f439
      Jani Nikula authored
      gvt-fixes-2017-01-25
      
      - re-enable shadow batch buffer for security that was falsely turned off.
      - kvmgt/mdev typo fix for correct ABI
      - gvt mail list change
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      45d9f439
    • Daniele Ceraolo Spurio's avatar
      drm/i915: reinstate call to trace_i915_vma_bind · 2f5db26c
      Daniele Ceraolo Spurio authored
      The call went away in:
      
      commit 3b16525c
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Thu Aug 4 16:32:25 2016 +0100
      
          drm/i915: Split insertion/binding of an object into the VM
      
      It is useful to have this trace as it pairs nicely with the vma_unbind
      one to track vma activity.
      Added inside the i915_vma_bind function (was outside before) to keep a
      similar placement as trace_i915_vma_unbind.
      
      v2: print bind_flags instead of flags (Chris)
      
      Fixes: 3b16525c ("drm/i915: Split insertion/binding of an object into the VM")
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1484949083-11430-1-git-send-email-daniele.ceraolospurio@intel.comReviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      (cherry picked from commit 6146e6da)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      2f5db26c
    • Chris Wilson's avatar
      drm/i915: Move atomic state free from out of fence release · 6f0f02dc
      Chris Wilson authored
      Fences are required to support being released from under an atomic context.
      The drm_atomic_state struct may take a mutex when being released and so
      we cannot drop a reference to the drm_atomic_state from the fence release
      path directly, and so we need to defer that unreference to a worker.
      
      [  326.576697] WARNING: CPU: 2 PID: 366 at kernel/sched/core.c:7737 __might_sleep+0x5d/0x80
      [  326.576816] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffc0359549>] intel_breadcrumbs_signaler+0x59/0x270 [i915]
      [  326.576818] Modules linked in: rfcomm fuse snd_hda_codec_hdmi bnep snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device snd_timer input_leds led_class snd punit_atom_debug btusb btrtl btbcm btintel intel_rapl bluetooth i915 drm_kms_helper syscopyarea sysfillrect iwlwifi sysimgblt soundcore fb_sys_fops mei_txe cfg80211 drm pwm_lpss_platform pwm_lpss pinctrl_cherryview fjes acpi_pad parport_pc ppdev parport autofs4
      [  326.576899] CPU: 2 PID: 366 Comm: i915/signal:0 Tainted: G     U          4.10.0-rc3-patser+ #5030
      [  326.576902] Hardware name:                  /NUC5PPYB, BIOS PYBSWCEL.86A.0031.2015.0601.1712 06/01/2015
      [  326.576905] Call Trace:
      [  326.576920]  dump_stack+0x4d/0x6d
      [  326.576926]  __warn+0xc0/0xe0
      [  326.576931]  warn_slowpath_fmt+0x5a/0x80
      [  326.577004]  ? intel_breadcrumbs_signaler+0x59/0x270 [i915]
      [  326.577075]  ? intel_breadcrumbs_signaler+0x59/0x270 [i915]
      [  326.577079]  __might_sleep+0x5d/0x80
      [  326.577087]  mutex_lock+0x1b/0x40
      [  326.577133]  drm_property_free_blob+0x1e/0x80 [drm]
      [  326.577167]  ? drm_property_destroy+0xe0/0xe0 [drm]
      [  326.577200]  drm_mode_object_unreference+0x5c/0x70 [drm]
      [  326.577233]  drm_property_unreference_blob+0xe/0x10 [drm]
      [  326.577260]  __drm_atomic_helper_crtc_destroy_state+0x14/0x40 [drm_kms_helper]
      [  326.577278]  drm_atomic_helper_crtc_destroy_state+0x10/0x20 [drm_kms_helper]
      [  326.577352]  intel_crtc_destroy_state+0x9/0x10 [i915]
      [  326.577388]  drm_atomic_state_default_clear+0xea/0x1d0 [drm]
      [  326.577462]  intel_atomic_state_clear+0xd/0x20 [i915]
      [  326.577497]  drm_atomic_state_clear+0x1a/0x30 [drm]
      [  326.577532]  __drm_atomic_state_free+0x13/0x60 [drm]
      [  326.577607]  intel_atomic_commit_ready+0x6f/0x78 [i915]
      [  326.577670]  i915_sw_fence_release+0x3a/0x50 [i915]
      [  326.577733]  dma_i915_sw_fence_wake+0x39/0x80 [i915]
      [  326.577741]  dma_fence_signal+0xda/0x120
      [  326.577812]  ? intel_breadcrumbs_signaler+0x59/0x270 [i915]
      [  326.577884]  intel_breadcrumbs_signaler+0xb1/0x270 [i915]
      [  326.577889]  kthread+0x127/0x130
      [  326.577961]  ? intel_engine_remove_wait+0x1a0/0x1a0 [i915]
      [  326.577964]  ? kthread_stop+0x120/0x120
      [  326.577970]  ret_from_fork+0x22/0x30
      
      Fixes: c004a90b ("drm/i915: Restore nonblocking awaits for modesetting")
      Reported-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170123212939.30345-1-chris@chris-wilson.co.uk
      Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      (cherry picked from commit eb955eee)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      6f0f02dc