All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: "Yang, Fei" <fei.yang@intel.com>,
	"Roper, Matthew D" <matthew.d.roper@intel.com>
Cc: "Morek, Szymon" <szymon.morek@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>,
	"Belgaumkar, Vinay" <vinay.belgaumkar@intel.com>,
	"Kumar Valsan, Prathap" <prathap.kumar.valsan@intel.com>
Subject: Re: [PATCH 1/2] drm/i915/xehp: Add compute engine ABI
Date: Tue, 26 Apr 2022 08:25:10 +0100	[thread overview]
Message-ID: <d13dbabb-0848-7f60-ef01-f1d2a8c77da4@linux.intel.com> (raw)
In-Reply-To: <BYAPR11MB2567CB015A6B1ADF5F1FEDAB9AF89@BYAPR11MB2567.namprd11.prod.outlook.com>


On 25/04/2022 19:40, Yang, Fei wrote:
>>>> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
>>>> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
>>>> @@ -1175,6 +1175,7 @@ void intel_gt_invalidate_tlbs(struct intel_gt *gt)
>>>>    		[VIDEO_DECODE_CLASS]		= GEN12_VD_TLB_INV_CR,
>>>>    		[VIDEO_ENHANCEMENT_CLASS]	= GEN12_VE_TLB_INV_CR,
>>>>    		[COPY_ENGINE_CLASS]		= GEN12_BLT_TLB_INV_CR,
>>>> +		[COMPUTE_CLASS]			= GEN12_GFX_TLB_INV_CR,
>>>
>>> Do you know what 0xcf04 is?
> 
> Looks like that is the TLB invalidation register for each compute context.

What does compute "context" stand for in this context, as used in bspec? 
Not compute command streamer? Suspiciously individual bits (eight of 
them) are reserved per context, just like for example in 
GEN12_VD_TLB_INV_CR.

>>> Or if GEN12_GFX_TLB_INV_CR is correct then I think get_reg_and_bit()
>>> might need adjusting to always select bit 0 for any compute engine
>>> instance. Not sure how hardware would behave if value other than '1'
>>> would be written into 0xced8.
>>
>> I think Prathap and Fei have more familiarity with the MMIO TLB invalidation; adding them for their thoughts.
> 
> I believe GEN12_GFX_TLB_INV_CR is the right one to use because we are invalidating the TLB for each engine.

I don't understand this argument, I guess because I don't understand 
0xcf04 still.

> I'm not sure if we could narrow down to exact which compute context the TLB needs to be invalidated though. If that's possible it might be a bit more efficient.

Or even correct if 0xcf04 is for compute command streamers? That's my 
concern.

Regards,

Tvrtko

WARNING: multiple messages have this Message-ID (diff)
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: "Yang, Fei" <fei.yang@intel.com>,
	"Roper, Matthew D" <matthew.d.roper@intel.com>
Cc: "Morek, Szymon" <szymon.morek@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/xehp: Add compute engine ABI
Date: Tue, 26 Apr 2022 08:25:10 +0100	[thread overview]
Message-ID: <d13dbabb-0848-7f60-ef01-f1d2a8c77da4@linux.intel.com> (raw)
In-Reply-To: <BYAPR11MB2567CB015A6B1ADF5F1FEDAB9AF89@BYAPR11MB2567.namprd11.prod.outlook.com>


On 25/04/2022 19:40, Yang, Fei wrote:
>>>> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
>>>> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
>>>> @@ -1175,6 +1175,7 @@ void intel_gt_invalidate_tlbs(struct intel_gt *gt)
>>>>    		[VIDEO_DECODE_CLASS]		= GEN12_VD_TLB_INV_CR,
>>>>    		[VIDEO_ENHANCEMENT_CLASS]	= GEN12_VE_TLB_INV_CR,
>>>>    		[COPY_ENGINE_CLASS]		= GEN12_BLT_TLB_INV_CR,
>>>> +		[COMPUTE_CLASS]			= GEN12_GFX_TLB_INV_CR,
>>>
>>> Do you know what 0xcf04 is?
> 
> Looks like that is the TLB invalidation register for each compute context.

What does compute "context" stand for in this context, as used in bspec? 
Not compute command streamer? Suspiciously individual bits (eight of 
them) are reserved per context, just like for example in 
GEN12_VD_TLB_INV_CR.

>>> Or if GEN12_GFX_TLB_INV_CR is correct then I think get_reg_and_bit()
>>> might need adjusting to always select bit 0 for any compute engine
>>> instance. Not sure how hardware would behave if value other than '1'
>>> would be written into 0xced8.
>>
>> I think Prathap and Fei have more familiarity with the MMIO TLB invalidation; adding them for their thoughts.
> 
> I believe GEN12_GFX_TLB_INV_CR is the right one to use because we are invalidating the TLB for each engine.

I don't understand this argument, I guess because I don't understand 
0xcf04 still.

> I'm not sure if we could narrow down to exact which compute context the TLB needs to be invalidated though. If that's possible it might be a bit more efficient.

Or even correct if 0xcf04 is for compute command streamers? That's my 
concern.

Regards,

Tvrtko

  reply	other threads:[~2022-04-26  7:25 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-22 19:50 [PATCH 0/2] i915: Turn on compute engine support Matt Roper
2022-04-22 19:50 ` [Intel-gfx] " Matt Roper
2022-04-22 19:50 ` [PATCH 1/2] drm/i915/xehp: Add compute engine ABI Matt Roper
2022-04-22 19:50   ` [Intel-gfx] " Matt Roper
2022-04-25 10:41   ` Tvrtko Ursulin
2022-04-25 10:41     ` [Intel-gfx] " Tvrtko Ursulin
2022-04-25 17:35     ` Matt Roper
2022-04-25 17:35       ` [Intel-gfx] " Matt Roper
2022-04-25 18:40       ` Yang, Fei
2022-04-25 18:40         ` [Intel-gfx] " Yang, Fei
2022-04-26  7:25         ` Tvrtko Ursulin [this message]
2022-04-26  7:25           ` Tvrtko Ursulin
2022-04-28  0:27     ` Kumar Valsan, Prathap
2022-04-28  3:44     ` Matt Roper
2022-04-28  3:44       ` [Intel-gfx] " Matt Roper
2022-04-25 14:48   ` Andi Shyti
2022-04-22 19:50 ` [PATCH 2/2] drm/i915: Xe_HP SDV and DG2 have up to 4 CCS engines Matt Roper
2022-04-22 19:50   ` [Intel-gfx] " Matt Roper
2022-04-25 14:48   ` Andi Shyti
2022-04-22 20:20 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for i915: Turn on compute engine support Patchwork
2022-04-22 20:47 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-04-22 21:32 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for i915: Turn on compute engine support (rev2) Patchwork
2022-04-22 22:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-04-22 22:33   ` Matt Roper
2022-04-22 23:02 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for i915: Turn on compute engine support (rev3) Patchwork
2022-04-22 23:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-04-23  1:18 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " 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=d13dbabb-0848-7f60-ef01-f1d2a8c77da4@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=daniele.ceraolospurio@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fei.yang@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jordan.l.justen@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=prathap.kumar.valsan@intel.com \
    --cc=szymon.morek@intel.com \
    --cc=vinay.belgaumkar@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 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.