HomeSort by: relevance | last modified time | path
    Searched refs:guc (Results 1 - 22 of 22) sorted by relevancy

  /src/sys/external/bsd/drm2/dist/drm/i915/gt/uc/
intel_guc_submission.h 16 void intel_guc_submission_init_early(struct intel_guc *guc);
17 int intel_guc_submission_init(struct intel_guc *guc);
18 void intel_guc_submission_enable(struct intel_guc *guc);
19 void intel_guc_submission_disable(struct intel_guc *guc);
20 void intel_guc_submission_fini(struct intel_guc *guc);
21 int intel_guc_preempt_work_create(struct intel_guc *guc);
22 void intel_guc_preempt_work_destroy(struct intel_guc *guc);
intel_guc_ads.h 13 int intel_guc_ads_create(struct intel_guc *guc);
14 void intel_guc_ads_destroy(struct intel_guc *guc);
15 void intel_guc_ads_reset(struct intel_guc *guc);
intel_guc_fw.h 13 void intel_guc_fw_init_early(struct intel_guc *guc);
14 int intel_guc_fw_upload(struct intel_guc *guc);
intel_guc.h 24 * Top level structure of GuC. It handles firmware loading and manages client
39 void (*reset)(struct intel_guc *guc);
40 void (*enable)(struct intel_guc *guc);
41 void (*disable)(struct intel_guc *guc);
62 /* GuC's FW specific registers used in MMIO send */
69 /* register used to send interrupts to the GuC FW */
80 inline int intel_guc_send(struct intel_guc *guc, const u32 *action, u32 len)
82 return intel_guc_ct_send(&guc->ct, action, len, NULL, 0);
86 intel_guc_send_and_receive(struct intel_guc *guc, const u32 *action, u32 len,
89 return intel_guc_ct_send(&guc->ct, action, len
    [all...]
intel_guc.c 22 * DOC: GuC
24 * The GuC is a microcontroller inside the GT HW, introduced in gen9. The GuC is
29 * - Low latency graphics context scheduling (a.k.a. GuC submission).
33 * operations to enable within GuC. Note that not all the operations are
36 * Enabling the GuC is not mandatory and therefore the firmware is only loaded
37 * if at least one of the operations is selected. However, not loading the GuC
38 * might result in the loss of some features that do require the GuC (currently
42 void intel_guc_notify(struct intel_guc *guc)
44 struct intel_gt *gt = guc_to_gt(guc);
    [all...]
intel_uc.c 23 /* Reset GuC providing us with fresh state for both GuC and HuC.
37 DRM_ERROR("Failed to reset GuC, ret = %d\n", ret);
43 "GuC status: 0x%x, MIA core expected to be in reset\n",
54 "enable_guc=%d (guc:%s submission:%s huc:%s)\n",
73 i915_modparams.enable_guc, "GuC is not supported!");
85 i915_modparams.enable_guc, "GuC submission is N/A");
96 intel_guc_init_early(&uc->guc);
120 intel_guc_init_send_regs(&uc->guc);
125 struct intel_guc *guc = &uc->guc local
283 struct intel_guc *guc = &uc->guc; local
312 struct intel_guc *guc = &uc->guc; local
405 struct intel_guc *guc = &uc->guc; local
511 struct intel_guc *guc = &uc->guc; local
533 struct intel_guc *guc = &uc->guc; local
544 struct intel_guc *guc = &uc->guc; local
559 struct intel_guc *guc = &uc->guc; local
571 struct intel_guc *guc = &uc->guc; local
    [all...]
intel_guc_submission.c 27 * DOC: GuC-based command submission
29 * IMPORTANT NOTE: GuC submission is currently not supported in i915. The GuC
35 * GuC stage descriptor:
37 * descriptors, and shares them with the GuC. Currently, we only use one
38 * descriptor. This stage descriptor lets the GuC know about the workqueue and
39 * process descriptor. Theoretically, it also lets the GuC know about our HW
41 * where the GuC uses the LRCA sent via the work item instead. This is called
47 * triggers an interrupt on the GuC via another register write (0xC4C8).
55 * WQ_TYPE_INORDER is needed to support legacy submission via GuC, whic
250 struct intel_guc *guc = &engine->gt->uc.guc; local
    [all...]
intel_guc_ads.c 18 * the GuC. One single gem object contains the ADS struct itself (guc_ads), the
20 * register sets (guc_mmio_reg_state) and some extra pages for the GuC to save
62 /* The ads obj includes the struct itself and buffers passed to GuC */
73 static void __guc_ads_init(struct intel_guc *guc)
75 struct drm_i915_private *dev_priv = guc_to_gt(guc)->i915;
76 struct __guc_ads_blob *blob = guc->ads_blob;
81 /* GuC scheduling policies */
85 * GuC expects a per-engine-class context image and size
89 * we have told GuC where to find it. The context size will be used
97 * GuC to re-init guilty contexts after internal reset
    [all...]
intel_guc_fw.c 22 * intel_guc_fw_init_early() - initializes GuC firmware struct
23 * @guc: intel_guc struct
25 * On platforms with GuC selects firmware for uploading
27 void intel_guc_fw_init_early(struct intel_guc *guc)
29 struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
31 intel_uc_fw_init_early(&guc->fw, INTEL_UC_FW_TYPE_GUC, HAS_GT_UC(i915),
53 /* DOP Clock Gating Enable for GuC clocks */
78 * Read the GuC status register (GUC_STATUS) and store it in the
81 * of the GuC boot process.
83 * This is used for polling the GuC status in a wait_for(
    [all...]
intel_uc.h 29 struct intel_guc guc; member in struct:intel_uc
32 /* Snapshot of GuC log from last failed load */
47 return intel_guc_is_supported(&uc->guc);
52 return intel_guc_is_enabled(&uc->guc);
57 return intel_guc_is_submission_supported(&uc->guc);
62 return intel_guc_is_submission_supported(&uc->guc);
intel_guc_log.c 21 * DOC: GuC firmware log
29 static int guc_action_flush_log_complete(struct intel_guc *guc)
35 return intel_guc_send(guc, action, ARRAY_SIZE(action));
38 static int guc_action_flush_log(struct intel_guc *guc)
45 return intel_guc_send(guc, action, ARRAY_SIZE(action));
48 static int guc_action_control_log(struct intel_guc *guc, bool enable,
60 return intel_guc_send(guc, action, ARRAY_SIZE(action));
201 "GuC log buffer overflow\n");
237 /* Get the pointer to shared GuC log buffer */
260 * Make a copy of the state structure, inside GuC log buffe
374 struct intel_guc *guc = log_to_guc(log); local
421 struct intel_guc *guc = log_to_guc(log); local
460 struct intel_guc *guc = log_to_guc(log); local
518 struct intel_guc *guc = log_to_guc(log); local
626 struct intel_guc *guc = log_to_guc(log); local
652 struct intel_guc *guc = log_to_guc(log); local
    [all...]
intel_huc.c 25 * triggering its security authentication, which is performed by the GuC. For
26 * The GuC to correctly perform the authentication, the HuC binary must be
27 * loaded before the GuC one. Loading the HuC is optional; however, not using
38 * Similarly to the GuC, the HuC can't do any memory allocations on its own,
65 struct intel_guc *guc = &gt->uc.guc; local
77 * through GTT. Unfortunately, this means GuC cannot perform
78 * the HuC auth. as the rsa offset now falls within the GuC
81 * signature. The GuC can use this extra pinning to perform
82 * the authentication since its GGTT offset will be GuC
161 struct intel_guc *guc = &gt->uc.guc; local
    [all...]
intel_guc_ct.c 87 static int guc_action_register_ct_buffer(struct intel_guc *guc,
100 err = intel_guc_send_mmio(guc, action, ARRAY_SIZE(action), NULL, 0);
107 static int guc_action_deregister_ct_buffer(struct intel_guc *guc,
118 err = intel_guc_send_mmio(guc, action, ARRAY_SIZE(action), NULL, 0);
135 struct intel_guc *guc = ct_to_guc(ct); local
164 err = intel_guc_allocate_and_map_vma(guc, PAGE_SIZE, &ct->vma, &blob);
171 intel_guc_ggtt_offset(guc, ct->vma));
205 struct intel_guc *guc = ct_to_guc(ct); local
214 base = intel_guc_ggtt_offset(guc, ct->vma);
229 err = guc_action_register_ct_buffer(guc,
259 struct intel_guc *guc = ct_to_guc(ct); local
548 struct intel_guc *guc = ct_to_guc(ct); local
719 struct intel_guc *guc = ct_to_guc(ct); local
    [all...]
intel_uc_fw.c 23 return container_of(uc_fw, struct intel_gt, uc.guc.fw);
43 * List of required GuC and HuC binaries per-platform.
152 /* We don't want to enable GuC/HuC on pre-Gen11 by default */
  /src/sys/external/bsd/drm2/dist/drm/i915/
intel_wopcm.h 17 * @guc: GuC WOPCM Region info.
18 * @guc.base: GuC WOPCM base which is offset from WOPCM base.
19 * @guc.size: Size of the GuC WOPCM region.
26 } guc; member in struct:intel_wopcm
36 * 0 if GuC is not present or not in use.
37 * Otherwise, the GuC WOPCM base.
41 return wopcm->guc.base
    [all...]
intel_wopcm.c 19 * The layout of the WOPCM will be fixed after writing to GuC WOPCM size and
20 * offset registers whose values are calculated and determined by HuC/GuC
27 * | +===> +====================+ <== GuC WOPCM Top
31 * | GuC | |
34 * WOPCM | | GuC FW RSVD |
36 * | | | GuC Stack RSVD |
38 * | v | GuC WOPCM RSVD |
39 * | +===> +====================+ <== GuC WOPCM base
45 * GuC accessible WOPCM starts at GuC WOPCM base and ends at GuC WOPCM top
    [all...]
i915_debugfs.c 517 seq_printf(m, "GUC/SG Intr Enable:\t %08x\n",
642 seq_printf(m, "GUC/SG Intr Mask:\t %08x\n",
1720 intel_uc_fw_dump(&dev_priv->gt.uc.guc.fw, &p);
1763 struct intel_guc_log *log = &dev_priv->gt.uc.guc.log;
1767 seq_puts(m, "GuC log relay not created\n");
1771 seq_puts(m, "GuC logging stats:\n");
1801 const struct intel_guc *guc = &dev_priv->gt.uc.guc; local
1802 struct guc_stage_desc *desc = guc->stage_desc_pool_vaddr;
1814 seq_printf(m, "GuC stage descriptor %u:\n", index)
1918 struct intel_guc *guc = &i915->gt.uc.guc; local
1958 struct intel_guc *guc = &i915->gt.uc.guc; local
    [all...]
i915_gpu_error.c 1516 memcpy(&error_uc->guc_fw, &uc->guc.fw, sizeof(uc->guc.fw));
1523 error_uc->guc_fw.path = kstrdup(uc->guc.fw.path, ALLOW_FAIL);
1527 uc->guc.log.vma, "GuC log buffer",
i915_drv.h 1760 /* Having GuC is not the same as using GuC */
2096 static inline bool intel_guc_submission_is_enabled(struct intel_guc *guc)
2098 return intel_guc_is_submission_supported(guc) &&
2099 intel_guc_is_running(guc);
  /src/sys/external/bsd/drm2/dist/drm/i915/gt/
intel_gt.h 28 static inline struct intel_gt *guc_to_gt(struct intel_guc *guc)
30 return container_of(guc, struct intel_gt, uc.guc);
intel_gt_irq.c 21 static void guc_irq_handler(struct intel_guc *guc, u16 iir)
24 intel_guc_to_host_event_handler(guc);
82 return guc_irq_handler(&gt->uc.guc, iir);
242 /* Same thing for GuC interrupts */
342 guc_irq_handler(&gt->uc.guc, gt_iir[2] >> 16);
384 * is enabled/disabled. Same wil be the case for GuC interrupts.
intel_reset.c 1143 ret = intel_guc_reset_engine(&engine->gt->uc.guc, engine);
1147 uses_guc ? "GuC " : "",

Completed in 51 milliseconds