/Linux-v4.19/drivers/gpu/drm/i915/ |
D | intel_guc.c | 30 static void guc_init_ggtt_pin_bias(struct intel_guc *guc); 32 static void gen8_guc_raise_irq(struct intel_guc *guc) in gen8_guc_raise_irq() argument 34 struct drm_i915_private *dev_priv = guc_to_i915(guc); in gen8_guc_raise_irq() 39 static inline i915_reg_t guc_send_reg(struct intel_guc *guc, u32 i) in guc_send_reg() argument 41 GEM_BUG_ON(!guc->send_regs.base); in guc_send_reg() 42 GEM_BUG_ON(!guc->send_regs.count); in guc_send_reg() 43 GEM_BUG_ON(i >= guc->send_regs.count); in guc_send_reg() 45 return _MMIO(guc->send_regs.base + 4 * i); in guc_send_reg() 48 void intel_guc_init_send_regs(struct intel_guc *guc) in intel_guc_init_send_regs() argument 50 struct drm_i915_private *dev_priv = guc_to_i915(guc); in intel_guc_init_send_regs() [all …]
|
D | intel_guc.h | 91 int (*send)(struct intel_guc *guc, const u32 *data, u32 len, 95 void (*handler)(struct intel_guc *guc); 98 void (*notify)(struct intel_guc *guc); 102 inline int intel_guc_send(struct intel_guc *guc, const u32 *action, u32 len) in intel_guc_send() argument 104 return guc->send(guc, action, len, NULL, 0); in intel_guc_send() 108 intel_guc_send_and_receive(struct intel_guc *guc, const u32 *action, u32 len, in intel_guc_send_and_receive() argument 111 return guc->send(guc, action, len, response_buf, response_buf_size); in intel_guc_send_and_receive() 114 static inline void intel_guc_notify(struct intel_guc *guc) in intel_guc_notify() argument 116 guc->notify(guc); in intel_guc_notify() 119 static inline void intel_guc_to_host_event_handler(struct intel_guc *guc) in intel_guc_to_host_event_handler() argument [all …]
|
D | intel_uc.c | 30 static void guc_free_load_err_log(struct intel_guc *guc); 55 struct intel_uc_fw *guc_fw = &i915->guc.fw; in __get_platform_enable_guc() 106 struct intel_uc_fw *guc_fw = &i915->guc.fw; in sanitize_options_early() 167 struct intel_guc *guc = &i915->guc; in intel_uc_init_early() local 170 intel_guc_init_early(guc); in intel_uc_init_early() 178 struct intel_guc *guc = &i915->guc; in intel_uc_cleanup_early() local 180 guc_free_load_err_log(guc); in intel_uc_cleanup_early() 192 intel_guc_init_send_regs(&i915->guc); in intel_uc_init_mmio() 195 static void guc_capture_load_err_log(struct intel_guc *guc) in guc_capture_load_err_log() argument 197 if (!guc->log.vma || !intel_guc_log_get_level(&guc->log)) in guc_capture_load_err_log() [all …]
|
D | intel_guc_submission.c | 115 id = find_next_zero_bit(client->guc->doorbell_bitmap, end, offset); in reserve_doorbell() 119 __set_bit(id, client->guc->doorbell_bitmap); in reserve_doorbell() 132 return test_bit(client->doorbell_id, client->guc->doorbell_bitmap); in has_doorbell() 139 __clear_bit(client->doorbell_id, client->guc->doorbell_bitmap); in unreserve_doorbell() 147 static int __guc_allocate_doorbell(struct intel_guc *guc, u32 stage_id) in __guc_allocate_doorbell() argument 154 return intel_guc_send(guc, action, ARRAY_SIZE(action)); in __guc_allocate_doorbell() 157 static int __guc_deallocate_doorbell(struct intel_guc *guc, u32 stage_id) in __guc_deallocate_doorbell() argument 164 return intel_guc_send(guc, action, ARRAY_SIZE(action)); in __guc_deallocate_doorbell() 169 struct guc_stage_desc *base = client->guc->stage_desc_pool_vaddr; in __get_stage_desc() 206 struct drm_i915_private *dev_priv = guc_to_i915(client->guc); in __destroy_doorbell() [all …]
|
D | intel_guc_fw.c | 56 struct intel_guc *guc = container_of(guc_fw, struct intel_guc, fw); in guc_fw_select() local 57 struct drm_i915_private *dev_priv = guc_to_i915(guc); in guc_fw_select() 92 void intel_guc_fw_init_early(struct intel_guc *guc) in intel_guc_fw_init_early() argument 94 struct intel_uc_fw *guc_fw = &guc->fw; in intel_guc_fw_init_early() 100 static void guc_prepare_xfer(struct intel_guc *guc) in guc_prepare_xfer() argument 102 struct drm_i915_private *dev_priv = guc_to_i915(guc); in guc_prepare_xfer() 128 static int guc_xfer_rsa(struct intel_guc *guc, struct i915_vma *vma) in guc_xfer_rsa() argument 130 struct drm_i915_private *dev_priv = guc_to_i915(guc); in guc_xfer_rsa() 131 struct intel_uc_fw *guc_fw = &guc->fw; in guc_xfer_rsa() 153 static int guc_xfer_ucode(struct intel_guc *guc, struct i915_vma *vma) in guc_xfer_ucode() argument [all …]
|
D | intel_guc_submission.h | 59 struct intel_guc *guc; member 76 int intel_guc_submission_init(struct intel_guc *guc); 77 int intel_guc_submission_enable(struct intel_guc *guc); 78 void intel_guc_submission_disable(struct intel_guc *guc); 79 void intel_guc_submission_fini(struct intel_guc *guc); 80 int intel_guc_preempt_work_create(struct intel_guc *guc); 81 void intel_guc_preempt_work_destroy(struct intel_guc *guc);
|
D | intel_guc_ct.c | 104 static int guc_action_register_ct_buffer(struct intel_guc *guc, in guc_action_register_ct_buffer() argument 117 err = intel_guc_send_mmio(guc, action, ARRAY_SIZE(action), NULL, 0); in guc_action_register_ct_buffer() 124 static int guc_action_deregister_ct_buffer(struct intel_guc *guc, in guc_action_deregister_ct_buffer() argument 136 err = intel_guc_send_mmio(guc, action, ARRAY_SIZE(action), NULL, 0); in guc_action_deregister_ct_buffer() 148 static int ctch_init(struct intel_guc *guc, in ctch_init() argument 181 vma = intel_guc_allocate_vma(guc, PAGE_SIZE); in ctch_init() 195 intel_guc_ggtt_offset(guc, ctch->vma)); in ctch_init() 214 static void ctch_fini(struct intel_guc *guc, in ctch_fini() argument 223 static int ctch_open(struct intel_guc *guc, in ctch_open() argument 234 err = ctch_init(guc, ctch); in ctch_open() [all …]
|
D | intel_guc_log.c | 41 static int guc_action_flush_log_complete(struct intel_guc *guc) in guc_action_flush_log_complete() argument 47 return intel_guc_send(guc, action, ARRAY_SIZE(action)); in guc_action_flush_log_complete() 50 static int guc_action_flush_log(struct intel_guc *guc) in guc_action_flush_log() argument 57 return intel_guc_send(guc, action, ARRAY_SIZE(action)); in guc_action_flush_log() 60 static int guc_action_control_log(struct intel_guc *guc, bool enable, in guc_action_control_log() argument 72 return intel_guc_send(guc, action, ARRAY_SIZE(action)); in guc_action_control_log() 343 struct intel_guc *guc = log_to_guc(log); in guc_log_map() local 344 struct drm_i915_private *dev_priv = guc_to_i915(guc); in guc_log_map() 391 struct intel_guc *guc = log_to_guc(log); in guc_log_relay_create() local 392 struct drm_i915_private *dev_priv = guc_to_i915(guc); in guc_log_relay_create() [all …]
|
D | intel_guc_ads.c | 75 int intel_guc_ads_create(struct intel_guc *guc) in intel_guc_ads_create() argument 77 struct drm_i915_private *dev_priv = guc_to_i915(guc); in intel_guc_ads_create() 93 GEM_BUG_ON(guc->ads_vma); in intel_guc_ads_create() 95 vma = intel_guc_allocate_vma(guc, PAGE_ALIGN(sizeof(*blob))); in intel_guc_ads_create() 99 guc->ads_vma = vma; in intel_guc_ads_create() 127 intel_guc_ggtt_offset(guc, kernel_ctx_vma) + skipped_offset; in intel_guc_ads_create() 139 base = intel_guc_ggtt_offset(guc, vma); in intel_guc_ads_create() 149 void intel_guc_ads_destroy(struct intel_guc *guc) in intel_guc_ads_destroy() argument 151 i915_vma_unpin_and_release(&guc->ads_vma); in intel_guc_ads_destroy()
|
D | intel_huc.c | 57 struct intel_guc *guc = &i915->guc; in intel_huc_auth() local 66 PIN_OFFSET_BIAS | guc->ggtt_pin_bias); in intel_huc_auth() 73 ret = intel_guc_auth_huc(guc, in intel_huc_auth() 74 intel_guc_ggtt_offset(guc, vma) + in intel_huc_auth()
|
D | intel_wopcm.c | 158 u32 guc_fw_size = intel_uc_fw_get_upload_size(&i915->guc.fw); in intel_wopcm_init() 207 wopcm->guc.base = guc_wopcm_base; in intel_wopcm_init() 208 wopcm->guc.size = guc_wopcm_size; in intel_wopcm_init() 249 GEM_BUG_ON(!wopcm->guc.size); in intel_wopcm_init_hw() 250 GEM_BUG_ON(!wopcm->guc.base); in intel_wopcm_init_hw() 252 err = write_and_verify(dev_priv, GUC_WOPCM_SIZE, wopcm->guc.size, in intel_wopcm_init_hw() 261 wopcm->guc.base | huc_agent, mask, in intel_wopcm_init_hw()
|
D | intel_guc_fw.h | 30 void intel_guc_fw_init_early(struct intel_guc *guc); 31 int intel_guc_fw_upload(struct intel_guc *guc);
|
D | intel_guc_ads.h | 30 int intel_guc_ads_create(struct intel_guc *guc); 31 void intel_guc_ads_destroy(struct intel_guc *guc);
|
D | intel_uc_fw.c | 125 uc_fw->major_ver_found = css->guc.sw_version >> 16; in intel_uc_fw_fetch() 126 uc_fw->minor_ver_found = css->guc.sw_version & 0xFFFF; in intel_uc_fw_fetch() 225 ggtt_pin_bias = to_i915(uc_fw->obj->base.dev)->guc.ggtt_pin_bias; in intel_uc_fw_upload()
|
D | intel_wopcm.h | 24 } guc; member
|
D | i915_debugfs.c | 2321 intel_uc_fw_dump(&dev_priv->guc.fw, &p); in i915_guc_load_status_info() 2363 struct intel_guc_log *log = &dev_priv->guc.log; in i915_guc_log_info() 2409 const struct intel_guc *guc = &dev_priv->guc; in i915_guc_info() local 2419 GEM_BUG_ON(!guc->execbuf_client); in i915_guc_info() 2422 seq_printf(m, "\t%*pb\n", GUC_NUM_DOORBELLS, guc->doorbell_bitmap); in i915_guc_info() 2423 seq_printf(m, "Doorbell next cacheline: 0x%x\n", guc->db_cacheline); in i915_guc_info() 2425 seq_printf(m, "\nGuC execbuf client @ %p:\n", guc->execbuf_client); in i915_guc_info() 2426 i915_guc_client_info(m, dev_priv, guc->execbuf_client); in i915_guc_info() 2427 if (guc->preempt_client) { in i915_guc_info() 2429 guc->preempt_client); in i915_guc_info() [all …]
|
D | intel_huc_fw.c | 121 offset = intel_guc_ggtt_offset(&dev_priv->guc, vma) + in huc_fw_xfer()
|
D | intel_guc_fwif.h | 210 } guc; member
|
D | i915_drv.h | 1602 struct intel_guc guc; member 2141 static inline struct drm_i915_private *guc_to_i915(struct intel_guc *guc) in guc_to_i915() argument 2143 return container_of(guc, struct drm_i915_private, guc); in guc_to_i915() 2722 extern int intel_guc_reset_engine(struct intel_guc *guc,
|
D | i915_drv.c | 2047 if (!engine->i915->guc.execbuf_client) in i915_reset_engine() 2050 ret = intel_guc_reset_engine(&engine->i915->guc, engine); in i915_reset_engine() 2054 engine->i915->guc.execbuf_client ? "GuC " : "", in i915_reset_engine()
|
D | i915_gpu_error.c | 1610 error_uc->guc_fw = i915->guc.fw; in capture_uc_state() 1617 error_uc->guc_fw.path = kstrdup(i915->guc.fw.path, GFP_ATOMIC); in capture_uc_state() 1619 error_uc->guc_log = i915_error_object_create(i915, i915->guc.log.vma); in capture_uc_state()
|
D | i915_gem_context.c | 338 ctx->ggtt_offset_bias = dev_priv->guc.ggtt_pin_bias; in __create_hw_context()
|
D | i915_irq.c | 550 if (!dev_priv->guc.interrupts_enabled) { in gen9_enable_guc_interrupts() 553 dev_priv->guc.interrupts_enabled = true; in gen9_enable_guc_interrupts() 564 dev_priv->guc.interrupts_enabled = false; in gen9_disable_guc_interrupts() 1861 intel_guc_to_host_event_handler(&dev_priv->guc); in gen9_guc_irq_handler()
|
/Linux-v4.19/drivers/gpu/drm/i915/selftests/ |
D | intel_guc.c | 32 static bool available_dbs(struct intel_guc *guc, u32 priority) in available_dbs() argument 46 id = find_next_zero_bit(guc->doorbell_bitmap, end, offset); in available_dbs() 53 static int check_all_doorbells(struct intel_guc *guc) in check_all_doorbells() argument 59 if (!doorbell_ok(guc, db_id)) { in check_all_doorbells() 75 struct drm_i915_private *dev_priv = guc_to_i915(client->guc); in validate_client() 90 return !client || doorbell_ok(client->guc, client->doorbell_id); in client_doorbell_in_sync() 106 struct intel_guc *guc; in igt_guc_clients() local 112 guc = &dev_priv->guc; in igt_guc_clients() 113 if (!guc) { in igt_guc_clients() 119 err = check_all_doorbells(guc); in igt_guc_clients() [all …]
|
D | i915_live_selftests.h | 25 selftest(guc, intel_guc_live_selftest)
|