All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class
@ 2019-07-05 12:43 Chris Wilson
  2019-07-05 12:43 ` [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0 Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Chris Wilson @ 2019-07-05 12:43 UTC (permalink / raw)
  To: intel-gfx

Treat all render engines to the RCS workarounds, simply to avoid using
engine->id when we are trying to think in terms of classes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index d7da094170be..9e069286d3ce 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -1354,7 +1354,7 @@ engine_init_workarounds(struct intel_engine_cs *engine, struct i915_wa_list *wal
 	if (I915_SELFTEST_ONLY(INTEL_GEN(engine->i915) < 8))
 		return;
 
-	if (engine->id == RCS0)
+	if (engine->class == RENDER_CLASS)
 		rcs_engine_wa_init(engine, wal);
 	else
 		xcs_engine_wa_init(engine, wal);
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0
  2019-07-05 12:43 [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class Chris Wilson
@ 2019-07-05 12:43 ` Chris Wilson
  2019-07-08 21:11   ` Summers, Stuart
  2019-07-05 14:18 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Apply RCS workarounds to the render class Patchwork
  2019-07-08 21:07 ` [PATCH 1/2] " Summers, Stuart
  2 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2019-07-05 12:43 UTC (permalink / raw)
  To: intel-gfx

We now track features correctly instead of probing i915->engine[RCS0]
which is much more flexible and avoids any nasty surprises.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index df5932f5f578..bdf279fa3b2e 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -448,12 +448,6 @@ int intel_engines_init_mmio(struct drm_i915_private *i915)
 	if (WARN_ON(mask != engine_mask))
 		device_info->engine_mask = mask;
 
