Merge drm/drm-next into drm-intel-gt-next
[linux-block.git] / drivers / gpu / drm / i915 / gt / uc / intel_guc_submission.c
index 0a42f1807f52c3293254634eb14b20a778dbf4cf..fe06c93cf6e3c0afdb7ea6e930dcfda18642ddd1 100644 (file)
@@ -1890,7 +1890,7 @@ int intel_guc_submission_init(struct intel_guc *guc)
        if (guc->submission_initialized)
                return 0;
 
-       if (GET_UC_VER(guc) < MAKE_UC_VER(70, 0, 0)) {
+       if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 0, 0)) {
                ret = guc_lrc_desc_pool_create_v69(guc);
                if (ret)
                        return ret;
@@ -2330,7 +2330,7 @@ static int register_context(struct intel_context *ce, bool loop)
        GEM_BUG_ON(intel_context_is_child(ce));
        trace_intel_context_register(ce);
 
-       if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0))
+       if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0))
                ret = register_context_v70(guc, ce, loop);
        else
                ret = register_context_v69(guc, ce, loop);
@@ -2342,7 +2342,7 @@ static int register_context(struct intel_context *ce, bool loop)
                set_context_registered(ce);
                spin_unlock_irqrestore(&ce->guc_state.lock, flags);
 
-               if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0))
+               if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0))
                        guc_context_policy_init_v70(ce, loop);
        }
 
@@ -2534,6 +2534,7 @@ static void prepare_context_registration_info_v69(struct intel_context *ce)
                   i915_gem_object_is_lmem(ce->ring->vma->obj));
 
        desc = __get_lrc_desc_v69(guc, ctx_id);
+       GEM_BUG_ON(!desc);
        desc->engine_class = engine_class_to_guc_class(engine->class);
        desc->engine_submit_mask = engine->logical_mask;
        desc->hw_context_desc = ce->lrc.lrca;
@@ -2956,7 +2957,7 @@ static void __guc_context_set_preemption_timeout(struct intel_guc *guc,
                                                 u16 guc_id,
                                                 u32 preemption_timeout)
 {
-       if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) {
+       if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) {
                struct context_policy policy;
 
                __guc_context_policy_start_klv(&policy, guc_id);
@@ -3283,7 +3284,7 @@ static int guc_context_alloc(struct intel_context *ce)
 static void __guc_context_set_prio(struct intel_guc *guc,
                                   struct intel_context *ce)
 {
-       if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) {
+       if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) {
                struct context_policy policy;
 
                __guc_context_policy_start_klv(&policy, ce->guc_id.id);
@@ -4366,7 +4367,7 @@ static int guc_init_global_schedule_policy(struct intel_guc *guc)
        intel_wakeref_t wakeref;
        int ret = 0;
 
-       if (GET_UC_VER(guc) < MAKE_UC_VER(70, 3, 0))
+       if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 1, 0))
                return 0;
 
        __guc_scheduling_policy_start_klv(&policy);
@@ -4905,6 +4906,9 @@ void intel_guc_submission_print_info(struct intel_guc *guc,
        if (!sched_engine)
                return;
 
+       drm_printf(p, "GuC Submission API Version: %d.%d.%d\n",
+                  guc->submission_version.major, guc->submission_version.minor,
+                  guc->submission_version.patch);
        drm_printf(p, "GuC Number Outstanding Submission G2H: %u\n",
                   atomic_read(&guc->outstanding_submission_g2h));
        drm_printf(p, "GuC tasklet count: %u\n",