summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_rm_tu104.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_rm_tu104.h')
-rw-r--r--kernel/gsp_rm_tu104.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/kernel/gsp_rm_tu104.h b/kernel/gsp_rm_tu104.h
index c6dfb56..5a5fecd 100644
--- a/kernel/gsp_rm_tu104.h
+++ b/kernel/gsp_rm_tu104.h
@@ -700,6 +700,33 @@ static const struct tu104_internal_device_info tu104_internal_device_table[] = {
#define TU104_CTRL_INTERNAL_DISPLAY_GET_IP_VERSION 0x20800a4b
#define TU104_CTRL_I2C_TRANSACTION 0x402c0105
#define TU104_CTRL_CE_GET_FAULT_METHOD_BUFFER_SIZE 0x20802a08
+#define TU104_CTRL_STATIC_KGR_GET_GLOBAL_SM_ORDER 0x20800a22
+
+/* TU104 SM topology: 6 GPCs x 4 TPCs x 2 SMs = 48 SMs, 24 TPCs (RTX 2080 SUPER) */
+#define TU104_NUM_GPC 6
+#define TU104_TPC_PER_GPC 4
+#define TU104_SM_PER_TPC 2
+#define TU104_NUM_SM (TU104_NUM_GPC * TU104_TPC_PER_GPC * TU104_SM_PER_TPC)
+#define TU104_NUM_TPC (TU104_NUM_GPC * TU104_TPC_PER_GPC)
+
+/* NV2080_CTRL_INTERNAL_STATIC_GR_GLOBAL_SM_ORDER (ctrl2080internal.h) */
+#define TU104_GR_MAX_SM 240
+#define TU104_GR_MAX_ENGINES 8
+
+struct tu104_gr_sm_id {
+ u16 gpcId;
+ u16 localTpcId;
+ u16 localSmId;
+ u16 globalTpcId;
+ u16 virtualGpcId;
+ u16 migratableTpcId;
+};
+
+struct tu104_gr_global_sm_order {
+ struct tu104_gr_sm_id globalSmId[TU104_GR_MAX_SM];
+ u16 numSm;
+ u16 numTpc;
+};
/* CE fault method buffer size (ceGetFaultMethodBufferSize_GV100 formula,
* Turing inherits: 135 * (13*totalCes + 2), page-aligned; TU104 has 5 PCEs) */