/Linux-v5.4/drivers/gpu/drm/i915/gt/ |
D | intel_gt_irq.c | 39 gen11_gt_engine_identity(struct intel_gt *gt, in gen11_gt_engine_identity() argument 42 void __iomem * const regs = gt->uncore->regs; in gen11_gt_engine_identity() 46 lockdep_assert_held(>->irq_lock); in gen11_gt_engine_identity() 73 gen11_other_irq_handler(struct intel_gt *gt, const u8 instance, in gen11_other_irq_handler() argument 77 return guc_irq_handler(>->uc.guc, iir); in gen11_other_irq_handler() 80 return gen11_rps_irq_handler(gt, iir); in gen11_other_irq_handler() 87 gen11_engine_irq_handler(struct intel_gt *gt, const u8 class, in gen11_engine_irq_handler() argument 93 engine = gt->engine_class[class][instance]; in gen11_engine_irq_handler() 105 gen11_gt_identity_handler(struct intel_gt *gt, const u32 identity) in gen11_gt_identity_handler() argument 115 return gen11_engine_irq_handler(gt, class, instance, intr); in gen11_gt_identity_handler() [all …]
|
D | selftest_reset.c | 12 struct intel_gt *gt = arg; in igt_global_reset() local 19 igt_global_reset_lock(gt); in igt_global_reset() 20 wakeref = intel_runtime_pm_get(>->i915->runtime_pm); in igt_global_reset() 22 reset_count = i915_reset_count(>->i915->gpu_error); in igt_global_reset() 24 intel_gt_reset(gt, ALL_ENGINES, NULL); in igt_global_reset() 26 if (i915_reset_count(>->i915->gpu_error) == reset_count) { in igt_global_reset() 31 intel_runtime_pm_put(>->i915->runtime_pm, wakeref); in igt_global_reset() 32 igt_global_reset_unlock(gt); in igt_global_reset() 34 if (intel_gt_is_wedged(gt)) in igt_global_reset() 42 struct intel_gt *gt = arg; in igt_wedged_reset() local [all …]
|
D | intel_reset.c | 145 static int i915_do_reset(struct intel_gt *gt, in i915_do_reset() argument 149 struct pci_dev *pdev = gt->i915->drm.pdev; in i915_do_reset() 174 static int g33_do_reset(struct intel_gt *gt, in g33_do_reset() argument 178 struct pci_dev *pdev = gt->i915->drm.pdev; in g33_do_reset() 184 static int g4x_do_reset(struct intel_gt *gt, in g4x_do_reset() argument 188 struct pci_dev *pdev = gt->i915->drm.pdev; in g4x_do_reset() 189 struct intel_uncore *uncore = gt->uncore; in g4x_do_reset() 221 static int ironlake_do_reset(struct intel_gt *gt, in ironlake_do_reset() argument 225 struct intel_uncore *uncore = gt->uncore; in ironlake_do_reset() 257 static int gen6_hw_domain_reset(struct intel_gt *gt, u32 hw_domain_mask) in gen6_hw_domain_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 | intel_gt_pm.c | 17 blocking_notifier_call_chain(&i915->gt.pm_notifications, state, i915); in pm_notify() 22 struct intel_gt *gt = container_of(wf, typeof(*gt), wakeref); in __gt_unpark() local 23 struct drm_i915_private *i915 = gt->i915; in __gt_unpark() 38 gt->awake = intel_display_power_get(i915, POWER_DOMAIN_GT_IRQ); in __gt_unpark() 39 GEM_BUG_ON(!gt->awake); in __gt_unpark() 52 intel_gt_queue_hangcheck(gt); in __gt_unpark() 62 container_of(wf, typeof(*i915), gt.wakeref); in __gt_park() 63 intel_wakeref_t wakeref = fetch_and_zero(&i915->gt.awake); in __gt_park() 93 void intel_gt_pm_init_early(struct intel_gt *gt) in intel_gt_pm_init_early() argument 95 intel_wakeref_init(>->wakeref, >->i915->runtime_pm, &wf_ops); in intel_gt_pm_init_early() [all …]
|
D | selftest_hangcheck.c | 45 struct intel_gt *gt; member 53 static int hang_init(struct hang *h, struct intel_gt *gt) in hang_init() argument 59 h->gt = gt; in hang_init() 61 h->ctx = kernel_context(gt->i915); in hang_init() 67 h->hws = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_init() 73 h->obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_init() 88 i915_coherent_map_type(gt->i915)); in hang_init() 133 struct intel_gt *gt = h->gt; in hang_create_request() local 134 struct i915_address_space *vm = h->ctx->vm ?: &engine->gt->ggtt->vm; in hang_create_request() 143 obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_create_request() [all …]
|
D | intel_gt.c | 11 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915) in intel_gt_init_early() argument 13 gt->i915 = i915; in intel_gt_init_early() 14 gt->uncore = &i915->uncore; in intel_gt_init_early() 16 spin_lock_init(>->irq_lock); in intel_gt_init_early() 18 INIT_LIST_HEAD(>->closed_vma); in intel_gt_init_early() 19 spin_lock_init(>->closed_lock); in intel_gt_init_early() 21 intel_gt_init_hangcheck(gt); in intel_gt_init_early() 22 intel_gt_init_reset(gt); in intel_gt_init_early() 23 intel_gt_pm_init_early(gt); in intel_gt_init_early() 24 intel_uc_init_early(>->uc); in intel_gt_init_early() [all …]
|
D | intel_gt_pm.h | 20 static inline bool intel_gt_pm_is_awake(const struct intel_gt *gt) in intel_gt_pm_is_awake() argument 22 return intel_wakeref_is_active(>->wakeref); in intel_gt_pm_is_awake() 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() 40 static inline int intel_gt_pm_wait_for_idle(struct intel_gt *gt) in intel_gt_pm_wait_for_idle() argument 42 return intel_wakeref_wait_for_idle(>->wakeref); in intel_gt_pm_wait_for_idle() [all …]
|
D | intel_gt_irq.h | 22 void gen11_gt_irq_reset(struct intel_gt *gt); 23 void gen11_gt_irq_postinstall(struct intel_gt *gt); 24 void gen11_gt_irq_handler(struct intel_gt *gt, const u32 master_ctl); 26 bool gen11_gt_reset_one_iir(struct intel_gt *gt, 30 void gen5_gt_irq_handler(struct intel_gt *gt, u32 gt_iir); 32 void gen5_gt_irq_postinstall(struct intel_gt *gt); 33 void gen5_gt_irq_reset(struct intel_gt *gt); 34 void gen5_gt_disable_irq(struct intel_gt *gt, u32 mask); 35 void gen5_gt_enable_irq(struct intel_gt *gt, u32 mask); 37 void gen6_gt_irq_handler(struct intel_gt *gt, u32 gt_iir); [all …]
|
D | intel_gt.h | 30 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915); 33 void intel_gt_driver_late_release(struct intel_gt *gt); 35 void intel_gt_check_and_clear_faults(struct intel_gt *gt); 36 void intel_gt_clear_error_registers(struct intel_gt *gt, 39 void intel_gt_flush_ggtt_writes(struct intel_gt *gt); 40 void intel_gt_chipset_flush(struct intel_gt *gt); 42 void intel_gt_init_hangcheck(struct intel_gt *gt); 44 int intel_gt_init_scratch(struct intel_gt *gt, unsigned int size); 45 void intel_gt_fini_scratch(struct intel_gt *gt); 47 static inline u32 intel_gt_scratch_offset(const struct intel_gt *gt, in intel_gt_scratch_offset() argument [all …]
|
D | intel_reset.h | 23 void intel_gt_init_reset(struct intel_gt *gt); 24 void intel_gt_fini_reset(struct intel_gt *gt); 27 void intel_gt_handle_error(struct intel_gt *gt, 33 void intel_gt_reset(struct intel_gt *gt, 41 int __must_check intel_gt_reset_trylock(struct intel_gt *gt, int *srcu); 42 void intel_gt_reset_unlock(struct intel_gt *gt, int tag); 44 void intel_gt_set_wedged(struct intel_gt *gt); 45 bool intel_gt_unset_wedged(struct intel_gt *gt); 46 int intel_gt_terminally_wedged(struct intel_gt *gt); 48 int __intel_gt_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask); [all …]
|
D | selftest_context.c | 145 struct intel_gt *gt = arg; in live_context_size() local 156 mutex_lock(>->i915->drm.struct_mutex); in live_context_size() 158 fixme = kernel_context(gt->i915); in live_context_size() 164 for_each_engine(engine, gt->i915, id) { in live_context_size() 203 mutex_unlock(>->i915->drm.struct_mutex); in live_context_size() 295 struct intel_gt *gt = arg; in live_active_context() local 302 file = mock_file(gt->i915); in live_active_context() 306 mutex_lock(>->i915->drm.struct_mutex); in live_active_context() 308 fixme = live_context(gt->i915, file); in live_active_context() 314 for_each_engine(engine, gt->i915, id) { in live_active_context() [all …]
|
D | intel_hangcheck.c | 122 intel_gt_handle_error(engine->gt, engine->mask, 0, in engine_stuck() 223 static void hangcheck_declare_hang(struct intel_gt *gt, in hangcheck_declare_hang() argument 239 for_each_engine_masked(engine, gt->i915, hung, tmp) in hangcheck_declare_hang() 244 return intel_gt_handle_error(gt, hung, I915_ERROR_CAPTURE, "%s", msg); in hangcheck_declare_hang() 257 struct intel_gt *gt = in hangcheck_elapsed() local 258 container_of(work, typeof(*gt), hangcheck.work.work); in hangcheck_elapsed() 267 if (!READ_ONCE(gt->awake)) in hangcheck_elapsed() 270 if (intel_gt_is_wedged(gt)) in hangcheck_elapsed() 273 wakeref = intel_runtime_pm_get_if_in_use(>->i915->runtime_pm); in hangcheck_elapsed() 281 intel_uncore_arm_unclaimed_mmio_detection(gt->uncore); in hangcheck_elapsed() [all …]
|
D | intel_timeline.c | 19 struct intel_gt *gt; member 34 static struct i915_vma *__hwsp_alloc(struct intel_gt *gt) in __hwsp_alloc() argument 36 struct drm_i915_private *i915 = gt->i915; in __hwsp_alloc() 46 vma = i915_vma_instance(obj, >->ggtt->vm, NULL); in __hwsp_alloc() 56 struct intel_gt_timelines *gt = &timeline->gt->timelines; in hwsp_alloc() local 61 spin_lock_irq(>->hwsp_lock); in hwsp_alloc() 64 hwsp = list_first_entry_or_null(>->hwsp_free_list, in hwsp_alloc() 69 spin_unlock_irq(>->hwsp_lock); in hwsp_alloc() 75 vma = __hwsp_alloc(timeline->gt); in hwsp_alloc() 82 hwsp->gt = timeline->gt; in hwsp_alloc() [all …]
|
D | selftest_engine_pm.c | 13 struct intel_gt *gt = arg; in live_engine_pm() local 22 if (intel_gt_pm_wait_for_idle(gt)) { in live_engine_pm() 27 GEM_BUG_ON(intel_gt_pm_is_awake(gt)); in live_engine_pm() 28 for_each_engine(engine, gt->i915, id) { in live_engine_pm() 66 if (intel_gt_pm_wait_for_idle(gt)) { in live_engine_pm() 76 int live_engine_pm_selftests(struct intel_gt *gt) in live_engine_pm_selftests() argument 82 return intel_gt_live_subtests(tests, gt); in live_engine_pm_selftests()
|
D | intel_gt_pm_irq.h | 14 void gen6_gt_pm_unmask_irq(struct intel_gt *gt, u32 mask); 15 void gen6_gt_pm_mask_irq(struct intel_gt *gt, u32 mask); 17 void gen6_gt_pm_enable_irq(struct intel_gt *gt, u32 enable_mask); 18 void gen6_gt_pm_disable_irq(struct intel_gt *gt, u32 disable_mask); 20 void gen6_gt_pm_reset_iir(struct intel_gt *gt, u32 reset_mask);
|
D | intel_mocs.c | 282 static bool get_mocs_settings(struct intel_gt *gt, in get_mocs_settings() argument 285 struct drm_i915_private *i915 = gt->i915; in get_mocs_settings() 369 struct intel_gt *gt = engine->gt; in intel_mocs_init_engine() local 370 struct intel_uncore *uncore = gt->uncore; in intel_mocs_init_engine() 376 if (HAS_GLOBAL_MOCS_REGISTERS(gt->i915)) in intel_mocs_init_engine() 382 if (!get_mocs_settings(gt, &table)) in intel_mocs_init_engine() 403 static void intel_mocs_init_global(struct intel_gt *gt) in intel_mocs_init_global() argument 405 struct intel_uncore *uncore = gt->uncore; in intel_mocs_init_global() 409 GEM_BUG_ON(!HAS_GLOBAL_MOCS_REGISTERS(gt->i915)); in intel_mocs_init_global() 411 if (!get_mocs_settings(gt, &table)) in intel_mocs_init_global() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/selftests/ |
D | igt_reset.c | 14 void igt_global_reset_lock(struct intel_gt *gt) in igt_global_reset_lock() argument 19 pr_debug("%s: current gpu_error=%08lx\n", __func__, gt->reset.flags); in igt_global_reset_lock() 21 while (test_and_set_bit(I915_RESET_BACKOFF, >->reset.flags)) in igt_global_reset_lock() 22 wait_event(gt->reset.queue, in igt_global_reset_lock() 23 !test_bit(I915_RESET_BACKOFF, >->reset.flags)); in igt_global_reset_lock() 25 for_each_engine(engine, gt->i915, id) { in igt_global_reset_lock() 27 >->reset.flags)) in igt_global_reset_lock() 28 wait_on_bit(>->reset.flags, I915_RESET_ENGINE + id, in igt_global_reset_lock() 33 void igt_global_reset_unlock(struct intel_gt *gt) in igt_global_reset_unlock() argument 38 for_each_engine(engine, gt->i915, id) in igt_global_reset_unlock() [all …]
|
D | igt_spinner.c | 12 int igt_spinner_init(struct igt_spinner *spin, struct intel_gt *gt) in igt_spinner_init() argument 18 GEM_BUG_ON(INTEL_GEN(gt->i915) < 8); in igt_spinner_init() 21 spin->gt = gt; in igt_spinner_init() 23 spin->hws = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in igt_spinner_init() 29 spin->obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in igt_spinner_init() 43 mode = i915_coherent_map_type(gt->i915); in igt_spinner_init() 101 GEM_BUG_ON(spin->gt != ce->vm->gt); in igt_spinner_create_request() 147 intel_gt_chipset_flush(engine->gt); in igt_spinner_create_request() 181 intel_gt_chipset_flush(spin->gt); in igt_spinner_end()
|
/Linux-v5.4/drivers/gpu/drm/gma500/ |
D | gtt.c | 194 static int psb_gtt_attach_pages(struct gtt_range *gt) in psb_gtt_attach_pages() argument 198 WARN_ON(gt->pages); in psb_gtt_attach_pages() 200 pages = drm_gem_get_pages(>->gem); in psb_gtt_attach_pages() 204 gt->npage = gt->gem.size / PAGE_SIZE; in psb_gtt_attach_pages() 205 gt->pages = pages; in psb_gtt_attach_pages() 219 static void psb_gtt_detach_pages(struct gtt_range *gt) in psb_gtt_detach_pages() argument 221 drm_gem_put_pages(>->gem, gt->pages, true, false); in psb_gtt_detach_pages() 222 gt->pages = NULL; in psb_gtt_detach_pages() 235 int psb_gtt_pin(struct gtt_range *gt) in psb_gtt_pin() argument 238 struct drm_device *dev = gt->gem.dev; in psb_gtt_pin() [all …]
|
/Linux-v5.4/drivers/media/radio/ |
D | radio-gemtek.c | 150 static void gemtek_bu2614_transmit(struct gemtek *gt) in gemtek_bu2614_transmit() argument 152 struct radio_isa_card *isa = >->isa; in gemtek_bu2614_transmit() 155 mute = gt->muted ? GEMTEK_MT : 0x00; in gemtek_bu2614_transmit() 160 for (i = 0, q = gt->bu2614data; i < 32; i++, q >>= 1) { in gemtek_bu2614_transmit() 182 struct gemtek *gt = kzalloc(sizeof(*gt), GFP_KERNEL); in gemtek_alloc() local 184 if (gt) in gemtek_alloc() 185 gt->muted = true; in gemtek_alloc() 186 return gt ? >->isa : NULL; in gemtek_alloc() 194 struct gemtek *gt = container_of(isa, struct gemtek, isa); in gemtek_s_frequency() local 196 if (hardmute && gt->muted) in gemtek_s_frequency() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/ |
D | Makefile | 74 obj-y += gt/ 75 gt-y += \ 76 gt/intel_breadcrumbs.o \ 77 gt/intel_context.o \ 78 gt/intel_engine_cs.o \ 79 gt/intel_engine_pool.o \ 80 gt/intel_engine_pm.o \ 81 gt/intel_engine_user.o \ 82 gt/intel_gt.o \ 83 gt/intel_gt_irq.o \ [all …]
|
D | i915_pci.c | 388 .gt = 1, 393 .gt = 2, 404 .gt = 1, 409 .gt = 2, 437 .gt = 1, 442 .gt = 2, 453 .gt = 1, 458 .gt = 2, 464 .gt = 2, 509 .gt = 1, [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/gem/ |
D | i915_gem_pm.c | 54 intel_wakeref_lock(&i915->gt.wakeref); in idle_work_handler() 55 park = (!intel_wakeref_is_active(&i915->gt.wakeref) && in idle_work_handler() 57 intel_wakeref_unlock(&i915->gt.wakeref); in idle_work_handler() 107 static bool switch_to_kernel_context_sync(struct intel_gt *gt) in switch_to_kernel_context_sync() argument 109 bool result = !intel_gt_is_wedged(gt); in switch_to_kernel_context_sync() 112 if (i915_gem_wait_for_idle(gt->i915, in switch_to_kernel_context_sync() 118 dev_err(gt->i915->drm.dev, in switch_to_kernel_context_sync() 127 intel_gt_set_wedged(gt); in switch_to_kernel_context_sync() 130 } while (i915_retire_requests(gt->i915) && result); in switch_to_kernel_context_sync() 132 if (intel_gt_pm_wait_for_idle(gt)) in switch_to_kernel_context_sync() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/gt/uc/ |
D | intel_huc.c | 31 struct intel_gt *gt = huc_to_gt(huc); in intel_huc_rsa_data_create() local 32 struct intel_guc *guc = >->uc.guc; in intel_huc_rsa_data_create() 38 err = i915_inject_load_error(gt->i915, -ENXIO); in intel_huc_rsa_data_create() 128 struct intel_gt *gt = huc_to_gt(huc); in intel_huc_auth() local 129 struct intel_guc *guc = >->uc.guc; in intel_huc_auth() 137 ret = i915_inject_load_error(gt->i915, -ENXIO); in intel_huc_auth() 149 ret = __intel_wait_for_register(gt->uncore, in intel_huc_auth() 163 i915_probe_error(gt->i915, "HuC: Authentication failed %d\n", ret); in intel_huc_auth() 181 struct intel_gt *gt = huc_to_gt(huc); in intel_huc_check_status() local 188 with_intel_runtime_pm(>->i915->runtime_pm, wakeref) in intel_huc_check_status() [all …]
|