]> www.infradead.org Git - nvme.git/commit
drm/i915/gt: Fix CCS id's calculation for CCS mode setting
authorAndi Shyti <andi.shyti@linux.intel.com>
Fri, 17 May 2024 09:06:16 +0000 (11:06 +0200)
committerAndi Shyti <andi.shyti@linux.intel.com>
Wed, 22 May 2024 06:04:40 +0000 (08:04 +0200)
commita09d2327a9ba8e3f5be238bc1b7ca2809255b464
tree36e2078afb24e746ddb68bd79cae3fb3d8b3755a
parent364e039827ef628c650c21c1afe1c54d9c3296d9
drm/i915/gt: Fix CCS id's calculation for CCS mode setting

The whole point of the previous fixes has been to change the CCS
hardware configuration to generate only one stream available to
the compute users. We did this by changing the info.engine_mask
that is set during device probe, reset during the detection of
the fused engines, and finally reset again when choosing the CCS
mode.

We can't use the engine_mask variable anymore, as with the
current configuration, it imposes only one CCS no matter what the
hardware configuration is.

Before changing the engine_mask for the third time, save it and
use it for calculating the CCS mode.

After the previous changes, the user reported a performance drop
to around 1/4. We have tested that the compute operations, with
the current patch, have improved by the same factor.

Fixes: 6db31251bb26 ("drm/i915/gt: Enable only one CCS for compute workload")
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
Cc: Gnattu OC <gnattuoc@me.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Tested-by: Jian Ye <jian.ye@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Tested-by: Gnattu OC <gnattuoc@me.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240517090616.242529-1-andi.shyti@linux.intel.com
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c
drivers/gpu/drm/i915/gt/intel_gt_types.h