-	/* We always presume we have at least RCS available for later probing */
-	if (WARN_ON(!HAS_ENGINE(i915, RCS0))) {
-		err = -ENODEV;
-		goto cleanup;
-	}
-
 	RUNTIME_INFO(i915)->num_engines = hweight32(mask);
 
 	intel_gt_check_and_clear_faults(&i915->gt);
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Apply RCS workarounds to the render class
  2019-07-05 12:43 [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class Chris Wilson
  2019-07-05 12:43 ` [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0 Chris Wilson
@ 2019-07-05 14:18 ` Patchwork
  2019-07-08 21:07 ` [PATCH 1/2] " Summers, Stuart
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2019-07-05 14:18 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/gt: Apply RCS workarounds to the render class
URL   : https://patchwork.freedesktop.org/series/63277/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6425 -> Patchwork_13546
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/

Known issues
------------

  Here are the changes found in Patchwork_13546 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap_gtt@basic:
    - fi-icl-u3:          [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-icl-u3/igt@gem_mmap_gtt@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-icl-u3/igt@gem_mmap_gtt@basic.html

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-dsi:         [PASS][3] -> [INCOMPLETE][4] ([fdo#107713] / [fdo#108840])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-icl-dsi/igt@i915_pm_rpm@module-reload.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][5] -> [FAIL][6] ([fdo#109485])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * {igt@gem_ctx_switch@legacy-render}:
    - fi-icl-u2:          [INCOMPLETE][7] ([fdo#107713]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-icl-u2/igt@gem_ctx_switch@legacy-render.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-icl-u2/igt@gem_ctx_switch@legacy-render.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       [INCOMPLETE][9] ([fdo#107718]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_mmap_gtt@basic-write-read-distinct:
    - fi-icl-u3:          [DMESG-WARN][11] ([fdo#107724]) -> [PASS][12] +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-icl-u3/igt@gem_mmap_gtt@basic-write-read-distinct.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-icl-u3/igt@gem_mmap_gtt@basic-write-read-distinct.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7567u:       [FAIL][13] ([fdo#109485]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6425/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (55 -> 47)
------------------------------

  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6425 -> Patchwork_13546

  CI_DRM_6425: 62149faa04e66d4d16166c89ba441977a0656119 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5087: f0e39642f6f8da5406627bfa79c6600df949e203 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13546: 8de975ed269b36487e6c97f9c07d856a979c4a01 @ git://anongit.freedesktop.org/gfx-ci/linux


== Kernel 32bit build ==

Warning: Kernel 32bit buildtest failed:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/build_32bit.log

  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  CHK     include/generated/compile.h
Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 112 modules
ERROR: "__udivdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: "__divdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[1]: *** [__modpost] Error 1
Makefile:1287: recipe for target 'modules' failed
make: *** [modules] Error 2


== Linux commits ==

8de975ed269b drm/i915/gt: Remove presumption of RCS0
69cbbeeded20 drm/i915/gt: Apply RCS workarounds to the render class

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13546/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class
  2019-07-05 12:43 [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class Chris Wilson
  2019-07-05 12:43 ` [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0 Chris Wilson
  2019-07-05 14:18 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Apply RCS workarounds to the render class Patchwork
@ 2019-07-08 21:07 ` Summers, Stuart
  2 siblings, 0 replies; 7+ messages in thread
From: Summers, Stuart @ 2019-07-08 21:07 UTC (permalink / raw)
  To: intel-gfx, chris


[-- Attachment #1.1: Type: text/plain, Size: 1051 bytes --]

On Fri, 2019-07-05 at 13:43 +0100, Chris Wilson wrote:
> Treat all render engines to the RCS workarounds, simply to avoid
> using
> engine->id when we are trying to think in terms of classes.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index d7da094170be..9e069286d3ce 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -1354,7 +1354,7 @@ engine_init_workarounds(struct intel_engine_cs
> *engine, struct i915_wa_list *wal
>  	if (I915_SELFTEST_ONLY(INTEL_GEN(engine->i915) < 8))
>  		return;
>  
> -	if (engine->id == RCS0)
> +	if (engine->class == RENDER_CLASS)

Makes sense.

Reviewed-by: Stuart Summers <stuart.summers@intel.com>

>  		rcs_engine_wa_init(engine, wal);
>  	else
>  		xcs_engine_wa_init(engine, wal);

[-- Attachment #1.2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3270 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0
  2019-07-05 12:43 ` [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0 Chris Wilson
@ 2019-07-08 21:11   ` Summers, Stuart
  2019-07-08 21:16     ` Chris Wilson
  0 siblings, 1 reply; 7+ messages in thread
From: Summers, Stuart @ 2019-07-08 21:11 UTC (permalink / raw)
  To: intel-gfx, chris


[-- Attachment #1.1: Type: text/plain, Size: 1362 bytes --]

On Fri, 2019-07-05 at 13:43 +0100, Chris Wilson wrote:
> We now track features correctly instead of probing i915->engine[RCS0]
> which is much more flexible and avoids any nasty surprises.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index df5932f5f578..bdf279fa3b2e 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -448,12 +448,6 @@ int intel_engines_init_mmio(struct
> drm_i915_private *i915)
>  	if (WARN_ON(mask != engine_mask))
>  		device_info->engine_mask = mask;
>  
> -	/* We always presume we have at least RCS available for later
> probing */
> -	if (WARN_ON(!HAS_ENGINE(i915, RCS0))) {
> -		err = -ENODEV;
> -		goto cleanup;
> -	}
> -

Just going by the series here, we have quite a few other place we are
touching RCS0 specifically during driver load. Do we really want to get
rid of this? Or is there an alternative if RCS0 isn't present for some
reason?

Thanks,
Stuart

>  	RUNTIME_INFO(i915)->num_engines = hweight32(mask);
>  
>  	intel_gt_check_and_clear_faults(&i915->gt);

[-- Attachment #1.2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3270 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0
  2019-07-08 21:11   ` Summers, Stuart
@ 2019-07-08 21:16     ` Chris Wilson
  2019-07-09 14:52       ` Summers, Stuart
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2019-07-08 21:16 UTC (permalink / raw)
  To: Summers, Stuart, intel-gfx

Quoting Summers, Stuart (2019-07-08 22:11:15)
> On Fri, 2019-07-05 at 13:43 +0100, Chris Wilson wrote:
> > We now track features correctly instead of probing i915->engine[RCS0]
> > which is much more flexible and avoids any nasty surprises.
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > ---
> >  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ------
> >  1 file changed, 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > index df5932f5f578..bdf279fa3b2e 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > @@ -448,12 +448,6 @@ int intel_engines_init_mmio(struct
> > drm_i915_private *i915)
> >       if (WARN_ON(mask != engine_mask))
> >               device_info->engine_mask = mask;
> >  
> > -     /* We always presume we have at least RCS available for later
> > probing */
> > -     if (WARN_ON(!HAS_ENGINE(i915, RCS0))) {
> > -             err = -ENODEV;
> > -             goto cleanup;
> > -     }
> > -
> 
> Just going by the series here, we have quite a few other place we are
> touching RCS0 specifically during driver load. Do we really want to get
> rid of this? Or is there an alternative if RCS0 isn't present for some
> reason?

Outside of gvt/ (which I don't dare to try and verify), the only places
where we now mention RCS0 are in direct hw mappings to that engine
(e.g. interrupts and mmio setup). [Excluding selftests/ which are mostly
converted and really just a matter of generalising if applicable or
marking as "no really, this only applies to RCS0".] Assuming the other
couple of patches also land.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0
  2019-07-08 21:16     ` Chris Wilson
@ 2019-07-09 14:52       ` Summers, Stuart
  0 siblings, 0 replies; 7+ messages in thread
From: Summers, Stuart @ 2019-07-09 14:52 UTC (permalink / raw)
  To: intel-gfx, chris


[-- Attachment #1.1: Type: text/plain, Size: 2238 bytes --]

On Mon, 2019-07-08 at 22:16 +0100, Chris Wilson wrote:
> Quoting Summers, Stuart (2019-07-08 22:11:15)
> > On Fri, 2019-07-05 at 13:43 +0100, Chris Wilson wrote:
> > > We now track features correctly instead of probing i915-
> > > >engine[RCS0]
> > > which is much more flexible and avoids any nasty surprises.
> > > 
> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ------
> > >  1 file changed, 6 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > > b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > > index df5932f5f578..bdf279fa3b2e 100644
> > > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > > +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > > @@ -448,12 +448,6 @@ int intel_engines_init_mmio(struct
> > > drm_i915_private *i915)
> > >       if (WARN_ON(mask != engine_mask))
> > >               device_info->engine_mask = mask;
> > >  
> > > -     /* We always presume we have at least RCS available for
> > > later
> > > probing */
> > > -     if (WARN_ON(!HAS_ENGINE(i915, RCS0))) {
> > > -             err = -ENODEV;
> > > -             goto cleanup;
> > > -     }
> > > -
> > 
> > Just going by the series here, we have quite a few other place we
> > are
> > touching RCS0 specifically during driver load. Do we really want to
> > get
> > rid of this? Or is there an alternative if RCS0 isn't present for
> > some
> > reason?
> 
> Outside of gvt/ (which I don't dare to try and verify), the only
> places
> where we now mention RCS0 are in direct hw mappings to that engine
> (e.g. interrupts and mmio setup). [Excluding selftests/ which are
> mostly
> converted and really just a matter of generalising if applicable or
> marking as "no really, this only applies to RCS0".] Assuming the
> other
> couple of patches also land.

Worst case, we don't have any platforms without RCS0, so getting rid of
this shouldn't cause harm. We can always work through issues if we ever
have a platform without this for some reason.

Reviewed-by: Stuart Summers <stuart.summers@intel.com>

Thanks,
Stuart

> -Chris

[-- Attachment #1.2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3270 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-07-09 14:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-05 12:43 [PATCH 1/2] drm/i915/gt: Apply RCS workarounds to the render class Chris Wilson
2019-07-05 12:43 ` [PATCH 2/2] drm/i915/gt: Remove presumption of RCS0 Chris Wilson
2019-07-08 21:11   ` Summers, Stuart
2019-07-08 21:16     ` Chris Wilson
2019-07-09 14:52       ` Summers, Stuart
2019-07-05 14:18 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gt: Apply RCS workarounds to the render class Patchwork
2019-07-08 21:07 ` [PATCH 1/2] " Summers, Stuart

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.