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:e936f885f1("drm/xe/oa/uapi: Expose OA stream fd") Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Lucas 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 commitfb2551a0e9) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
committed by
Rodrigo Vivi
parent
dd10595c32
commit
a262cc8d55
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user