/drivers/gpu/drm/i915/gt/ |
D | intel_gt_pm.c | 22 static void user_forcewake(struct intel_gt *gt, bool suspend) in user_forcewake() argument 24 int count = atomic_read(>->user_wakeref); in user_forcewake() 30 intel_gt_pm_get(gt); in user_forcewake() 32 GEM_BUG_ON(count > atomic_read(>->wakeref.count)); in user_forcewake() 33 atomic_sub(count, >->wakeref.count); in user_forcewake() 35 atomic_add(count, >->wakeref.count); in user_forcewake() 37 intel_gt_pm_put(gt); in user_forcewake() 40 static void runtime_begin(struct intel_gt *gt) in runtime_begin() argument 43 write_seqcount_begin(>->stats.lock); in runtime_begin() 44 gt->stats.start = ktime_get(); in runtime_begin() [all …]
|
D | intel_gt.c | 25 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915) in intel_gt_init_early() argument 27 gt->i915 = i915; in intel_gt_init_early() 28 gt->uncore = &i915->uncore; in intel_gt_init_early() 30 spin_lock_init(>->irq_lock); in intel_gt_init_early() 32 mutex_init(>->tlb_invalidate_lock); in intel_gt_init_early() 34 INIT_LIST_HEAD(>->closed_vma); in intel_gt_init_early() 35 spin_lock_init(>->closed_lock); in intel_gt_init_early() 37 init_llist_head(>->watchdog.list); in intel_gt_init_early() 38 INIT_WORK(>->watchdog.work, intel_gt_watchdog_work); in intel_gt_init_early() 40 intel_gt_init_buffer_pool(gt); in intel_gt_init_early() [all …]
|
D | intel_gt_irq.c | 24 gen11_gt_engine_identity(struct intel_gt *gt, in gen11_gt_engine_identity() argument 27 void __iomem * const regs = gt->uncore->regs; in gen11_gt_engine_identity() 31 lockdep_assert_held(>->irq_lock); in gen11_gt_engine_identity() 58 gen11_other_irq_handler(struct intel_gt *gt, const u8 instance, in gen11_other_irq_handler() argument 62 return guc_irq_handler(>->uc.guc, iir); in gen11_other_irq_handler() 65 return gen11_rps_irq_handler(>->rps, iir); in gen11_other_irq_handler() 72 gen11_engine_irq_handler(struct intel_gt *gt, const u8 class, in gen11_engine_irq_handler() argument 78 engine = gt->engine_class[class][instance]; in gen11_engine_irq_handler() 90 gen11_gt_identity_handler(struct intel_gt *gt, const u32 identity) in gen11_gt_identity_handler() argument 100 return gen11_engine_irq_handler(gt, class, instance, intr); in gen11_gt_identity_handler() [all …]
|
D | intel_reset.c | 160 static int i915_do_reset(struct intel_gt *gt, in i915_do_reset() argument 164 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in i915_do_reset() 189 static int g33_do_reset(struct intel_gt *gt, in g33_do_reset() argument 193 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in g33_do_reset() 199 static int g4x_do_reset(struct intel_gt *gt, in g4x_do_reset() argument 203 struct pci_dev *pdev = to_pci_dev(gt->i915->drm.dev); in g4x_do_reset() 204 struct intel_uncore *uncore = gt->uncore; in g4x_do_reset() 215 GT_TRACE(gt, "Wait for media reset failed\n"); in g4x_do_reset() 223 GT_TRACE(gt, "Wait for render reset failed\n"); in g4x_do_reset() 236 static int ilk_do_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask, in ilk_do_reset() argument [all …]
|
D | selftest_reset.c | 18 __igt_reset_stolen(struct intel_gt *gt, in __igt_reset_stolen() argument 22 struct i915_ggtt *ggtt = >->i915->ggtt; in __igt_reset_stolen() 23 const struct resource *dsm = >->i915->dsm; 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() 96 if (!__drm_mm_interval_first(>->i915->mm.stolen, in __igt_reset_stolen() 112 intel_gt_reset(gt, mask, NULL); in __igt_reset_stolen() 114 for_each_engine(engine, gt, id) { in __igt_reset_stolen() [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_probe_lmem(struct intel_gt *gt); 40 int intel_gt_init_mmio(struct intel_gt *gt); 41 int __must_check intel_gt_init_hw(struct intel_gt *gt); 42 int intel_gt_init(struct intel_gt *gt); 43 void intel_gt_driver_register(struct intel_gt *gt); 45 void intel_gt_driver_unregister(struct intel_gt *gt); [all …]
|
D | intel_gt_pm_irq.c | 12 static void write_pm_imr(struct intel_gt *gt) in write_pm_imr() argument 14 struct drm_i915_private *i915 = gt->i915; in write_pm_imr() 15 struct intel_uncore *uncore = gt->uncore; in write_pm_imr() 16 u32 mask = gt->pm_imr; in write_pm_imr() 31 static void gen6_gt_pm_update_irq(struct intel_gt *gt, in gen6_gt_pm_update_irq() argument 39 lockdep_assert_held(>->irq_lock); in gen6_gt_pm_update_irq() 41 new_val = gt->pm_imr; in gen6_gt_pm_update_irq() 45 if (new_val != gt->pm_imr) { in gen6_gt_pm_update_irq() 46 gt->pm_imr = new_val; in gen6_gt_pm_update_irq() 47 write_pm_imr(gt); in gen6_gt_pm_update_irq() [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_put(struct intel_gt *gt) in intel_gt_pm_put() argument 36 intel_wakeref_put(>->wakeref); in intel_gt_pm_put() [all …]
|
D | selftest_gt_pm.c | 67 struct intel_gt *gt = arg; in live_gt_clocks() local 72 if (!gt->clock_frequency) { /* unknown */ in live_gt_clocks() 77 if (GRAPHICS_VER(gt->i915) < 4) /* Any CS_TIMESTAMP? */ in live_gt_clocks() 80 if (GRAPHICS_VER(gt->i915) == 5) in live_gt_clocks() 89 if (GRAPHICS_VER(gt->i915) == 4) in live_gt_clocks() 99 intel_gt_pm_get(gt); in live_gt_clocks() 100 intel_uncore_forcewake_get(gt->uncore, FORCEWAKE_ALL); in live_gt_clocks() 102 for_each_engine(engine, gt, id) { in live_gt_clocks() 113 time = intel_gt_clock_interval_to_ns(engine->gt, cycles); in live_gt_clocks() 114 expected = intel_gt_ns_to_clock_interval(engine->gt, dt); in live_gt_clocks() [all …]
|
D | selftest_hangcheck.c | 31 struct intel_gt *gt; member 39 static int hang_init(struct hang *h, struct intel_gt *gt) in hang_init() argument 45 h->gt = gt; in hang_init() 47 h->ctx = kernel_context(gt->i915, NULL); in hang_init() 53 h->hws = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_init() 59 h->obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_init() 74 i915_coherent_map_type(gt->i915, h->obj, false)); in hang_init() 119 struct intel_gt *gt = h->gt; in hang_create_request() local 129 obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); in hang_create_request() 135 vaddr = i915_gem_object_pin_map_unlocked(obj, i915_coherent_map_type(gt->i915, obj, false)); in hang_create_request() [all …]
|
D | intel_reset.h | 21 void intel_gt_init_reset(struct intel_gt *gt); 22 void intel_gt_fini_reset(struct intel_gt *gt); 25 void intel_gt_handle_error(struct intel_gt *gt, 31 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); 53 void intel_gt_set_wedged_on_init(struct intel_gt *gt); [all …]
|
D | intel_gt_clock_utils.c | 152 void intel_gt_init_clock_frequency(struct intel_gt *gt) in intel_gt_init_clock_frequency() argument 158 gt->clock_frequency = read_clock_frequency(gt->uncore); in intel_gt_init_clock_frequency() 159 if (gt->clock_frequency) in intel_gt_init_clock_frequency() 160 gt->clock_period_ns = intel_gt_clock_interval_to_ns(gt, 1); in intel_gt_init_clock_frequency() 162 GT_TRACE(gt, in intel_gt_init_clock_frequency() 164 gt->clock_frequency / 1000, in intel_gt_init_clock_frequency() 165 gt->clock_period_ns, in intel_gt_init_clock_frequency() 166 div_u64(mul_u32_u32(gt->clock_period_ns, S32_MAX), in intel_gt_init_clock_frequency() 171 void intel_gt_check_clock_frequency(const struct intel_gt *gt) in intel_gt_check_clock_frequency() argument 173 if (gt->clock_frequency != read_clock_frequency(gt->uncore)) { in intel_gt_check_clock_frequency() [all …]
|
D | selftest_slpc.c | 42 struct intel_gt *gt = &i915->gt; in live_slpc_clamp_min() local 43 struct intel_guc_slpc *slpc = >->uc.guc.slpc; in live_slpc_clamp_min() 44 struct intel_rps *rps = >->rps; in live_slpc_clamp_min() 51 if (!intel_uc_uses_guc_slpc(>->uc)) in live_slpc_clamp_min() 54 if (igt_spinner_init(&spin, gt)) in live_slpc_clamp_min() 72 intel_gt_pm_wait_for_idle(gt); in live_slpc_clamp_min() 73 intel_gt_pm_get(gt); in live_slpc_clamp_min() 74 for_each_engine(engine, gt, id) { in live_slpc_clamp_min() 109 intel_gt_set_wedged(engine->gt); in live_slpc_clamp_min() 156 if (igt_flush_test(gt->i915)) in live_slpc_clamp_min() [all …]
|
D | selftest_rps.c | 217 struct intel_gt *gt = arg; in live_rps_clock_interval() local 218 struct intel_rps *rps = >->rps; in live_rps_clock_interval() 225 if (!intel_rps_is_enabled(rps) || GRAPHICS_VER(gt->i915) < 6) in live_rps_clock_interval() 228 if (igt_spinner_init(&spin, gt)) in live_rps_clock_interval() 231 intel_gt_pm_wait_for_idle(gt); in live_rps_clock_interval() 235 intel_gt_pm_get(gt); in live_rps_clock_interval() 236 intel_rps_disable(>->rps); in live_rps_clock_interval() 238 intel_gt_check_clock_frequency(gt); in live_rps_clock_interval() 240 for_each_engine(engine, gt, id) { in live_rps_clock_interval() 266 intel_gt_set_wedged(engine->gt); in live_rps_clock_interval() [all …]
|
D | intel_gt_requests.c | 34 static bool flush_submission(struct intel_gt *gt, long timeout) in flush_submission() argument 43 if (!intel_gt_pm_is_awake(gt)) in flush_submission() 46 for_each_engine(engine, gt, id) { in flush_submission() 133 long intel_gt_retire_requests_timeout(struct intel_gt *gt, long timeout, in intel_gt_retire_requests_timeout() argument 136 struct intel_gt_timelines *timelines = >->timelines; in intel_gt_retire_requests_timeout() 141 flush_submission(gt, timeout); /* kick the ksoftirqd tasklets */ in intel_gt_retire_requests_timeout() 196 if (flush_submission(gt, timeout)) /* Wait, there's more! */ in intel_gt_retire_requests_timeout() 207 struct intel_gt *gt = in retire_work_handler() local 208 container_of(work, typeof(*gt), requests.retire_work.work); in retire_work_handler() 210 schedule_delayed_work(>->requests.retire_work, in retire_work_handler() [all …]
|
D | intel_gt_irq.h | 23 void gen11_gt_irq_reset(struct intel_gt *gt); 24 void gen11_gt_irq_postinstall(struct intel_gt *gt); 25 void gen11_gt_irq_handler(struct intel_gt *gt, const u32 master_ctl); 27 bool gen11_gt_reset_one_iir(struct intel_gt *gt, 31 void gen5_gt_irq_handler(struct intel_gt *gt, u32 gt_iir); 33 void gen5_gt_irq_postinstall(struct intel_gt *gt); 34 void gen5_gt_irq_reset(struct intel_gt *gt); 35 void gen5_gt_disable_irq(struct intel_gt *gt, u32 mask); 36 void gen5_gt_enable_irq(struct intel_gt *gt, u32 mask); 38 void gen6_gt_irq_handler(struct intel_gt *gt, u32 gt_iir); [all …]
|
D | debugfs_gt_pm.c | 24 struct intel_gt *gt = m->private; in fw_domains_show() local 25 struct intel_uncore *uncore = gt->uncore; in fw_domains_show() 45 struct intel_gt *gt = m->private; in print_rc6_res() local 48 with_intel_runtime_pm(gt->uncore->rpm, wakeref) in print_rc6_res() 50 intel_uncore_read(gt->uncore, reg), in print_rc6_res() 51 intel_rc6_residency_us(>->rc6, reg)); in print_rc6_res() 56 struct intel_gt *gt = m->private; in vlv_drpc() local 57 struct intel_uncore *uncore = gt->uncore; in vlv_drpc() 79 struct intel_gt *gt = m->private; in gen6_drpc() local 80 struct drm_i915_private *i915 = gt->i915; in gen6_drpc() [all …]
|
D | selftest_rc6.c | 33 struct intel_gt *gt = arg; in live_rc6_manual() local 34 struct intel_rc6 *rc6 = >->rc6; in live_rc6_manual() 51 if (IS_VALLEYVIEW(gt->i915) || IS_CHERRYVIEW(gt->i915)) in live_rc6_manual() 54 has_power = librapl_supported(gt->i915); in live_rc6_manual() 55 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in live_rc6_manual() 99 intel_uncore_read_fw(gt->uncore, GEN6_RC_STATE), in live_rc6_manual() 100 intel_uncore_read_fw(gt->uncore, GEN6_RC_CONTROL), in live_rc6_manual() 121 intel_runtime_pm_put(gt->uncore->rpm, wakeref); in live_rc6_manual() 159 randomised_engines(struct intel_gt *gt, in randomised_engines() argument 168 for_each_engine(engine, gt, id) in randomised_engines() [all …]
|
D | intel_sseu_debugfs.c | 19 static void cherryview_sseu_device_status(struct intel_gt *gt, in cherryview_sseu_device_status() argument 23 struct intel_uncore *uncore = gt->uncore; in cherryview_sseu_device_status() 53 static void gen11_sseu_device_status(struct intel_gt *gt, in gen11_sseu_device_status() argument 57 struct intel_uncore *uncore = gt->uncore; in gen11_sseu_device_status() 58 const struct intel_gt_info *info = >->info; in gen11_sseu_device_status() 113 static void gen9_sseu_device_status(struct intel_gt *gt, in gen9_sseu_device_status() argument 117 struct intel_uncore *uncore = gt->uncore; in gen9_sseu_device_status() 118 const struct intel_gt_info *info = >->info; in gen9_sseu_device_status() 146 if (IS_GEN9_BC(gt->i915)) in gen9_sseu_device_status() 155 if (IS_GEN9_LP(gt->i915)) { in gen9_sseu_device_status() [all …]
|
/drivers/gpu/drm/i915/ |
D | Makefile | 80 gt-y += \ 81 gt/debugfs_engines.o \ 82 gt/debugfs_gt.o \ 83 gt/debugfs_gt_pm.o \ 84 gt/gen2_engine_cs.o \ 85 gt/gen6_engine_cs.o \ 86 gt/gen6_ppgtt.o \ 87 gt/gen7_renderclear.o \ 88 gt/gen8_engine_cs.o \ 89 gt/gen8_ppgtt.o \ [all …]
|
D | i915_gpu_error.c | 431 const struct sseu_dev_info *sseu = &ee->engine->gt->info.sseu; in error_print_instdone() 487 const u32 period = m->i915->gt.clock_period_ns; in error_print_context() 683 struct intel_gt_coredump *gt) in err_print_gt_info() argument 687 intel_gt_info_print(>->info, &p); in err_print_gt_info() 688 intel_sseu_print_topology(>->info.sseu, &p); in err_print_gt_info() 692 struct intel_gt_coredump *gt) in err_print_gt() argument 697 err_printf(m, "GT awake: %s\n", yesno(gt->awake)); in err_print_gt() 698 err_printf(m, "EIR: 0x%08x\n", gt->eir); in err_print_gt() 699 err_printf(m, "IER: 0x%08x\n", gt->ier); in err_print_gt() 700 for (i = 0; i < gt->ngtier; i++) in err_print_gt() [all …]
|
/drivers/gpu/drm/gma500/ |
D | gtt.c | 146 static int psb_gtt_attach_pages(struct gtt_range *gt) in psb_gtt_attach_pages() argument 150 WARN_ON(gt->pages); in psb_gtt_attach_pages() 152 pages = drm_gem_get_pages(>->gem); in psb_gtt_attach_pages() 156 gt->npage = gt->gem.size / PAGE_SIZE; in psb_gtt_attach_pages() 157 gt->pages = pages; in psb_gtt_attach_pages() 171 static void psb_gtt_detach_pages(struct gtt_range *gt) in psb_gtt_detach_pages() argument 173 drm_gem_put_pages(>->gem, gt->pages, true, false); in psb_gtt_detach_pages() 174 gt->pages = NULL; in psb_gtt_detach_pages() 187 int psb_gtt_pin(struct gtt_range *gt) in psb_gtt_pin() argument 190 struct drm_device *dev = gt->gem.dev; in psb_gtt_pin() [all …]
|
/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, 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, id) in igt_global_reset_unlock() [all …]
|
/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 …]
|
/drivers/gpu/drm/i915/gt/uc/ |
D | intel_guc.c | 38 struct intel_gt *gt = guc_to_gt(guc); in intel_guc_notify() local 46 intel_uncore_write(gt->uncore, guc->notify_reg, GUC_SEND_TRIGGER); in intel_guc_notify() 60 struct intel_gt *gt = guc_to_gt(guc); in intel_guc_init_send_regs() local 68 fw_domains |= intel_uncore_forcewake_for_reg(gt->uncore, in intel_guc_init_send_regs() 77 struct intel_gt *gt = guc_to_gt(guc); in gen9_reset_guc_interrupts() local 79 assert_rpm_wakelock_held(>->i915->runtime_pm); in gen9_reset_guc_interrupts() 81 spin_lock_irq(>->irq_lock); in gen9_reset_guc_interrupts() 82 gen6_gt_pm_reset_iir(gt, gt->pm_guc_events); in gen9_reset_guc_interrupts() 83 spin_unlock_irq(>->irq_lock); in gen9_reset_guc_interrupts() 88 struct intel_gt *gt = guc_to_gt(guc); in gen9_enable_guc_interrupts() local [all …]
|