| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/gt/ |
| D | intel_gt_pm.c | 27 static void user_forcewake(struct intel_gt *gt, bool suspend) in user_forcewake() argument 29 int count = atomic_read(>->user_wakeref); in user_forcewake() 35 intel_gt_pm_get(gt); in user_forcewake() 37 GEM_BUG_ON(count > atomic_read(>->wakeref.count)); in user_forcewake() 38 atomic_sub(count, >->wakeref.count); in user_forcewake() 40 atomic_add(count, >->wakeref.count); in user_forcewake() 42 intel_gt_pm_put(gt); in user_forcewake() 45 static void runtime_begin(struct intel_gt *gt) in runtime_begin() argument 48 write_seqcount_begin(>->stats.lock); in runtime_begin() 49 gt->stats.start = ktime_get(); in runtime_begin() [all …]
|
| D | intel_gt.c | 40 void intel_gt_common_init_early(struct intel_gt *gt) in intel_gt_common_init_early() argument 42 spin_lock_init(gt->irq_lock); in intel_gt_common_init_early() 44 INIT_LIST_HEAD(>->closed_vma); in intel_gt_common_init_early() 45 spin_lock_init(>->closed_lock); in intel_gt_common_init_early() 47 init_llist_head(>->watchdog.list); in intel_gt_common_init_early() 48 INIT_WORK(>->watchdog.work, intel_gt_watchdog_work); in intel_gt_common_init_early() 50 intel_gt_init_buffer_pool(gt); in intel_gt_common_init_early() 51 intel_gt_init_reset(gt); in intel_gt_common_init_early() 52 intel_gt_init_requests(gt); in intel_gt_common_init_early() 53 intel_gt_init_timelines(gt); in intel_gt_common_init_early() [all …]
|
| D | intel_gt_irq.c | 31 gen11_gt_engine_identity(struct intel_gt *gt, in gen11_gt_engine_identity() argument 34 void __iomem * const regs = intel_uncore_regs(gt->uncore); in gen11_gt_engine_identity() 38 lockdep_assert_held(gt->irq_lock); in gen11_gt_engine_identity() 53 gt_err(gt, "INTR_IDENTITY_REG%u:%u 0x%08x not valid!\n", in gen11_gt_engine_identity() 65 gen11_other_irq_handler(struct intel_gt *gt, const u8 instance, in gen11_other_irq_handler() argument 68 struct intel_gt *media_gt = gt->i915->media_gt; in gen11_other_irq_handler() 71 return guc_irq_handler(>->uc.guc, iir); in gen11_other_irq_handler() 76 return gen11_rps_irq_handler(>->rps, iir); in gen11_other_irq_handler() 81 return intel_pxp_irq_handler(gt->i915->pxp, iir); in gen11_other_irq_handler() 84 return intel_gsc_irq_handler(gt, iir); in gen11_other_irq_handler() [all …]
|
| D | intel_gt_pm.h | 14 static inline bool intel_gt_pm_is_awake(const struct intel_gt *gt) in intel_gt_pm_is_awake() argument 16 return intel_wakeref_is_active(>->wakeref); in intel_gt_pm_is_awake() 19 static inline void intel_gt_pm_get(struct intel_gt *gt) in intel_gt_pm_get() argument 21 intel_wakeref_get(>->wakeref); in intel_gt_pm_get() 24 static inline void __intel_gt_pm_get(struct intel_gt *gt) in __intel_gt_pm_get() argument 26 __intel_wakeref_get(>->wakeref); in __intel_gt_pm_get() 29 static inline bool intel_gt_pm_get_if_awake(struct intel_gt *gt) in intel_gt_pm_get_if_awake() argument 31 return intel_wakeref_get_if_active(>->wakeref); in intel_gt_pm_get_if_awake() 34 static inline void intel_gt_pm_might_get(struct intel_gt *gt) in intel_gt_pm_might_get() argument 36 intel_wakeref_might_get(>->wakeref); in intel_gt_pm_might_get() [all …]
|
| D | intel_reset.c | 15 #include "gt/intel_gt_regs.h" 17 #include "gt/uc/intel_gsc_fw.h" 157 static int i915_do_reset(struct intel_gt *gt, in i915_do_reset() argument 161 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in i915_do_reset() 186 static int g33_do_reset(struct intel_gt *gt, in g33_do_reset() argument 190 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in g33_do_reset() 196 static int g4x_do_reset(struct intel_gt *gt, in g4x_do_reset() argument 200 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in g4x_do_reset() 201 struct intel_uncore *uncore = gt->uncore; in g4x_do_reset() 212 GT_TRACE(gt, "Wait for media reset failed\n"); in g4x_do_reset() [all …]
|
| D | intel_gt_mcr.c | 13 * DOC: GT Multicast/Replicated (MCR) Register Support 15 * Some GT registers are designed as "multicast" or "replicated" registers: 141 void intel_gt_mcr_init(struct intel_gt *gt) in intel_gt_mcr_init() argument 143 struct drm_i915_private *i915 = gt->i915; in intel_gt_mcr_init() 147 spin_lock_init(>->mcr_lock); in intel_gt_mcr_init() 154 gt->info.mslice_mask = in intel_gt_mcr_init() 155 intel_slicemask_from_xehp_dssmask(gt->info.sseu.subslice_mask, in intel_gt_mcr_init() 157 gt->info.mslice_mask |= in intel_gt_mcr_init() 158 (intel_uncore_read(gt->uncore, GEN10_MIRROR_FUSE3) & in intel_gt_mcr_init() 161 if (!gt->info.mslice_mask) /* should be impossible! */ in intel_gt_mcr_init() [all …]
|
| D | intel_gt_pm_irq.c | 13 static void write_pm_imr(struct intel_gt *gt) in write_pm_imr() argument 15 struct drm_i915_private *i915 = gt->i915; in write_pm_imr() 16 struct intel_uncore *uncore = gt->uncore; in write_pm_imr() 17 u32 mask = gt->pm_imr; in write_pm_imr() 32 static void gen6_gt_pm_update_irq(struct intel_gt *gt, in gen6_gt_pm_update_irq() argument 40 lockdep_assert_held(gt->irq_lock); in gen6_gt_pm_update_irq() 42 new_val = gt->pm_imr; in gen6_gt_pm_update_irq() 46 if (new_val != gt->pm_imr) { in gen6_gt_pm_update_irq() 47 gt->pm_imr = new_val; in gen6_gt_pm_update_irq() 48 write_pm_imr(gt); in gen6_gt_pm_update_irq() [all …]
|
| D | selftest_reset.c | 18 __igt_reset_stolen(struct intel_gt *gt, in __igt_reset_stolen() argument 22 struct i915_ggtt *ggtt = gt->ggtt; in __igt_reset_stolen() 23 const struct resource *dsm = >->i915->dsm.stolen; in __igt_reset_stolen() 51 igt_global_reset_lock(gt); in __igt_reset_stolen() 52 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in __igt_reset_stolen() 54 err = igt_spinner_init(&spin, gt); in __igt_reset_stolen() 58 for_each_engine(engine, gt, id) { in __igt_reset_stolen() 89 i915_gem_get_pat_index(gt->i915, in __igt_reset_stolen() 98 if (!__drm_mm_interval_first(>->i915->mm.stolen, in __igt_reset_stolen() 114 intel_gt_reset(gt, mask, NULL); in __igt_reset_stolen() [all …]
|
| D | intel_gt.h | 17 #define GT_TRACE(gt, fmt, ...) do { \ argument 18 const struct intel_gt *gt__ __maybe_unused = (gt); \ 23 static inline bool gt_is_root(struct intel_gt *gt) in gt_is_root() argument 25 return !gt->info.id; in gt_is_root() 28 static inline bool intel_gt_needs_wa_22016122933(struct intel_gt *gt) in intel_gt_needs_wa_22016122933() argument 30 return MEDIA_VER_FULL(gt->i915) == IP_VER(13, 0) && gt->type == GT_MEDIA; in intel_gt_needs_wa_22016122933() 58 void intel_gt_common_init_early(struct intel_gt *gt); 60 int intel_gt_assign_ggtt(struct intel_gt *gt); 61 int intel_gt_init_mmio(struct intel_gt *gt); 62 int __must_check intel_gt_init_hw(struct intel_gt *gt); [all …]
|
| D | intel_gt_sysfs_pm.c | 29 int (func)(struct intel_gt *gt, u32 val), u32 val) in sysfs_gt_attribute_w_func() argument 31 struct intel_gt *gt; in sysfs_gt_attribute_w_func() local 39 for_each_gt(gt, i915, i) { in sysfs_gt_attribute_w_func() 40 ret = func(gt, val); in sysfs_gt_attribute_w_func() 45 gt = intel_gt_sysfs_get_drvdata(kobj, attr->name); in sysfs_gt_attribute_w_func() 46 ret = func(gt, val); in sysfs_gt_attribute_w_func() 54 u32 (func)(struct intel_gt *gt), in sysfs_gt_attribute_r_func() argument 57 struct intel_gt *gt; in sysfs_gt_attribute_r_func() local 67 for_each_gt(gt, i915, i) { in sysfs_gt_attribute_r_func() 68 u32 val = func(gt); in sysfs_gt_attribute_r_func() [all …]
|
| D | intel_tlb.c | 32 return intel_gt_mcr_wait_for_reg(engine->gt, in wait_for_invalidate() 39 return __intel_wait_for_register_fw(engine->gt->uncore, in wait_for_invalidate() 48 static void mmio_invalidate_full(struct intel_gt *gt) in mmio_invalidate_full() argument 50 struct drm_i915_private *i915 = gt->i915; in mmio_invalidate_full() 51 struct intel_uncore *uncore = gt->uncore; in mmio_invalidate_full() 62 intel_gt_mcr_lock(gt, &flags); in mmio_invalidate_full() 63 spin_lock(&uncore->lock); /* serialise invalidate with GT reset */ in mmio_invalidate_full() 66 for_each_engine(engine, gt, id) { in mmio_invalidate_full() 71 intel_gt_mcr_multicast_write_fw(gt, in mmio_invalidate_full() 82 GT_TRACE(gt, "invalidated engines %08x\n", awake); in mmio_invalidate_full() [all …]
|
| D | intel_gt_sysfs.c | 23 return !strncmp(kobj->name, "gt", 2); in is_object_gt() 31 * has been called, whether it's called from gt/ or from in intel_gt_sysfs_get_drvdata() 35 * If the interface is called from gt/ then private data is in intel_gt_sysfs_get_drvdata() 49 static struct kobject *gt_get_parent_obj(struct intel_gt *gt) in gt_get_parent_obj() argument 51 return >->i915->drm.primary->kdev->kobj; in gt_get_parent_obj() 58 struct intel_gt *gt = intel_gt_sysfs_get_drvdata(kobj, attr->attr.name); in id_show() local 60 return sysfs_emit(buf, "%u\n", gt->info.id); in id_show() 81 void intel_gt_sysfs_register(struct intel_gt *gt) in intel_gt_sysfs_register() argument 88 * We generate the files only for gt 0 in intel_gt_sysfs_register() 91 if (gt_is_root(gt)) in intel_gt_sysfs_register() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/gt/ |
| D | intel_gt_pm.c | 24 static void user_forcewake(struct intel_gt *gt, bool suspend) in user_forcewake() argument 26 int count = atomic_read(>->user_wakeref); in user_forcewake() 32 intel_gt_pm_get(gt); in user_forcewake() 34 GEM_BUG_ON(count > atomic_read(>->wakeref.count)); in user_forcewake() 35 atomic_sub(count, >->wakeref.count); in user_forcewake() 37 atomic_add(count, >->wakeref.count); in user_forcewake() 39 intel_gt_pm_put(gt); in user_forcewake() 44 struct intel_gt *gt = container_of(wf, typeof(*gt), wakeref); in __gt_unpark() local 45 struct drm_i915_private *i915 = gt->i915; in __gt_unpark() 47 GT_TRACE(gt, "\n"); in __gt_unpark() [all …]
|
| D | intel_gt.c | 22 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915) in intel_gt_init_early() argument 24 gt->i915 = i915; in intel_gt_init_early() 25 gt->uncore = &i915->uncore; in intel_gt_init_early() 27 spin_lock_init(>->irq_lock); in intel_gt_init_early() 29 mutex_init(>->tlb_invalidate_lock); in intel_gt_init_early() 31 INIT_LIST_HEAD(>->closed_vma); in intel_gt_init_early() 32 spin_lock_init(>->closed_lock); in intel_gt_init_early() 34 intel_gt_init_buffer_pool(gt); in intel_gt_init_early() 35 intel_gt_init_reset(gt); in intel_gt_init_early() 36 intel_gt_init_requests(gt); in intel_gt_init_early() [all …]
|
| D | intel_gt_irq.c | 66 gen11_gt_engine_identity(struct intel_gt *gt, in gen11_gt_engine_identity() argument 69 void __iomem * const regs = gt->uncore->regs; in gen11_gt_engine_identity() 73 lockdep_assert_held(>->irq_lock); in gen11_gt_engine_identity() 100 gen11_other_irq_handler(struct intel_gt *gt, const u8 instance, in gen11_other_irq_handler() argument 104 return guc_irq_handler(>->uc.guc, iir); in gen11_other_irq_handler() 107 return gen11_rps_irq_handler(>->rps, iir); in gen11_other_irq_handler() 114 gen11_engine_irq_handler(struct intel_gt *gt, const u8 class, in gen11_engine_irq_handler() argument 120 engine = gt->engine_class[class][instance]; in gen11_engine_irq_handler() 132 gen11_gt_identity_handler(struct intel_gt *gt, const u32 identity) in gen11_gt_identity_handler() argument 142 return gen11_engine_irq_handler(gt, class, instance, intr); in gen11_gt_identity_handler() [all …]
|
| D | intel_reset.c | 178 static int i915_do_reset(struct intel_gt *gt, in i915_do_reset() argument 182 struct pci_dev *pdev = gt->i915->drm.pdev; in i915_do_reset() 207 static int g33_do_reset(struct intel_gt *gt, in g33_do_reset() argument 211 struct pci_dev *pdev = gt->i915->drm.pdev; in g33_do_reset() 217 static int g4x_do_reset(struct intel_gt *gt, in g4x_do_reset() argument 221 struct pci_dev *pdev = gt->i915->drm.pdev; in g4x_do_reset() 222 struct intel_uncore *uncore = gt->uncore; in g4x_do_reset() 233 drm_dbg(>->i915->drm, "Wait for media reset failed\n"); in g4x_do_reset() 241 drm_dbg(>->i915->drm, "Wait for render reset failed\n"); in g4x_do_reset() 254 static int ilk_do_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask, in ilk_do_reset() argument [all …]
|
| D | intel_gt_pm_irq.c | 13 static void write_pm_imr(struct intel_gt *gt) in write_pm_imr() argument 15 struct drm_i915_private *i915 = gt->i915; in write_pm_imr() 16 struct intel_uncore *uncore = gt->uncore; in write_pm_imr() 17 u32 mask = gt->pm_imr; in write_pm_imr() 32 static void gen6_gt_pm_update_irq(struct intel_gt *gt, in gen6_gt_pm_update_irq() argument 40 lockdep_assert_held(>->irq_lock); in gen6_gt_pm_update_irq() 42 new_val = gt->pm_imr; in gen6_gt_pm_update_irq() 46 if (new_val != gt->pm_imr) { in gen6_gt_pm_update_irq() 47 gt->pm_imr = new_val; in gen6_gt_pm_update_irq() 48 write_pm_imr(gt); in gen6_gt_pm_update_irq() [all …]
|
| D | selftest_reset.c | 17 __igt_reset_stolen(struct intel_gt *gt, in __igt_reset_stolen() argument 21 struct i915_ggtt *ggtt = >->i915->ggtt; in __igt_reset_stolen() 22 const struct resource *dsm = >->i915->dsm; in __igt_reset_stolen() 50 igt_global_reset_lock(gt); in __igt_reset_stolen() 51 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in __igt_reset_stolen() 53 err = igt_spinner_init(&spin, gt); in __igt_reset_stolen() 57 for_each_engine(engine, gt, id) { in __igt_reset_stolen() 95 if (!__drm_mm_interval_first(>->i915->mm.stolen, in __igt_reset_stolen() 111 intel_gt_reset(gt, mask, NULL); in __igt_reset_stolen() 113 for_each_engine(engine, gt, id) { in __igt_reset_stolen() [all …]
|
| D | intel_gt_pm.h | 15 static inline bool intel_gt_pm_is_awake(const struct intel_gt *gt) in intel_gt_pm_is_awake() argument 17 return intel_wakeref_is_active(>->wakeref); in intel_gt_pm_is_awake() 20 static inline void intel_gt_pm_get(struct intel_gt *gt) in intel_gt_pm_get() argument 22 intel_wakeref_get(>->wakeref); in intel_gt_pm_get() 25 static inline void __intel_gt_pm_get(struct intel_gt *gt) in __intel_gt_pm_get() argument 27 __intel_wakeref_get(>->wakeref); in __intel_gt_pm_get() 30 static inline bool intel_gt_pm_get_if_awake(struct intel_gt *gt) in intel_gt_pm_get_if_awake() argument 32 return intel_wakeref_get_if_active(>->wakeref); in intel_gt_pm_get_if_awake() 35 static inline void intel_gt_pm_put(struct intel_gt *gt) in intel_gt_pm_put() argument 37 intel_wakeref_put(>->wakeref); in intel_gt_pm_put() [all …]
|
| D | intel_gt.h | 16 #define GT_TRACE(gt, fmt, ...) do { \ argument 17 const struct intel_gt *gt__ __maybe_unused = (gt); \ 37 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915); 38 void intel_gt_init_hw_early(struct intel_gt *gt, struct i915_ggtt *ggtt); 39 int intel_gt_init_mmio(struct intel_gt *gt); 40 int __must_check intel_gt_init_hw(struct intel_gt *gt); 41 int intel_gt_init(struct intel_gt *gt); 42 void intel_gt_driver_register(struct intel_gt *gt); 44 void intel_gt_driver_unregister(struct intel_gt *gt); 45 void intel_gt_driver_remove(struct intel_gt *gt); [all …]
|
| D | intel_gt_clock_utils.c | 14 static u32 read_clock_frequency(const struct intel_gt *gt) in read_clock_frequency() argument 16 if (INTEL_GEN(gt->i915) >= 11) { in read_clock_frequency() 19 config = intel_uncore_read(gt->uncore, RPM_CONFIG0); in read_clock_frequency() 30 } else if (INTEL_GEN(gt->i915) >= 9) { in read_clock_frequency() 31 if (IS_GEN9_LP(gt->i915)) in read_clock_frequency() 40 void intel_gt_init_clock_frequency(struct intel_gt *gt) in intel_gt_init_clock_frequency() argument 46 gt->clock_frequency = read_clock_frequency(gt); in intel_gt_init_clock_frequency() 47 GT_TRACE(gt, in intel_gt_init_clock_frequency() 49 gt->clock_frequency / 1000); in intel_gt_init_clock_frequency() 53 void intel_gt_check_clock_frequency(const struct intel_gt *gt) in intel_gt_check_clock_frequency() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/ |
| D | Makefile | 88 gt-y += \ 89 gt/gen2_engine_cs.o \ 90 gt/gen6_engine_cs.o \ 91 gt/gen6_ppgtt.o \ 92 gt/gen7_renderclear.o \ 93 gt/gen8_engine_cs.o \ 94 gt/gen8_ppgtt.o \ 95 gt/intel_breadcrumbs.o \ 96 gt/intel_context.o \ 97 gt/intel_context_sseu.o \ [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
| D | Makefile | 78 gt-y += \ 79 gt/debugfs_engines.o \ 80 gt/debugfs_gt.o \ 81 gt/debugfs_gt_pm.o \ 82 gt/gen2_engine_cs.o \ 83 gt/gen6_engine_cs.o \ 84 gt/gen6_ppgtt.o \ 85 gt/gen7_renderclear.o \ 86 gt/gen8_ppgtt.o \ 87 gt/intel_breadcrumbs.o \ [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/device/ |
| D | pci.c | 80 { 0x106b, 0x0605, "GeForce GT 130" }, 86 { 0x1043, 0x202d, "GeForce GT 220M" }, 92 { 0x152d, 0x0850, "GeForce GT 240M LE" }, 98 { 0x1043, 0x14a2, "GeForce GT 320M" }, 99 { 0x1043, 0x14d2, "GeForce GT 320M" }, 105 { 0x106b, 0x0633, "GeForce GT 120" }, 111 { 0x106b, 0x0693, "GeForce GT 120" }, 232 { 0x1025, 0x0692, "GeForce GT 620M" }, 233 { 0x1025, 0x0725, "GeForce GT 620M" }, 234 { 0x1025, 0x0728, "GeForce GT 620M" }, [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/device/ |
| D | pci.c | 80 { 0x106b, 0x0605, "GeForce GT 130" }, 86 { 0x1043, 0x202d, "GeForce GT 220M" }, 92 { 0x152d, 0x0850, "GeForce GT 240M LE" }, 98 { 0x1043, 0x14a2, "GeForce GT 320M" }, 99 { 0x1043, 0x14d2, "GeForce GT 320M" }, 105 { 0x106b, 0x0633, "GeForce GT 120" }, 111 { 0x106b, 0x0693, "GeForce GT 120" }, 232 { 0x1025, 0x0692, "GeForce GT 620M" }, 233 { 0x1025, 0x0725, "GeForce GT 620M" }, 234 { 0x1025, 0x0728, "GeForce GT 620M" }, [all …]
|