Unverified Commit a262cc8d authored by Ashutosh Dixit's avatar Ashutosh Dixit Committed by Rodrigo Vivi
Browse files

drm/xe/oa: Enable Xe2+ PES disaggregation



Enable Xe2+ PES disaggregation (for OAG) to retrieve disaggregated metrics
when disaggregated data is needed. Userspace can select whether to receive
aggregated or disaggregated metrics via the particular OA configuration it
uses (programmed via DRM_XE_OBSERVATION_OP_ADD_CONFIG).

Bspec: 61101
Fixes: e936f885 ("drm/xe/oa/uapi: Expose OA stream fd")
Signed-off-by: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240909165933.2638765-1-ashutosh.dixit@intel.com


Cc: stable@vger.kernel.org
(cherry picked from commit fb2551a0)
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent dd10595c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
#define  OAG_OABUFFER_MEMORY_SELECT		REG_BIT(0) /* 0: PPGTT, 1: GGTT */

#define OAG_OACONTROL				XE_REG(0xdaf4)
#define  OAG_OACONTROL_OA_PES_DISAG_EN		REG_GENMASK(27, 22)
#define  OAG_OACONTROL_OA_CCS_SELECT_MASK	REG_GENMASK(18, 16)
#define  OAG_OACONTROL_OA_COUNTER_SEL_MASK	REG_GENMASK(4, 2)
#define  OAG_OACONTROL_OA_COUNTER_ENABLE	REG_BIT(0)
+4 −0
Original line number Diff line number Diff line
@@ -440,6 +440,10 @@ static void xe_oa_enable(struct xe_oa_stream *stream)
	val = __format_to_oactrl(format, regs->oa_ctrl_counter_select_mask) |
		__oa_ccs_select(stream) | OAG_OACONTROL_OA_COUNTER_ENABLE;

	if (GRAPHICS_VER(stream->oa->xe) >= 20 &&
	    stream->hwe->oa_unit->type == DRM_XE_OA_UNIT_TYPE_OAG)
		val |= OAG_OACONTROL_OA_PES_DISAG_EN;

	xe_mmio_write32(stream->gt, regs->oa_ctrl, val);
}