From 1b6da7e3456e121084e6d4c3f29b97473aa5ac29 Mon Sep 17 00:00:00 2001 From: Johnny Liu Date: Sat, 21 Oct 2023 15:01:15 +0000 Subject: [PATCH] gpu: host1x: Enable actmon interrupt for OFA To support interrupt-driven DFS, we need to enable actmon interrupt for OFA. Bug 4310958 Signed-off-by: Johnny Liu Change-Id: I0615ad4b28bb6d4bc6cd666eb354901f294f6173 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3001885 Reviewed-by: Mikko Perttunen GVS: Gerrit_Virtual_Submit --- drivers/gpu/host1x/hw/hw_host1x08_common.h | 2 ++ drivers/gpu/host1x/hw/intr_general_hw.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/host1x/hw/hw_host1x08_common.h b/drivers/gpu/host1x/hw/hw_host1x08_common.h index c2220f9f..b96dd791 100644 --- a/drivers/gpu/host1x/hw/hw_host1x08_common.h +++ b/drivers/gpu/host1x/hw/hw_host1x08_common.h @@ -20,9 +20,11 @@ #define HOST1X_COMMON_THOST_INTRMASK_NVDEC_ACTMON(v) (v << 4) #define HOST1X_COMMON_THOST_INTRMASK_NVJPG_ACTMON(v) (v << 5) #define HOST1X_COMMON_THOST_INTRMASK_NVJPG1_ACTMON(v) (v << 6) +#define HOST1X_COMMON_THOST_INTRMASK_OFA_ACTMON(v) (v << 7) #define HOST1X_COMMON_THOST_INTRSTATUS_NVENC_ACTMON_INTR BIT(2) #define HOST1X_COMMON_THOST_INTRSTATUS_VIC_ACTMON_INTR BIT(3) #define HOST1X_COMMON_THOST_INTRSTATUS_NVDEC_ACTMON_INTR BIT(4) #define HOST1X_COMMON_THOST_INTRSTATUS_NVJPG_ACTMON_INTR BIT(5) #define HOST1X_COMMON_THOST_INTRSTATUS_NVJPG1_ACTMON_INTR BIT(6) +#define HOST1X_COMMON_THOST_INTRSTATUS_OFA_ACTMON_INTR BIT(7) diff --git a/drivers/gpu/host1x/hw/intr_general_hw.c b/drivers/gpu/host1x/hw/intr_general_hw.c index 35667aa0..c2467589 100644 --- a/drivers/gpu/host1x/hw/intr_general_hw.c +++ b/drivers/gpu/host1x/hw/intr_general_hw.c @@ -31,6 +31,9 @@ static irqreturn_t host1x_general_isr(int irq, void *dev_id) if (status & HOST1X_COMMON_THOST_INTRSTATUS_NVJPG1_ACTMON_INTR) host1x_actmon_handle_interrupt(host, HOST1X_CLASS_NVJPG1); + if (status & HOST1X_COMMON_THOST_INTRSTATUS_OFA_ACTMON_INTR) + host1x_actmon_handle_interrupt(host, HOST1X_CLASS_OFA); + host1x_common_writel(host, status, HOST1X_COMMON_THOST_INTRSTATUS); return IRQ_HANDLED; @@ -72,7 +75,8 @@ static void host1x_intr_enable_general_intrs(struct host1x *host) HOST1X_COMMON_THOST_INTRMASK_VIC_ACTMON(1) | HOST1X_COMMON_THOST_INTRMASK_NVDEC_ACTMON(1) | HOST1X_COMMON_THOST_INTRMASK_NVJPG_ACTMON(1) | - HOST1X_COMMON_THOST_INTRMASK_NVJPG1_ACTMON(1), + HOST1X_COMMON_THOST_INTRMASK_NVJPG1_ACTMON(1)| + HOST1X_COMMON_THOST_INTRMASK_OFA_ACTMON(1), HOST1X_COMMON_THOST_INTRMASK); }