drm/xe/xe2: synchronise CS_CHICKEN1 with WMTP support
authorNirmoy Das <nirmoy.das@intel.com>
Thu, 4 Jan 2024 18:26:15 +0000 (19:26 +0100)
committerMatt Roper <matthew.d.roper@intel.com>
Mon, 8 Jan 2024 19:43:19 +0000 (11:43 -0800)
commitddb5bade29de7a3e1e1ce42df33f4a98f8a9f323
tree253c1ba2693cd3b1778de2740fbdff625934b014
parentbe8755a0a81866bbf89bf3fb03ae180978b5a91f
drm/xe/xe2: synchronise CS_CHICKEN1 with WMTP support

Recommendation is to read FUSE4 register to check if WMTP has been
enabled/disabled by HW. If enabled we don't need to do anything special,
however if disabled recommendation is to also disable the WMTP mode in
the FF_SLICE_CS_CHICKEN2 register, falling back to thread-group and
mid-batch preemption only. However on Linux, the per-context CS_CHICKEN1
is how userspace controls pre-emption, so instead use the default lrc to
disable WMTP using CS_CHICKEN1, if disabled by HW. Userspace is still
free to set CS_CHICKEN1 to whatever they want later.

v2: remove redundant version check and also add descriptive name(Matt)
v3: remove usage of REG_FIELD_GET(Matt)

Cc: Matt Roper <matthew.d.roper@intel.com>
Co-developed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20240104182615.21327-1-nirmoy.das@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/regs/xe_gt_regs.h
drivers/gpu/drm/xe/xe_hw_engine.c