1. 27 Mar, 2017 3 commits
    • Chris Wilson's avatar
      drm/i915: Check we have an wake device before flushing GTT writes · e2a2aa36
      Chris Wilson authored
      We can assume that if the device is asleep then all pending GTT writes
      will have been posted, and so we can defer the flush from
      i915_gem_object_flush_gtt_write_domain()
      
      [ 1957.462568] WARNING: CPU: 0 PID: 6132 at drivers/gpu/drm/i915/intel_drv.h:1742 fwtable_read32+0x123/0x150 [i915]
      [ 1957.462582] RPM wakelock ref not held during HW access
      [ 1957.462583] Modules linked in: i915 intel_gtt drm_kms_helper prime_numbers
      [ 1957.462607] CPU: 0 PID: 6132 Comm: gem_concurrent_ Tainted: G     U          4.11.0-rc1+ #464
      [ 1957.462619] Hardware name:                  /        , BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
      [ 1957.462630] Call Trace:
      [ 1957.462646]  dump_stack+0x4d/0x6f
      [ 1957.462657]  __warn+0xc1/0xe0
      [ 1957.462667]  warn_slowpath_fmt+0x4a/0x50
      [ 1957.462709]  fwtable_read32+0x123/0x150 [i915]
      [ 1957.462750]  i915_gem_object_flush_gtt_write_domain+0x43/0x70 [i915]
      [ 1957.462791]  i915_gem_object_set_to_cpu_domain+0x46/0xa0 [i915]
      [ 1957.462831]  i915_gem_set_domain_ioctl+0x15d/0x220 [i915]
      [ 1957.462843]  drm_ioctl+0x1d7/0x440
      [ 1957.462885]  ? i915_gem_obj_prepare_shmem_write+0x1d0/0x1d0 [i915]
      [ 1957.462896]  ? pick_next_task_fair+0x436/0x440
      [ 1957.462906]  ? mntput+0x1f/0x30
      [ 1957.462915]  do_vfs_ioctl+0x8f/0x5c0
      [ 1957.462925]  ? __schedule+0x16f/0x5f0
      [ 1957.462935]  ? ____fput+0x9/0x10
      [ 1957.462943]  SyS_ioctl+0x3c/0x70
      [ 1957.462952]  entry_SYSCALL_64_fastpath+0x17/0x98
      [ 1957.462961] RIP: 0033:0x7fc542179ca7
      [ 1957.462968] RSP: 002b:00007ffeef12ff98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
      [ 1957.462982] RAX: ffffffffffffffda RBX: 00007ffeef1301d0 RCX: 00007fc542179ca7
      [ 1957.462990] RDX: 00007ffeef12ffd0 RSI: 00000000400c645f RDI: 0000000000000003
      [ 1957.462999] RBP: 0000000000000003 R08: 000055f433bc7c40 R09: 000000000000002c
      [ 1957.463006] R10: 0000000000000073 R11: 0000000000000246 R12: 0000000000000018
      [ 1957.463015] R13: 000055f432c89d20 R14: 000055f432c87690 R15: 0000000000000000
      
      Fixes: 3b5724d7 ("drm/i915: Wait for writes through the GTT to land before reading back")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170323150053.28582-1-chris@chris-wilson.co.ukReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      e2a2aa36
    • Chris Wilson's avatar
      drm/i915/execlists: Trim irq handler · 4af0d727
      Chris Wilson authored
      I noticed that gcc was spilling the CSB to the stack, so rearrange the
      code to be more compact. Spilling in this function is slightly more
      interesting due to the mmio reads acting as memory barriers and so
      end up flushing the stack spills. Still miniscule to having to do at
      least the pair of uncached reads :(
      
      function                                     old     new   delta
      intel_lrc_irq_handler                       1039     878    -161
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170325201053.21306-1-chris@chris-wilson.co.ukReviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      4af0d727
    • Michal Wajdeczko's avatar
      drm/i915/uc: Make intel_uc_prepare_fw() static · 9d98af0b
      Michal Wajdeczko authored
      There is no need to expose this function as it is called from
      one function only. Also move it up to avoid forward declaration.
      
      v2: drop intel_ prefix (Oscar) and rename to fetch_uc_fw (Michal)
      Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170327094510.167400-1-michal.wajdeczko@intel.comReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      9d98af0b
  2. 24 Mar, 2017 4 commits
  3. 23 Mar, 2017 32 commits
  4. 22 Mar, 2017 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next · edd849e5
      Dave Airlie authored
      drm-misc for 4.12, 2nd attempt this week:
      
      - topic branch from Jon Corbet for the new graph kerneldoc support
      - lots of graphs for kms/atomic things using the above
      - some vblank query tuning from Chris
      - gem/cma_fops macros
      - moar docs
      
      Driver stuff:
      - vc4 hdmi audio, yay (Eric)
      - dw-hdmi polish from a bunch of people
      - some rockchip dp updates that didn't make last week (Chris Zhong)
      - misc bridge&driver updates
      
      * tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc: (37 commits)
        drm/edid: detect SCDC support in HF-VSDB
        drm/edid: detect SCDC support in HF-VSDB
        drm/edid: check for HF-VSDB block
        drm: Add SCDC helpers
        drm: bridge: dw-hdmi: add HDMI vendor specific infoframe config
        drm/bridge: dw_hdmi: support i2c extended read mode
        drm/msm: add stubs for msm_{perf,rd}_debugfs_cleanup
        drm: bochs: Don't remove uninitialized fbdev framebuffer
        drm: vc4: remove redundant check of plane being non-null
        drm/vc4: use platform_register_drivers
        dma-fence: add dma_fence_match_context helper
        drm/vc4: Add HDMI audio support
        dt-bindings: Document the dmas and dma-names properties for VC4 HDMI
        drm/atmel-hlcdc: Fix suspend/resume implementation
        drm: Skip the waitqueue setup for vblank queries
        drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off)
        drm/doc: atomic overview, with graph
        drm/doc: diagram for mode objects and properties
        drm/doc: Consistent kerneldoc include order
        drm/doc: Add KMS overview graphs
        ...
      edd849e5