]> 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)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 18 Dec 2025 17:11:22 +0000 (18:11 +0100)
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
(cherry picked from commit 88d98e74adf3e20f678bb89581a5c3149fdbdeaa)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_oa.c

index 1dd8ebeb41d0c739609fd47214501dc75dfc90e1..8f3da6885e6c975509bb31ef2dae6d4413c2672e 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