1. 24 Nov, 2017 6 commits
    • Srishti Sharma's avatar
      drm/arm: Replace instances of drm_dev_unref with drm_dev_put. · 0970d7a2
      Srishti Sharma authored
      Replace drm_dev_unref with drm_dev_put as it is more consistent
      with kernel coding style. Done using the following semantic
      patch by coccinelle.
      
      @r@
      expression e;
      @@
      
      -drm_dev_unref();
      +drm_dev_put();
      Signed-off-by: default avatarSrishti Sharma <srishtishar@gmail.com>
      [split patch into hdlcd and mali-dp versions]
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      0970d7a2
    • Cihangir Akturk's avatar
      drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers · c2cc215c
      Cihangir Akturk authored
      Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
      and drm_*_unreference() helpers.
      
      drm_*_reference() and drm_*_unreference() functions are just
      compatibility alias for drm_*_get() and drm_*_put() and should not be
      used by new code. So convert all users of compatibility functions to
      use the new APIs.
      
      Generated by: scripts/coccinelle/api/drm-get-put.cocci
      Signed-off-by: default avatarCihangir Akturk <cakturk@gmail.com>
      Acked-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      c2cc215c
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2017-11-20' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · c209101f
      Dave Airlie authored
      4.15 merge window fixes 1
      
      * tag 'drm-misc-fixes-2017-11-20' of git://anongit.freedesktop.org/drm/drm-misc:
        drm/edid: Don't send non-zero YQ in AVI infoframe for HDMI 1.x sinks
        drm/vc4: Account for interrupts in flight
      c209101f
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2017-11-23' of... · 0576178f
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2017-11-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      drm/i915 fixes for v4.15
      
      * tag 'drm-intel-next-fixes-2017-11-23' of git://anongit.freedesktop.org/drm/drm-intel:
        drm/i915: Fix init_clock_gating for resume
        drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM
        drm/i915: Clear breadcrumb node when cancelling signaling
        drm/i915/gvt: ensure -ve return value is handled correctly
        drm/i915: Re-register PMIC bus access notifier on runtime resume
        drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2
      0576178f
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2017-11-23' of... · 0b21871e
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2017-11-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      Fix crtc_id in page_flip event.
      
      * tag 'drm-misc-next-fixes-2017-11-23' of git://anongit.freedesktop.org/drm/drm-misc:
        drm/vblank: Pass crtc_id to page_flip_ioctl.
      0b21871e
    • Dave Airlie's avatar
      drm/ttm: don't attempt to use hugepages if dma32 requested (v2) · 33d22c2e
      Dave Airlie authored
      The commit below introduced thp support for ttm allocations, however it didn't
      take into account the case where dma32 was requested. Some drivers always request
      dma32, and the bochs driver is one of those.
      
      This fixes an oops:
      
      [   30.108507] ------------[ cut here ]------------
      [   30.108920] kernel BUG at ./include/linux/gfp.h:408!
      [   30.109356] invalid opcode: 0000 [#1] SMP
      [   30.109700] Modules linked in: fuse nf_conntrack_netbios_ns nf_conntrack_broadcast xt_CT ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack devlink ip_set nfnetlink ebtable_nat ebtable_broute bridge ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack libcrc32c iptable_mangle iptable_raw iptable_security ebtable_filter ebtables ip6table_filter ip6_tables snd_hda_codec_generic kvm_intel kvm snd_hda_intel snd_hda_codec irqbypass ppdev snd_hda_core snd_hwdep snd_seq snd_seq_device snd_pcm bochs_drm ttm joydev drm_kms_helper virtio_balloon snd_timer snd parport_pc drm soundcore parport i2c_piix4 nls_utf8 isofs squashfs zstd_decompress xxhash 8021q garp mrp stp llc virtio_net
      [   30.115605]  virtio_console virtio_scsi crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel serio_raw virtio_pci virtio_ring virtio ata_generic pata_acpi qemu_fw_cfg sunrpc scsi_transport_iscsi loop
      [   30.117425] CPU: 0 PID: 1347 Comm: gnome-shell Not tainted 4.15.0-0.rc0.git6.1.fc28.x86_64 #1
      [   30.118141] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014
      [   30.118866] task: ffff923a77e03380 task.stack: ffffa78182228000
      [   30.119366] RIP: 0010:__alloc_pages_nodemask+0x35e/0x430
      [   30.119810] RSP: 0000:ffffa7818222bba8 EFLAGS: 00010202
      [   30.120250] RAX: 0000000000000001 RBX: 00000000014382c6 RCX: 0000000000000006
      [   30.120840] RDX: 0000000000000000 RSI: 0000000000000009 RDI: 0000000000000000
      [   30.121443] RBP: ffff923a760d6000 R08: 0000000000000000 R09: 0000000000000006
      [   30.122039] R10: 0000000000000040 R11: 0000000000000300 R12: ffff923a729273c0
      [   30.122629] R13: 0000000000000000 R14: 0000000000000000 R15: ffff923a7483d400
      [   30.123223] FS:  00007fe48da7dac0(0000) GS:ffff923a7cc00000(0000) knlGS:0000000000000000
      [   30.123896] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   30.124373] CR2: 00007fe457b73000 CR3: 0000000078313000 CR4: 00000000000006f0
      [   30.124968] Call Trace:
      [   30.125186]  ttm_pool_populate+0x19b/0x400 [ttm]
      [   30.125578]  ttm_bo_vm_fault+0x325/0x570 [ttm]
      [   30.125964]  __do_fault+0x19/0x11e
      [   30.126255]  __handle_mm_fault+0xcd3/0x1260
      [   30.126609]  handle_mm_fault+0x14c/0x310
      [   30.126947]  __do_page_fault+0x28c/0x530
      [   30.127282]  do_page_fault+0x32/0x270
      [   30.127593]  async_page_fault+0x22/0x30
      [   30.127922] RIP: 0033:0x7fe48aae39a8
      [   30.128225] RSP: 002b:00007ffc21c4d928 EFLAGS: 00010206
      [   30.128664] RAX: 00007fe457b73000 RBX: 000055cd4c1041a0 RCX: 00007fe457b73040
      [   30.129259] RDX: 0000000000300000 RSI: 0000000000000000 RDI: 00007fe457b73000
      [   30.129855] RBP: 0000000000000300 R08: 000000000000000c R09: 0000000100000000
      [   30.130457] R10: 0000000000000001 R11: 0000000000000246 R12: 000055cd4c1041a0
      [   30.131054] R13: 000055cd4bdfe990 R14: 000055cd4c104110 R15: 0000000000000400
      [   30.131648] Code: 11 01 00 0f 84 a9 00 00 00 65 ff 0d 6d cc dd 44 e9 0f ff ff ff 40 80 cd 80 e9 99 fe ff ff 48 89 c7 e8 e7 f6 01 00 e9 b7 fe ff ff <0f> 0b 0f ff e9 40 fd ff ff 65 48 8b 04 25 80 d5 00 00 8b 40 4c
      [   30.133245] RIP: __alloc_pages_nodemask+0x35e/0x430 RSP: ffffa7818222bba8
      [   30.133836] ---[ end trace d4f1deb60784f40a ]---
      
      v2: handle free path as well.
      Reported-by: default avatarLaura Abbott <labbott@redhat.com>
      Reported-by: default avatarAdam Williamson <awilliam@redhat.com>
      Fixes: 0284f1ea (drm/ttm: add transparent huge page support for cached allocations v2)
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      33d22c2e
  2. 23 Nov, 2017 7 commits
  3. 22 Nov, 2017 2 commits
  4. 21 Nov, 2017 9 commits
    • Wang Hongcheng's avatar
      drm/amdgpu: fix rmmod KCQ disable failed error · 446947b4
      Wang Hongcheng authored
      If  gfx_v8_0_hw_fini is called after amdgpu_ucode_fini_bo, we will
      hit KCQ disabled failed. Let amdgpu_ucode_fini_bo run after
      gfx_v8_0_hw_fini.
      
      BUG: SWDEV-135547
      Reviewed-by: default avatarRex Zhu <Rex.Zhu@amd.com>
      Signed-off-by: default avatarWang Hongcheng <Annie.Wang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      446947b4
    • Xiangliang.Yu's avatar
      drm/amdgpu: fix kernel hang when starting VNC server · d5a480b4
      Xiangliang.Yu authored
      After starting VNC server or running CTS test, kernel will hang and
      can see below call trace:
      
      [961816] INFO: task khugepaged:42 blocked for more than 120 seconds.
      [968581]       Tainted: G           OE   4.13.0 #1
      [973495] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables
                this message.
      [980962] khugepaged      D    0    42      2 0x00000000
      [980967] Call Trace:
      [980977]  __schedule+0x28d/0x890
      [980982]  schedule+0x36/0x80
      [980986]  rwsem_down_read_failed+0x139/0x1c0
      [980991]  ? update_curr+0x100/0x1c0
      [981004]  call_rwsem_down_read_failed+0x18/0x30
      [981007]  down_read+0x20/0x40
      [981012]  khugepaged_scan_mm_slot+0x78/0x1ac0
      [981018]  ? __switch_to+0x23e/0x4a0
      [981022]  ? finish_task_switch+0x79/0x240
      [981026]  khugepaged+0x146/0x480
      [981031]  ? remove_wait_queue+0x60/0x60
      [981035]  kthread+0x109/0x140
      [981037]  ? khugepaged_scan_mm_slot+0x1ac0/0x1ac0
      [981039]  ? kthread_park+0x60/0x60
      [981044]  ret_from_fork+0x25/0x30
      
      After checking code and found 'commit b72cf4fc ("drm/amdgpu: move
      taking mmap_sem into get_user_pages v2")' forget to drop one case of
      up_read.
      Signed-off-by: default avatarXiangliang.Yu <Xiangliang.Yu@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      d5a480b4
    • Ville Syrjälä's avatar
      drm/i915: Fix init_clock_gating for resume · 3572f04c
      Ville Syrjälä authored
      Moving the init_clock_gating() call from intel_modeset_init_hw() to
      intel_modeset_gem_init() had an unintended effect of not applying
      some workarounds on resume. This, for example, cause some kind of
      corruption to appear at the top of my IVB Thinkpad X1 Carbon LVDS
      screen after hibernation. Fix the problem by explicitly calling
      init_clock_gating() from the resume path.
      
      I really hope this doesn't break something else again. At least
      the problems reported at https://bugs.freedesktop.org/show_bug.cgi?id=103549
      didn't make a comeback, even after a hibernate cycle.
      
      v2: Reorder the init_clock_gating vs. modeset_init_hw to match
          the display reset path (Rodrigo)
      
      Cc: stable@vger.kernel.org
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Fixes: 6ac43272 ("drm/i915: Move init_clock_gating() back to where it was")
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171116160215.25715-1-ville.syrjala@linux.intel.comSigned-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      (cherry picked from commit 675f7ff3)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      3572f04c
    • Chris Wilson's avatar
      drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM · 457db89b
      Chris Wilson authored
      Commit  21cc6431 ("drm/i915: Mark the userptr invalidate workqueue
      as WQ_MEM_RECLAIM") tried to fixup the check_flush_dependency warning
      for hitting i915_gem_userptr_mn_invalidate_range_start from within the
      shrinker, but I failed to notice userptr has 2 similarly named
      workqueues. I marked up i915-userptr-acquire as WQ_MEM_RECLAIM whereas
      we only wait upon i915-userptr-release from inside the reclaim paths.
      
      [62530.869510] workqueue: PF_MEMALLOC task 7983(gem_shrink) is flushing !WQ_MEM_RECLAIM i915-userptr-release:          (null)
      [62530.869515] ------------[ cut here ]------------
      [62530.869519] WARNING: CPU: 1 PID: 7983 at kernel/workqueue.c:2434 check_flush_dependency+0x7f/0x110
      [62530.869519] Modules linked in: pegasus mii ip6table_filter ip6_tables bnep iptable_filter snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic binfmt_misc nls_iso8859_1 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_intel snd_hda_codec kvm_intel snd_hda_core snd_hwdep kvm snd_pcm irqbypass snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul crc32_pclmul 8250_dw ghash_clmulni_intel snd_seq pcbc snd_seq_device snd_timer btusb aesni_intel btrtl btbcm aes_x86_64 iwlwifi btintel crypto_simd glue_helper cryptd bluetooth snd intel_cstate input_leds idma64 intel_rapl_perf ecdh_generic serio_raw soundcore cfg80211 wmi_bmof virt_dma intel_lpss_pci intel_lpss acpi_als kfifo_buf industrialio winbond_cir soc_button_array rc_core spidev tpm_crb intel_hid acpi_pad mac_hid sparse_keymap
      [62530.869546]  parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid i915 i2c_algo_bit prime_numbers drm_kms_helper syscopyarea e1000e sysfillrect sysimgblt fb_sys_fops ahci ptp pps_core libahci drm wmi video i2c_hid hid
      [62530.869557] CPU: 1 PID: 7983 Comm: gem_shrink Tainted: G     U  W    L  4.14.0-rc8-drm-tip-ww45-commit-1342299+ #1
      [62530.869558] Hardware name: Intel Corporation CoffeeLake Client Platform/CoffeeLake H DDR4 RVP, BIOS CNLSFWR1.R00.X098.A00.1707301945 07/30/2017
      [62530.869559] task: ffffa1049dbeec80 task.stack: ffffae7d05c44000
      [62530.869560] RIP: 0010:check_flush_dependency+0x7f/0x110
      [62530.869561] RSP: 0018:ffffae7d05c473a0 EFLAGS: 00010286
      [62530.869562] RAX: 000000000000006e RBX: ffffa1049540f400 RCX: ffffffffa3e55788
      [62530.869562] RDX: 0000000000000000 RSI: 0000000000000092 RDI: 0000000000000202
      [62530.869563] RBP: ffffae7d05c473c0 R08: 000000000000006e R09: 000000000038bb0e
      [62530.869563] R10: 0000000000000000 R11: 000000000000006e R12: ffffa1049dbeec80
      [62530.869564] R13: 0000000000000000 R14: 0000000000000000 R15: ffffae7d05c473e0
      [62530.869565] FS:  00007f621b129880(0000) GS:ffffa1050b240000(0000) knlGS:0000000000000000
      [62530.869566] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [62530.869566] CR2: 00007f6214400000 CR3: 0000000353a17003 CR4: 00000000003606e0
      [62530.869567] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [62530.869567] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [62530.869568] Call Trace:
      [62530.869570]  flush_workqueue+0x115/0x3d0
      [62530.869573]  ? wake_up_process+0x15/0x20
      [62530.869596]  i915_gem_userptr_mn_invalidate_range_start+0x12f/0x160 [i915]
      [62530.869614]  ? i915_gem_userptr_mn_invalidate_range_start+0x12f/0x160 [i915]
      [62530.869616]  __mmu_notifier_invalidate_range_start+0x55/0x80
      [62530.869618]  try_to_unmap_one+0x791/0x8b0
      [62530.869620]  ? call_rwsem_down_read_failed+0x18/0x30
      [62530.869622]  rmap_walk_anon+0x10b/0x260
      [62530.869624]  rmap_walk+0x48/0x60
      [62530.869625]  try_to_unmap+0x93/0xf0
      [62530.869626]  ? page_remove_rmap+0x2a0/0x2a0
      [62530.869627]  ? page_not_mapped+0x20/0x20
      [62530.869629]  ? page_get_anon_vma+0x90/0x90
      [62530.869630]  ? invalid_mkclean_vma+0x20/0x20
      [62530.869631]  migrate_pages+0x946/0xaa0
      [62530.869633]  ? __ClearPageMovable+0x10/0x10
      [62530.869635]  ? isolate_freepages_block+0x3c0/0x3c0
      [62530.869636]  compact_zone+0x22f/0x970
      [62530.869638]  compact_zone_order+0xa3/0xd0
      [62530.869640]  try_to_compact_pages+0x1a5/0x2a0
      [62530.869641]  ? try_to_compact_pages+0x1a5/0x2a0
      [62530.869643]  __alloc_pages_direct_compact+0x50/0x110
      [62530.869644]  __alloc_pages_slowpath+0x4da/0xf30
      [62530.869646]  __alloc_pages_nodemask+0x262/0x280
      [62530.869648]  alloc_pages_vma+0x165/0x1e0
      [62530.869649]  shmem_alloc_hugepage+0xd0/0x130
      [62530.869651]  ? __radix_tree_insert+0x45/0x230
      [62530.869652]  ? __vm_enough_memory+0x29/0x130
      [62530.869654]  shmem_alloc_and_acct_page+0x10d/0x1e0
      [62530.869655]  shmem_getpage_gfp+0x426/0xc00
      [62530.869657]  shmem_fault+0xa0/0x1e0
      [62530.869659]  ? file_update_time+0x60/0x110
      [62530.869660]  __do_fault+0x1e/0xc0
      [62530.869661]  __handle_mm_fault+0xa35/0x1170
      [62530.869662]  handle_mm_fault+0xcc/0x1c0
      [62530.869664]  __do_page_fault+0x262/0x4f0
      [62530.869666]  do_page_fault+0x2e/0xe0
      [62530.869667]  page_fault+0x22/0x30
      [62530.869668] RIP: 0033:0x404335
      [62530.869669] RSP: 002b:00007fff7829e420 EFLAGS: 00010216
      [62530.869670] RAX: 00007f6210400000 RBX: 0000000000000004 RCX: 0000000000b80000
      [62530.869670] RDX: 0000000000002e01 RSI: 0000000000008000 RDI: 0000000000000004
      [62530.869671] RBP: 0000000000000019 R08: 0000000000000002 R09: 0000000000000000
      [62530.869671] R10: 0000000000000559 R11: 0000000000000246 R12: 0000000008000000
      [62530.869672] R13: 00000000004042f0 R14: 0000000000000004 R15: 000000000000007e
      [62530.869673] Code: 00 8b b0 18 05 00 00 48 8d 8b b0 00 00 00 48 8d 90 c0 06 00 00 4d 89 f0 48 c7 c7 40 c0 c8 a3 c6 05 68 c5 e8 00 01 e8 c2 68 04 00 <0f> ff 4d 85 ed 74 18 49 8b 45 20 48 8b 70 08 8b 86 00 01 00 00
      [62530.869691] ---[ end trace 01e01ad0ff5781f8 ]---
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103739
      Fixes: 21cc6431 ("drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171114173520.8829-1-chris@chris-wilson.co.ukReviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      (cherry picked from commit 41729bf2)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      457db89b
    • Chris Wilson's avatar
      drm/i915: Clear breadcrumb node when cancelling signaling · 6e068270
      Chris Wilson authored
      When we call intel_engine_cancel_signaling() to stop reporting when
      a request is completed via an asynchronous signal, we remove that request
      from the breadcrumb wait queue. However, we may be concurrently
      processing that request in the signaler itself, the actual operations on
      the request's node itself are serialised but we do not actually clear the
      waiter after removing it from the tree allowing both parties to attempt
      to do so and corrupting the rbtree. (Previously removing from the
      breadcrumb wait queue could only be done on behalf of i915_wait_request,
      so this race could not happen).
      Reported-by: default avatar"He, Bo" <bo.he@intel.com>
      Fixes: 9eb143bb ("drm/i915: Allow a request to be cancelled")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: "He, Bo" <bo.he@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171115121458.24655-1-chris@chris-wilson.co.ukReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      (cherry picked from commit c534612e)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      6e068270
    • Colin Ian King's avatar
      drm/i915/gvt: ensure -ve return value is handled correctly · dcd1d830
      Colin Ian King authored
      An earlier fix changed the return type from find_bb_size however the
      integer return is being assigned to a unsigned int so the -ve error
      check will never be detected. Make bb_size an int to fix this.
      
      Detected by CoverityScan CID#1456886 ("Unsigned compared against 0")
      
      Fixes: 1e3197d6 ("drm/i915/gvt: Refine error handling for perform_bb_shadow")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      (cherry picked from commit 24f8a29a)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      dcd1d830
    • Hans de Goede's avatar
      drm/i915: Re-register PMIC bus access notifier on runtime resume · 294cf1af
      Hans de Goede authored
      intel_uncore_suspend() unregisters the uncore code's PMIC bus access
      notifier and gets called on both normal and runtime suspend.
      
      intel_uncore_resume_early() re-registers the notifier, but only on
      normal resume. Add a new intel_uncore_runtime_resume() function which
      only re-registers the notifier and call that on runtime resume.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarImre Deak <imre.deak@intel.com>
      Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171114135518.15981-2-hdegoede@redhat.com
      (cherry picked from commit bedf4d79)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      294cf1af
    • Hans de Goede's avatar
      drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2 · f4359ced
      Hans de Goede authored
      assert_rpm_wakelock_held is triggered from i915_pmic_bus_access_notifier
      even though it gets unregistered on (runtime) suspend, this is caused
      by a race happening under the following circumstances:
      
      intel_runtime_pm_put does:
      
         atomic_dec(&dev_priv->pm.wakeref_count);
      
         pm_runtime_mark_last_busy(kdev);
         pm_runtime_put_autosuspend(kdev);
      
      And pm_runtime_put_autosuspend calls intel_runtime_suspend from
      a workqueue, so there is ample of time between the atomic_dec() and
      intel_runtime_suspend() unregistering the notifier. If the notifier
      gets called in this windowd assert_rpm_wakelock_held falsely triggers
      (at this point we're not runtime-suspended yet).
      
      This commit adds disable_rpm_wakeref_asserts and
      enable_rpm_wakeref_asserts calls around the
      intel_uncore_forcewake_get(FORCEWAKE_ALL) call in
      i915_pmic_bus_access_notifier fixing the false-positive WARN_ON.
      
      Changes in v2:
      -Reword comment explaining why disabling the wakeref asserts is
       ok and necessary
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarFKr <bugs-freedesktop@ubermail.me>
      Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171110150301.9601-2-hdegoede@redhat.com
      (cherry picked from commit ce30560c)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      f4359ced
    • Alex Deucher's avatar
      drm/amdgpu: don't skip attributes when powerplay is enabled · 135f9711
      Alex Deucher authored
      The function checks non-powerplay structures so regressed when
      the pp_enabled check was removed.  This should ideally be
      implemented similarly for powerplay.
      
      Fixes: 6d07fe7b ("drm/amdgpu: delete pp_enable in adev")
      Tested-by: default avatarDieter Nützel <Dieter@nuetzel-hh.de>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      135f9711
  5. 20 Nov, 2017 3 commits
  6. 19 Nov, 2017 2 commits
  7. 17 Nov, 2017 2 commits
  8. 16 Nov, 2017 3 commits
  9. 15 Nov, 2017 2 commits
  10. 14 Nov, 2017 4 commits