diff options
author | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-01-13 01:25:12 +0300 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-12 22:06:00 +0300 |
commit | 7dc9b92dcfeff727776bca5ab11b3e0f3445ece2 (patch) | |
tree | 7df86bba733291c08edb4aaa01c2d9e30182d179 /drivers/gpu/drm/xe/xe_guc.c | |
parent | 81593af6c88d3482997e43f0a85ccd93cc4928df (diff) | |
download | linux-7dc9b92dcfeff727776bca5ab11b3e0f3445ece2.tar.xz |
drm/xe: Remove i915_utils dependency from xe_pcode.
Expand xe_mmio_wait32 to accept atomic and then use
that directly when possible, and create own routine to
wait for the pcode status.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_guc.c')
-rw-r--r-- | drivers/gpu/drm/xe/xe_guc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index 2deb1f6544ea..4a7e8f9a14d5 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -325,7 +325,7 @@ int xe_guc_reset(struct xe_guc *guc) xe_mmio_write32(gt, GEN6_GDRST.reg, GEN11_GRDOM_GUC); ret = xe_mmio_wait32(gt, GEN6_GDRST.reg, 0, GEN11_GRDOM_GUC, 5000, - &gdrst); + &gdrst, false); if (ret) { drm_err(&xe->drm, "GuC reset timed out, GEN6_GDRST=0x%8x\n", gdrst); @@ -423,7 +423,7 @@ static int guc_wait_ucode(struct xe_guc *guc) ret = xe_mmio_wait32(guc_to_gt(guc), GUC_STATUS.reg, FIELD_PREP(GS_UKERNEL_MASK, XE_GUC_LOAD_STATUS_READY), - GS_UKERNEL_MASK, 200000, &status); + GS_UKERNEL_MASK, 200000, &status, false); if (ret) { struct drm_device *drm = &xe->drm; @@ -671,7 +671,7 @@ retry: ret = xe_mmio_wait32(gt, reply_reg, FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_GUC), - GUC_HXG_MSG_0_ORIGIN, 50000, &reply); + GUC_HXG_MSG_0_ORIGIN, 50000, &reply, false); if (ret) { timeout: drm_err(&xe->drm, "mmio request 0x%08x: no reply 0x%08x\n", @@ -686,7 +686,8 @@ timeout: ret = xe_mmio_wait32(gt, reply_reg, FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_RESPONSE_SUCCESS), - GUC_HXG_MSG_0_TYPE, 1000000, &header); + GUC_HXG_MSG_0_TYPE, 1000000, &header, + false); if (unlikely(FIELD_GET(GUC_HXG_MSG_0_ORIGIN, header) != GUC_HXG_ORIGIN_GUC)) |