drm/i915/gt: Add intel_gt_mcr_multicast_rmw() operation
authorMatt Roper <matthew.d.roper@intel.com>
Fri, 14 Oct 2022 23:02:30 +0000 (16:02 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Mon, 17 Oct 2022 17:13:31 +0000 (10:13 -0700)
commit851435ec3686c513b469f8d3d9f8bd405a312412
treecf67c01716e50fc2e0549a096443f943a1b5fc0a
parente4abeab94658cdf27f75a824f33ab9ad81d47f96
drm/i915/gt: Add intel_gt_mcr_multicast_rmw() operation

There are cases where we wish to read from any non-terminated MCR
register instance (or the primary instance in the case of GAM ranges),
clear/set some bits, and then write the value back out to the register
in a multicast manner.  Adding a "multicast RMW" will avoid the need to
open-code this.

v2:
 - Return a u32 to align with the recent change to intel_uncore_rmw.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221014230239.1023689-6-matthew.d.roper@intel.com
drivers/gpu/drm/i915/gt/intel_gt_mcr.c
drivers/gpu/drm/i915/gt/intel_gt_mcr.h