From: Michal Wajdeczko <michal.wajdeczko@intel.com>
To: Matthew Brost <matthew.brost@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 7/9] drm/xe/vf: Don't use register based TLB invalidation if VF
Date: Thu, 20 Jun 2024 01:25:53 +0200 [thread overview]
Message-ID: <3d6d5d51-9cba-4808-88f7-a43562468bbb@intel.com> (raw)
In-Reply-To: <ZnNmIskfVCxr/8Xv@DUT025-TGLU.fm.intel.com>
On 20.06.2024 01:13, Matthew Brost wrote:
> On Wed, Jun 19, 2024 at 11:45:55PM +0200, Michal Wajdeczko wrote:
>> VF drivers can only use GuC-based TLB invalidation, as they don't
>> have access to the related registers. However, VFs shouldn't need
>> any explicit TLB invalidation before enabling CTB communication,
>> as there will be an implicit GGTT TLB invalidation issued by the
>> GuC itself as part of MMIO-based action handling.
>>
>
> Does assigning / removing a new GGTT mapping on a VF involve a MMIO
> action?
if we are adding new GGTT mapping _before_ CTB is ready, then we likely
doing that just to enable the CTB, which is MMIO action, that has
implicit TLB invalidation, or we did this to prepare our data long
before starting GuC, in which case we don't care until we enable CTB,
which is prev case, as we need CTB to create contexts and submit WLs
if we remove any GGTT mappings than likely we already pass the probe
phase and have CTB available
IMO, even in native mode we should also only rely on GuC CTB actions or
implicit TLB invalidation performed by GuC (unless we are running in
execlist mode)
>
> Not touching registers on VF itself makes sense though.
>
> Matt
>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>> index 23d397a246a8..e1f1ccb01143 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>> +++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>> @@ -13,6 +13,7 @@
>> #include "xe_guc.h"
>> #include "xe_guc_ct.h"
>> #include "xe_mmio.h"
>> +#include "xe_sriov.h"
>> #include "xe_trace.h"
>> #include "regs/xe_guc_regs.h"
>>
>> @@ -249,6 +250,9 @@ int xe_gt_tlb_invalidation_ggtt(struct xe_gt *gt)
>>
>> xe_gt_tlb_invalidation_wait(gt, seqno);
>> } else if (xe_device_uc_enabled(xe) && !xe_device_wedged(xe)) {
>> + if (IS_SRIOV_VF(xe))
>> + return 0;
>> +
>> xe_gt_WARN_ON(gt, xe_force_wake_get(gt_to_fw(gt), XE_FW_GT));
>> if (xe->info.platform == XE_PVC || GRAPHICS_VER(xe) >= 20) {
>> xe_mmio_write32(gt, PVC_GUC_TLB_INV_DESC1,
>> --
>> 2.43.0
>>
next prev parent reply other threads:[~2024-06-19 23:25 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-19 21:45 [PATCH 0/9] Adapt the driver to boot on the VF device Michal Wajdeczko
2024-06-19 21:45 ` [PATCH 1/9] drm/xe/vf: Disable features that do not apply to VFs Michal Wajdeczko
2024-06-20 9:17 ` Piotr Piórkowski
2024-06-20 10:05 ` Michal Wajdeczko
2024-06-20 10:01 ` [PATCH v2 " Michal Wajdeczko
2024-06-20 10:06 ` Piotr Piórkowski
2024-06-19 21:45 ` [PATCH 2/9] drm/xe/vf: Don't run any save-restore RTP actions if VF Michal Wajdeczko
2024-06-20 9:20 ` Piotr Piórkowski
2024-06-20 17:30 ` Matt Roper
2024-06-19 21:45 ` [PATCH 3/9] drm/xe/vf: Don't apply tile workarounds " Michal Wajdeczko
2024-06-20 9:21 ` Piotr Piórkowski
2024-06-20 17:31 ` Matt Roper
2024-06-19 21:45 ` [PATCH 4/9] drm/xe/vf: Don't change hwe IRQ masks if using memory IRQs Michal Wajdeczko
2024-06-20 9:29 ` Piotr Piórkowski
2024-06-19 21:45 ` [PATCH 5/9] drm/xe/vf: Don't initialize OA if VF Michal Wajdeczko
2024-06-19 21:56 ` Dixit, Ashutosh
2024-06-19 22:10 ` Dixit, Ashutosh
2024-06-19 22:40 ` Michal Wajdeczko
2024-06-19 22:57 ` Dixit, Ashutosh
2024-06-19 23:01 ` Michal Wajdeczko
2024-06-19 21:45 ` [PATCH 6/9] drm/xe/vf: Don't support gtidle " Michal Wajdeczko
2024-06-20 9:38 ` Piotr Piórkowski
2024-06-19 21:45 ` [PATCH 7/9] drm/xe/vf: Don't use register based TLB invalidation " Michal Wajdeczko
2024-06-19 23:13 ` Matthew Brost
2024-06-19 23:25 ` Michal Wajdeczko [this message]
2024-06-20 10:07 ` Piotr Piórkowski
2024-06-19 21:45 ` [PATCH 8/9] drm/xe/vf: Skip engine ring enabling " Michal Wajdeczko
2024-06-20 10:03 ` Piotr Piórkowski
2024-06-19 21:45 ` [PATCH 9/9] drm/xe/vf: Custom HuC initialization " Michal Wajdeczko
2024-06-19 23:11 ` Matthew Brost
2024-06-19 23:14 ` Michal Wajdeczko
2024-06-19 23:23 ` Matthew Brost
2024-06-19 23:34 ` Michal Wajdeczko
2024-06-20 1:59 ` Matthew Brost
2024-06-19 21:51 ` ✓ CI.Patch_applied: success for Adapt the driver to boot on the VF device Patchwork
2024-06-19 21:51 ` ✓ CI.checkpatch: " Patchwork
2024-06-19 21:52 ` ✓ CI.KUnit: " Patchwork
2024-06-19 22:04 ` ✓ CI.Build: " Patchwork
2024-06-19 22:06 ` ✗ CI.Hooks: failure " Patchwork
2024-06-19 22:07 ` ✓ CI.checksparse: success " Patchwork
2024-06-19 22:22 ` ✗ CI.BAT: failure " Patchwork
2024-06-20 6:28 ` Michal Wajdeczko
2024-06-20 6:16 ` ✗ CI.FULL: " Patchwork
2024-06-20 6:28 ` ✓ CI.Patch_applied: success for Adapt the driver to boot on the VF device (rev2) Patchwork
2024-06-20 6:28 ` ✓ CI.checkpatch: " Patchwork
2024-06-20 6:29 ` ✓ CI.KUnit: " Patchwork
2024-06-20 6:41 ` ✓ CI.Build: " Patchwork
2024-06-20 6:43 ` ✗ CI.Hooks: failure " Patchwork
2024-06-20 6:44 ` ✓ CI.checksparse: success " Patchwork
2024-06-20 7:01 ` ✓ CI.BAT: " Patchwork
2024-06-20 8:32 ` ✗ CI.FULL: failure " Patchwork
2024-06-20 10:09 ` ✓ CI.Patch_applied: success for Adapt the driver to boot on the VF device (rev3) Patchwork
2024-06-20 10:09 ` ✓ CI.checkpatch: " Patchwork
2024-06-20 10:10 ` ✓ CI.KUnit: " Patchwork
2024-06-20 10:22 ` ✓ CI.Build: " Patchwork
2024-06-20 10:24 ` ✗ CI.Hooks: failure " Patchwork
2024-06-20 10:26 ` ✓ CI.checksparse: success " Patchwork
2024-06-20 10:52 ` ✗ CI.BAT: failure " Patchwork
2024-06-20 14:29 ` Michal Wajdeczko
2024-06-20 13:01 ` ✗ CI.FULL: " Patchwork
2024-06-20 14:32 ` Michal Wajdeczko
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=3d6d5d51-9cba-4808-88f7-a43562468bbb@intel.com \
--to=michal.wajdeczko@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=matthew.brost@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox