]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Fri, 5 Dec 2025 21:26:13 +0000 (13:26 -0800)
committerAshutosh Dixit <ashutosh.dixit@intel.com>
Wed, 17 Dec 2025 01:08:28 +0000 (17:08 -0800)
Reports can be written out to the OA buffer using ways other than periodic
sampling. These include mmio trigger and context switches. To support these
use cases, when periodic sampling is not enabled,
OAG_OAGLBCTXCTRL_COUNTER_RESUME must be set.

Fixes: 1db9a9dc90ae ("drm/xe/oa: OA stream initialization (OAG)")
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Link: https://patch.msgid.link/20251205212613.826224-4-ashutosh.dixit@intel.com
drivers/gpu/drm/xe/xe_oa.c

index d4e1585004e2ca818d1c97abdf8a1567ee2dc79a..7dfc59277d6c7484acf2c90097c3aabd502a0472 100644 (file)
@@ -1105,11 +1105,12 @@ static int xe_oa_enable_metric_set(struct xe_oa_stream *stream)
                        oag_buf_size_select(stream) |
                        oag_configure_mmio_trigger(stream, true));
 
-       xe_mmio_write32(mmio, __oa_regs(stream)->oa_ctx_ctrl, stream->periodic ?
-                       (OAG_OAGLBCTXCTRL_COUNTER_RESUME |
+       xe_mmio_write32(mmio, __oa_regs(stream)->oa_ctx_ctrl,
+                       OAG_OAGLBCTXCTRL_COUNTER_RESUME |
+                       (stream->periodic ?
                         OAG_OAGLBCTXCTRL_TIMER_ENABLE |
                         REG_FIELD_PREP(OAG_OAGLBCTXCTRL_TIMER_PERIOD_MASK,
-                                       stream->period_exponent)) : 0);
+                                        stream->period_exponent) : 0));
 
        /*
         * Initialize Super Queue Internal Cnt Register