[PATCH 0/2] Remove falsely GT-centric design in pcode and hwmon
Matt Roper
matthew.d.roper at intel.com
Thu Aug 29 22:06:20 UTC 2024
Both the pcode and the hwmon code was using a GT-centric design, even
though these are not GT-level concepts in the hardware. Pcode has a
single instance per tile, and using a GT-centric design means that that
locking isn't actually preventing all of the concurrency that it should
be. hwmon is a per-device concept (all information is always read from
the root tile's MMIO interface).
In both cases, these seem to be artifacts of the larger driver
(mis)design where 'gt' is used as the target for MMIO operations.
There's a much larger driver-wide refactor coming to address that, but
let's start by fixing up these two components in preparation.
Matt Roper (2):
drm/xe/pcode: Treat pcode as per-tile rather than per-GT
drm/xe/hwmon: Treat hwmon as a per-device concept
.../drm/xe/compat-i915-headers/intel_pcode.h | 8 +-
.../drm/xe/compat-i915-headers/intel_uncore.h | 7 ++
drivers/gpu/drm/xe/xe_device_types.h | 6 +
drivers/gpu/drm/xe/xe_gt.c | 2 -
drivers/gpu/drm/xe/xe_gt_types.h | 6 -
drivers/gpu/drm/xe/xe_guc_pc.c | 2 +-
drivers/gpu/drm/xe/xe_hwmon.c | 95 +++++++++-------
drivers/gpu/drm/xe/xe_pcode.c | 104 +++++++++---------
drivers/gpu/drm/xe/xe_pcode.h | 16 +--
drivers/gpu/drm/xe/xe_tile.c | 3 +
drivers/gpu/drm/xe/xe_vram_freq.c | 6 +-
11 files changed, 136 insertions(+), 119 deletions(-)
--
2.45.2
More information about the Intel-xe
mailing list