From e3ae03e17abd452c157545234348692364b4b9f6 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Wed, 12 Sep 2018 14:51:40 -0700 Subject: gpu: nvgpu: Add MC APIs for reset masks Add API for querying reset mask corresponding to a unit. The reset masks need to be read from MC HW header, and we do not want all units to access Mc HW headers themselves. JIRA NVGPU-954 Change-Id: I49ebbd891569de634bfc71afcecc8cd2358805c0 Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1823384 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 4 +++- drivers/gpu/nvgpu/include/nvgpu/unit.h | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/include') diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 8627fddd..5a9c56e0 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h @@ -1156,7 +1156,7 @@ struct gpu_ops { void (*intr_mask)(struct gk20a *g); void (*intr_enable)(struct gk20a *g); void (*intr_unit_config)(struct gk20a *g, - bool enable, bool is_stalling, u32 unit); + bool enable, bool is_stalling, u32 mask); void (*isr_stall)(struct gk20a *g); bool (*is_intr_hub_pending)(struct gk20a *g, u32 mc_intr); bool (*is_intr_nvlink_pending)(struct gk20a *g, u32 mc_intr); @@ -1172,9 +1172,11 @@ struct gpu_ops { void (*enable)(struct gk20a *g, u32 units); void (*disable)(struct gk20a *g, u32 units); void (*reset)(struct gk20a *g, u32 units); + bool (*is_enabled)(struct gk20a *g, enum nvgpu_unit unit); bool (*is_intr1_pending)(struct gk20a *g, enum nvgpu_unit unit, u32 mc_intr_1); void (*log_pending_intrs)(struct gk20a *g); void (*fbpa_isr)(struct gk20a *g); + u32 (*reset_mask)(struct gk20a *g, enum nvgpu_unit unit); } mc; struct { void (*show_dump)(struct gk20a *g, diff --git a/drivers/gpu/nvgpu/include/nvgpu/unit.h b/drivers/gpu/nvgpu/include/nvgpu/unit.h index f919392e..11df652a 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/unit.h +++ b/drivers/gpu/nvgpu/include/nvgpu/unit.h @@ -31,6 +31,11 @@ */ enum nvgpu_unit { NVGPU_UNIT_FIFO, + NVGPU_UNIT_PERFMON, + NVGPU_UNIT_GRAPH, + NVGPU_UNIT_BLG, + NVGPU_UNIT_PWR, + NVGPU_UNIT_NVDEC, }; #endif /* NVGPU_UNIT_H */ -- cgit v1.2.2