All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: intel-xe@lists.freedesktop.org
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Subject: [PATCH v3 resend 6/8] drm/xe/sriov: Move VF bootstrap and query_config to vf_guc_init
Date: Tue, 29 Oct 2024 16:00:03 +0100	[thread overview]
Message-ID: <20241029150005.68440-7-maarten.lankhorst@linux.intel.com> (raw)
In-Reply-To: <20241029150005.68440-1-maarten.lankhorst@linux.intel.com>

We want to split up GUC init to an alloc and noalloc part to keep the
init path the same for VF and !VF as much as possible.

Everything in vf_guc_init should be done as early as possible, otherwise
VRAM probing becomes impossible.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c |  1 -
 drivers/gpu/drm/xe/xe_guc.c         | 17 +++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
index d3baba50f0851..521aaa3631f06 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
@@ -885,7 +885,6 @@ u32 xe_gt_sriov_vf_read32(struct xe_gt *gt, struct xe_reg reg)
 	struct vf_runtime_reg *rr;
 
 	xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
-	xe_gt_assert(gt, gt->sriov.vf.pf_version.major);
 	xe_gt_assert(gt, !reg.vf);
 
 	if (reg.addr == GMD_ID.addr) {
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 76437d42b8a1e..2a368509d36c7 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -301,6 +301,7 @@ static int xe_guc_realloc_post_hwconfig(struct xe_guc *guc)
 
 static int vf_guc_init(struct xe_guc *guc)
 {
+	struct xe_gt *gt = guc_to_gt(guc);
 	int err;
 
 	xe_guc_comm_init_early(guc);
@@ -313,6 +314,14 @@ static int vf_guc_init(struct xe_guc *guc)
 	if (err)
 		return err;
 
+	err = xe_gt_sriov_vf_bootstrap(gt);
+	if (err)
+		return err;
+
+	err = xe_gt_sriov_vf_query_config(gt);
+	if (err)
+		return err;
+
 	return 0;
 }
 
@@ -753,14 +762,6 @@ static int vf_guc_min_load_for_hwconfig(struct xe_guc *guc)
 	struct xe_gt *gt = guc_to_gt(guc);
 	int ret;
 
-	ret = xe_gt_sriov_vf_bootstrap(gt);
-	if (ret)
-		return ret;
-
-	ret = xe_gt_sriov_vf_query_config(gt);
-	if (ret)
-		return ret;
-
 	ret = xe_guc_hwconfig_init(guc);
 	if (ret)
 		return ret;
-- 
2.45.2


  parent reply	other threads:[~2024-10-29 15:00 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-29 14:59 [PATCH v3 resend 0/8] (CI) drm/xe: Fix initial framebuffer handover Maarten Lankhorst
2024-10-29 14:59 ` [PATCH v3 resend 1/8] drm/xe: Remove double pageflip Maarten Lankhorst
2024-10-29 14:59 ` [PATCH v3 resend 2/8] drm/i915/display: Use async flip when available for initial plane config Maarten Lankhorst
2024-10-29 19:08   ` Ville Syrjälä
2024-10-29 15:00 ` [PATCH v3 resend 3/8] drm/xe: Move suballocator init to after display init Maarten Lankhorst
2024-10-29 15:00 ` [PATCH v3 resend 4/8] drm/xe: Defer irq init until after xe_display_init_noaccel Maarten Lankhorst
2024-10-29 15:00 ` [PATCH v3 resend 5/8] drm/xe/display: Use a single early init call for display Maarten Lankhorst
2024-10-30  8:45   ` [PATCH v3.1 resend] " Maarten Lankhorst
2024-10-29 15:00 ` Maarten Lankhorst [this message]
2024-10-29 15:00 ` [PATCH v3 resend 7/8] drm/xe: Simplify GuC early initialisation Maarten Lankhorst
2024-10-30 11:27   ` [PATCH v3.1 resend] " Maarten Lankhorst
2024-10-29 15:00 ` [PATCH v3 resend 8/8] drm/xe: Split init of xe_gt_init_hwconfig to xe_gt_init and *_early Maarten Lankhorst
2024-10-29 18:07 ` ✓ CI.Patch_applied: success for (CI) drm/xe: Fix initial framebuffer handover Patchwork
2024-10-29 18:07 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-29 18:08 ` ✗ CI.KUnit: failure " Patchwork
2024-10-30  9:31 ` ✓ CI.Patch_applied: success for (CI) drm/xe: Fix initial framebuffer handover. (rev2) Patchwork
2024-10-30  9:31 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-30  9:32 ` ✗ CI.KUnit: failure " Patchwork
2024-10-30 11:33 ` ✓ CI.Patch_applied: success for (CI) drm/xe: Fix initial framebuffer handover. (rev3) Patchwork
2024-10-30 11:33 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-30 11:34 ` ✓ CI.KUnit: success " Patchwork
2024-10-30 11:46 ` ✓ CI.Build: " Patchwork
2024-10-30 11:48 ` ✓ CI.Hooks: " Patchwork
2024-10-30 11:50 ` ✗ CI.checksparse: warning " Patchwork
2024-10-30 12:16 ` ✗ CI.BAT: failure " Patchwork
2024-10-30 13:41 ` ✗ CI.FULL: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241029150005.68440-7-maarten.lankhorst@linux.intel.com \
    --to=maarten.lankhorst@linux.intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.