1. 17 3月, 2022 1 次提交
  2. 28 2月, 2022 1 次提交
  3. 25 2月, 2022 1 次提交
  4. 17 2月, 2022 1 次提交
  5. 02 2月, 2022 1 次提交
    • M
      drm/i915: Only include i915_reg.h from .c files · ce2fce25
      Matt Roper 提交于
      Several of our i915 header files, have been including i915_reg.h.  This
      means that any change to i915_reg.h will trigger a full rebuild of
      pretty much every file of the driver, even those that don't have any
      kind of register access.  Let's delete the i915_reg.h include from all
      headers and add an explicit include from the .c files that truly
      need the register definitions; those that need a definition of
      i915_reg_t for a function definition can get it from i915_reg_defs.h
      instead.
      
      We also remove two non-register #define's (VLV_DISPLAY_BASE and
      GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the
      i915_reg.h include from a couple of headers.
      
      There's probably a lot more header dependency optimization possible, but
      the changes here roughly cut the number of files compiled after 'touch
      i915_reg.h' in half --- a good first step.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220127234334.4016964-7-matthew.d.roper@intel.com
      ce2fce25
  6. 06 1月, 2022 1 次提交
  7. 21 12月, 2021 1 次提交
  8. 14 12月, 2021 1 次提交
  9. 10 12月, 2021 1 次提交
  10. 01 12月, 2021 1 次提交
    • T
      drm/i915: Use per device iommu check · cca08469
      Tvrtko Ursulin 提交于
      With both integrated and discrete Intel GPUs in a system, the current
      global check of intel_iommu_gfx_mapped, as done from intel_vtd_active()
      may not be completely accurate.
      
      In this patch we add i915 parameter to intel_vtd_active() in order to
      prepare it for multiple GPUs and we also change the check away from Intel
      specific intel_iommu_gfx_mapped (global exported by the Intel IOMMU
      driver) to probing the presence of IOMMU on a specific device using
      device_iommu_mapped().
      
      This will return true both for IOMMU pass-through and address translation
      modes which matches the current behaviour. If in the future we wanted to
      distinguish between these two modes we could either use
      iommu_get_domain_for_dev() and check for __IOMMU_DOMAIN_PAGING bit
      indicating address translation, or ask for a new API to be exported from
      the IOMMU core code.
      
      v2:
        * Check for dmar translation specifically, not just iommu domain. (Baolu)
      
      v3:
       * Go back to plain "any domain" check for now, rewrite commit message.
      
      v4:
       * Use device_iommu_mapped. (Robin, Baolu)
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Lu Baolu <baolu.lu@linux.intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Acked-by: NRobin Murphy <robin.murphy@arm.com>
      Reviewed-by: NLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211126141424.493753-1-tvrtko.ursulin@linux.intel.com
      cca08469
  11. 25 11月, 2021 1 次提交
  12. 31 7月, 2021 1 次提交
  13. 30 6月, 2021 1 次提交
  14. 06 6月, 2021 1 次提交
  15. 02 6月, 2021 1 次提交
  16. 11 5月, 2021 1 次提交
  17. 04 5月, 2021 1 次提交
    • M
      drm/i915: mark stolen as private · 36150bba
      Matthew Auld 提交于
      In the next patch we want to expose the supported regions to userspace,
      which can then be fed into the gem_create_ext placement extensions. For
      now treat stolen memory as private from userspace pov.
      Signed-off-by: NMatthew Auld <matthew.auld@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
      Cc: Jon Bloomfield <jon.bloomfield@intel.com>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Kenneth Graunke <kenneth@whitecape.org>
      Cc: Jason Ekstrand <jason@jlekstrand.net>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: mesa-dev@lists.freedesktop.org
      Reviewed-by: NKenneth Graunke <kenneth@whitecape.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210429103056.407067-2-matthew.auld@intel.com
      36150bba
  18. 29 4月, 2021 1 次提交
  19. 22 4月, 2021 3 次提交
  20. 25 3月, 2021 2 次提交
  21. 24 3月, 2021 1 次提交
  22. 09 2月, 2021 1 次提交
  23. 21 1月, 2021 1 次提交
  24. 15 1月, 2021 2 次提交
  25. 12 1月, 2021 1 次提交
    • C
      drm/i915/gem: Remove stolen node before releasing the region · f7073fb9
      Chris Wilson 提交于
      If this stolen object holds the last reference to the region, we need to
      remove our drm_mm_node before freeing the region's drm_mm.
      
      <4> [431.679591] Memory manager not clean during takedown.
      <4> [431.679633] WARNING: CPU: 0 PID: 110 at drivers/gpu/drm/drm_mm.c:999 drm_mm_takedown+0x51/0x100
      <4> [431.679655] Modules linked in: i915 vgem btusb snd_hda_codec_hdmi btrtl btbcm btintel snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio bluetooth coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel ecdh_generic ecc r8169 realtek lpc_ich snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core snd_pcm pinctrl_cherryview prime_numbers [last unloaded: i915]
      <4> [431.679883] CPU: 0 PID: 110 Comm: kworker/u4:3 Tainted: G     U            5.11.0-rc3-CI-CI_DRM_9583+ #1
      <4> [431.679895] Hardware name:  /NUC5CPYB, BIOS PYBSWCEL.86A.0058.2016.1102.1842 11/02/2016
      <4> [431.679905] Workqueue: i915 __i915_gem_free_work [i915]
      <4> [431.680831] RIP: 0010:drm_mm_takedown+0x51/0x100
      <4> [431.680850] Code: 44 24 08 65 48 33 04 25 28 00 00 00 0f 85 b6 00 00 00 48 83 c4 10 5b 5d 41 5c c3 48 89 fb 48 c7 c7 c8 b7 38 82 e8 00 d6 37 00 <0f> 0b 48 8b 3d 96 d5 d1 00 ba 00 10 00 00 be c0 0c 00 00 e8 d7 64
      <4> [431.680862] RSP: 0018:ffffc90000ad7dc0 EFLAGS: 00010282
      <4> [431.680879] RAX: 0000000000000000 RBX: ffff8881109aa140 RCX: 0000000000000001
      <4> [431.680888] RDX: 0000000080000001 RSI: ffffffff8235a70f RDI: 00000000ffffffff
      <4> [431.680897] RBP: ffff8881109aa178 R08: 0000000000000001 R09: 0000000000000001
      <4> [431.680906] R10: 0000000025eaec48 R11: 00000000f5b271a7 R12: ffff88810a38ddc0
      <4> [431.680916] R13: 00000000ffffffff R14: ffffffff82861b70 R15: ffff88810b715538
      <4> [431.680925] FS:  0000000000000000(0000) GS:ffff88817b800000(0000) knlGS:0000000000000000
      <4> [431.680935] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      <4> [431.680945] CR2: 000056377cfd7c48 CR3: 00000001045de000 CR4: 00000000001006f0
      <4> [431.680954] Call Trace:
      <4> [431.680977]  __intel_memory_region_destroy+0x24/0x50 [i915]
      <4> [431.681340]  i915_gem_object_release_stolen+0x26/0x40 [i915]
      <4> [431.681637]  __i915_gem_free_objects.isra.21+0x1ef/0x3b0 [i915]
      <4> [431.681935]  process_one_work+0x270/0x5c0
      <4> [431.682022]  worker_thread+0x37/0x380
      <4> [431.682047]  ? process_one_work+0x5c0/0x5c0
      <4> [431.682062]  kthread+0x146/0x170
      <4> [431.682077]  ? kthread_park+0x80/0x80
      <4> [431.682098]  ret_from_fork+0x22/0x30
      <4> [431.682153] irq event stamp: 1872905
      <4> [431.682162] hardirqs last  enabled at (1872911): [<ffffffff8112bd9a>] console_unlock+0x49a/0x580
      <4> [431.682176] hardirqs last disabled at (1872916): [<ffffffff8112bd06>] console_unlock+0x406/0x580
      <4> [431.682187] softirqs last  enabled at (1872850): [<ffffffff81e00342>] __do_softirq+0x342/0x48e
      <4> [431.682201] softirqs last disabled at (1872845): [<ffffffff81c00f52>] asm_call_irq_on_stack+0x12/0x20
      <4> [431.682214] ---[ end trace 5d3bcd818e2e3816 ]---
      <3> [431.686188] [drm:drm_mm_takedown] *ERROR* node [0002d000 + 00004000]: inserted at
       drm_mm_insert_node_in_range+0x34a/0x5b0
       i915_gem_stolen_insert_node_in_range+0x7b/0xa0 [i915]
       _i915_gem_object_create_stolen+0x83/0xd0 [i915]
       i915_gem_object_create_region+0x61/0x140 [i915]
       intel_engine_create_ring+0x176/0x230 [i915]
      
      Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2927Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210112015000.16108-1-chris@chris-wilson.co.uk
      f7073fb9
  26. 28 10月, 2020 1 次提交
  27. 21 10月, 2020 1 次提交
  28. 20 10月, 2020 2 次提交
  29. 24 8月, 2020 1 次提交
  30. 30 5月, 2020 1 次提交
  31. 08 4月, 2020 1 次提交
  32. 03 3月, 2020 1 次提交
  33. 05 2月, 2020 1 次提交
  34. 27 1月, 2020 1 次提交
    • W
      drm/i915/gem: initial conversion to new logging macros using coccinelle · baa89ba3
      Wambui Karuga 提交于
      First pass of conversion to the new struct drm_based device logging
      macros in the drm/i915/gem directory. This conversion was achieved using
      the following coccinelle script that transforms based on the existence
      of a straightforward struct drm_i915_private device:
      
      @rule1@
      identifier fn, T;
      @@
      
      fn(struct drm_i915_private *T,...) {
      <+...
      (
      -DRM_INFO(
      +drm_info(&T->drm,
      ...)
      |
      -DRM_ERROR(
      +drm_err(&T->drm,
      ...)
      |
      -DRM_WARN(
      +drm_warn(&T->drm,
      ...)
      |
      -DRM_DEBUG(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_DRIVER(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_KMS(
      +drm_dbg_kms(&T->drm,
      ...)
      |
      -DRM_DEBUG_ATOMIC(
      +drm_dbg_atomic(&T->drm,
      ...)
      )
      ...+>
      }
      
      @rule2@
      identifier fn, T;
      @@
      
      fn(...) {
      ...
      struct drm_i915_private *T = ...;
      <+...
      (
      -DRM_INFO(
      +drm_info(&T->drm,
      ...)
      |
      -DRM_ERROR(
      +drm_err(&T->drm,
      ...)
      |
      -DRM_WARN(
      +drm_warn(&T->drm,
      ...)
      |
      -DRM_DEBUG(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_KMS(
      +drm_dbg_kms(&T->drm,
      ...)
      |
      -DRM_DEBUG_DRIVER(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_ATOMIC(
      +drm_dbg_atomic(&T->drm,
      ...)
      )
      ...+>
      }
      
      Checkpatch warnings were addressed manually.
      Acked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NWambui Karuga <wambui.karugax@gmail.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200122125750.9737-2-wambui.karugax@gmail.com
      baa89ba3
  35. 22 1月, 2020 1 次提交