Path: blob/master/drivers/accel/habanalabs/gaudi2/gaudi2_masks.h
26439 views
/* SPDX-License-Identifier: GPL-2.01*2* Copyright 2020-2022 HabanaLabs, Ltd.3* All Rights Reserved.4*5*/67#ifndef GAUDI2_MASKS_H_8#define GAUDI2_MASKS_H_910#include "../include/gaudi2/asic_reg/gaudi2_regs.h"1112/* Useful masks for bits in various registers */13#define QMAN_GLBL_ERR_CFG_MSG_EN_MASK \14((0xF << PDMA0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \15(0x1F << PDMA0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \16(0x1F << PDMA0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT))1718#define QMAN_GLBL_ERR_CFG_STOP_ON_ERR_EN_MASK \19((0xF << PDMA0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \20(0x1F << PDMA0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \21(0x1F << PDMA0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT) | \22(0x1 << PDMA0_QM_GLBL_ERR_CFG_ARB_STOP_ON_ERR_SHIFT))2324#define QMAN_GLBL_ERR_CFG1_MSG_EN_MASK \25(0x1 << PDMA0_QM_GLBL_ERR_CFG1_CQF_ERR_MSG_EN_SHIFT)2627#define QMAN_GLBL_ERR_CFG1_STOP_ON_ERR_EN_MASK \28((0x1 << PDMA0_QM_GLBL_ERR_CFG1_CQF_STOP_ON_ERR_SHIFT) | \29(0x1 << PDMA0_QM_GLBL_ERR_CFG1_ARC_STOP_ON_ERR_SHIFT))3031#define QM_PQC_LBW_WDATA \32((1 << DCORE0_SYNC_MNGR_OBJS_SOB_OBJ_VAL_SHIFT) | \33(1 << DCORE0_SYNC_MNGR_OBJS_SOB_OBJ_INC_SHIFT))3435#define QMAN_MAKE_TRUSTED \36((0xF << PDMA0_QM_GLBL_PROT_PQF_SHIFT) | \37(0x1 << PDMA0_QM_GLBL_PROT_ERR_SHIFT) | \38(0x1 << PDMA0_QM_GLBL_PROT_PQC_SHIFT))3940#define QMAN_MAKE_TRUSTED_TEST_MODE \41((0xF << PDMA0_QM_GLBL_PROT_PQF_SHIFT) | \42(0xF << PDMA0_QM_GLBL_PROT_CQF_SHIFT) | \43(0xF << PDMA0_QM_GLBL_PROT_CP_SHIFT) | \44(0x1 << PDMA0_QM_GLBL_PROT_ERR_SHIFT) | \45(0x1 << PDMA0_QM_GLBL_PROT_PQC_SHIFT))4647#define QMAN_ENABLE \48((0xF << PDMA0_QM_GLBL_CFG0_PQF_EN_SHIFT) | \49(0x1F << PDMA0_QM_GLBL_CFG0_CQF_EN_SHIFT) | \50(0x1F << PDMA0_QM_GLBL_CFG0_CP_EN_SHIFT) | \51(0x1 << PDMA0_QM_GLBL_CFG0_ARC_CQF_EN_SHIFT))5253#define PDMA0_QMAN_ENABLE \54((0x3 << PDMA0_QM_GLBL_CFG0_PQF_EN_SHIFT) | \55(0x1F << PDMA0_QM_GLBL_CFG0_CQF_EN_SHIFT) | \56(0x1F << PDMA0_QM_GLBL_CFG0_CP_EN_SHIFT) | \57(0x1 << PDMA0_QM_GLBL_CFG0_ARC_CQF_EN_SHIFT))5859#define PDMA1_QMAN_ENABLE \60((0x1 << PDMA0_QM_GLBL_CFG0_PQF_EN_SHIFT) | \61(0x1F << PDMA0_QM_GLBL_CFG0_CQF_EN_SHIFT) | \62(0x1F << PDMA0_QM_GLBL_CFG0_CP_EN_SHIFT) | \63(0x1 << PDMA0_QM_GLBL_CFG0_ARC_CQF_EN_SHIFT))6465/* QM_IDLE_MASK is valid for all engines QM idle check */66#define QM_IDLE_MASK (DCORE0_EDMA0_QM_GLBL_STS0_PQF_IDLE_MASK | \67DCORE0_EDMA0_QM_GLBL_STS0_CQF_IDLE_MASK | \68DCORE0_EDMA0_QM_GLBL_STS0_CP_IDLE_MASK)6970#define QM_ARC_IDLE_MASK DCORE0_EDMA0_QM_GLBL_STS1_ARC_CQF_IDLE_MASK7172#define MME_ARCH_IDLE_MASK \73(DCORE0_MME_CTRL_LO_ARCH_STATUS_SB_IN_EMPTY_MASK | \74DCORE0_MME_CTRL_LO_ARCH_STATUS_AGU_COUT_SM_IDLE_MASK | \75DCORE0_MME_CTRL_LO_ARCH_STATUS_WBC_AXI_IDLE_MASK | \76DCORE0_MME_CTRL_LO_ARCH_STATUS_SB_IN_AXI_IDLE_MASK | \77DCORE0_MME_CTRL_LO_ARCH_STATUS_QM_IDLE_MASK | \78DCORE0_MME_CTRL_LO_ARCH_STATUS_QM_RDY_MASK)7980#define TPC_IDLE_MASK (DCORE0_TPC0_CFG_STATUS_SCALAR_PIPE_EMPTY_MASK | \81DCORE0_TPC0_CFG_STATUS_IQ_EMPTY_MASK | \82DCORE0_TPC0_CFG_STATUS_SB_EMPTY_MASK | \83DCORE0_TPC0_CFG_STATUS_QM_IDLE_MASK | \84DCORE0_TPC0_CFG_STATUS_QM_RDY_MASK)8586#define DCORE0_TPC0_QM_CGM_STS_AGENT_IDLE_MASK 0x1008788#define DCORE0_TPC0_EML_CFG_DBG_CNT_DBG_EXIT_MASK 0x408990/* CGM_IDLE_MASK is valid for all engines CGM idle check */91#define CGM_IDLE_MASK DCORE0_TPC0_QM_CGM_STS_AGENT_IDLE_MASK9293#define QM_GLBL_CFG1_PQF_STOP PDMA0_QM_GLBL_CFG1_PQF_STOP_MASK94#define QM_GLBL_CFG1_CQF_STOP PDMA0_QM_GLBL_CFG1_CQF_STOP_MASK95#define QM_GLBL_CFG1_CP_STOP PDMA0_QM_GLBL_CFG1_CP_STOP_MASK96#define QM_GLBL_CFG1_PQF_FLUSH PDMA0_QM_GLBL_CFG1_PQF_FLUSH_MASK97#define QM_GLBL_CFG1_CQF_FLUSH PDMA0_QM_GLBL_CFG1_CQF_FLUSH_MASK98#define QM_GLBL_CFG1_CP_FLUSH PDMA0_QM_GLBL_CFG1_CP_FLUSH_MASK99100#define QM_GLBL_CFG2_ARC_CQF_STOP PDMA0_QM_GLBL_CFG2_ARC_CQF_STOP_MASK101#define QM_GLBL_CFG2_ARC_CQF_FLUSH PDMA0_QM_GLBL_CFG2_ARC_CQF_FLUSH_MASK102103#define QM_ARB_ERR_MSG_EN_CHOISE_OVF_MASK 0x1104#define QM_ARB_ERR_MSG_EN_CHOISE_WDT_MASK 0x2105#define QM_ARB_ERR_MSG_EN_AXI_LBW_ERR_MASK 0x4106107#define QM_ARB_ERR_MSG_EN_MASK (\108QM_ARB_ERR_MSG_EN_CHOISE_OVF_MASK |\109QM_ARB_ERR_MSG_EN_CHOISE_WDT_MASK |\110QM_ARB_ERR_MSG_EN_AXI_LBW_ERR_MASK)111112#define PCIE_AUX_FLR_CTRL_HW_CTRL_MASK 0x1113#define PCIE_AUX_FLR_CTRL_INT_MASK_MASK 0x2114115#define MME_ACC_INTR_MASK_WBC_ERR_RESP_MASK GENMASK(1, 0)116#define MME_ACC_INTR_MASK_AP_SRC_POS_INF_MASK BIT(2)117#define MME_ACC_INTR_MASK_AP_SRC_NEG_INF_MASK BIT(3)118#define MME_ACC_INTR_MASK_AP_SRC_NAN_MASK BIT(4)119#define MME_ACC_INTR_MASK_AP_RESULT_POS_INF_MASK BIT(5)120#define MME_ACC_INTR_MASK_AP_RESULT_NEG_INF_MASK BIT(6)121122#define SM_CQ_L2H_MASK_VAL 0xFFFFFFFFFC000000ull123#define SM_CQ_L2H_CMPR_VAL 0x1000007FFC000000ull124#define SM_CQ_L2H_LOW_MASK GENMASK(31, 20)125#define SM_CQ_L2H_LOW_SHIFT 20126127#define MMU_STATIC_MULTI_PAGE_SIZE_HOP4_PAGE_SIZE_MASK \128REG_FIELD_MASK(DCORE0_HMMU0_MMU_STATIC_MULTI_PAGE_SIZE, HOP4_PAGE_SIZE)129#define STLB_HOP_CONFIGURATION_ONLY_LARGE_PAGE_MASK \130REG_FIELD_MASK(DCORE0_HMMU0_STLB_HOP_CONFIGURATION, ONLY_LARGE_PAGE)131132#define AXUSER_HB_SEC_ASID_MASK 0x3FF133#define AXUSER_HB_SEC_MMBP_MASK 0x400134135#define MMUBP_ASID_MASK (AXUSER_HB_SEC_ASID_MASK | AXUSER_HB_SEC_MMBP_MASK)136137#define ROT_MSS_HALT_WBC_MASK BIT(0)138#define ROT_MSS_HALT_RSB_MASK BIT(1)139#define ROT_MSS_HALT_MRSB_MASK BIT(2)140141#define PCIE_DBI_MSIX_ADDRESS_MATCH_LOW_OFF_MSIX_ADDRESS_MATCH_EN_SHIFT 0142#define PCIE_DBI_MSIX_ADDRESS_MATCH_LOW_OFF_MSIX_ADDRESS_MATCH_EN_MASK 0x1143144#define DCORE0_SYNC_MNGR_OBJS_SOB_OBJ_SIGN_SHIFT 15145#define DCORE0_SYNC_MNGR_OBJS_SOB_OBJ_SIGN_MASK 0x8000146147#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_ERR_INTR_SHIFT 0148#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_ERR_INTR_MASK 0x1149#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_LBW_ERR_INTR_SHIFT 1150#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_LBW_ERR_INTR_MASK 0x2151#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_BAD_ACCESS_INTR_SHIFT 2152#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_BAD_ACCESS_INTR_MASK 0x4153#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_ERR_INTR_MASK_SHIFT 3154#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_ERR_INTR_MASK_MASK 0x8155#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_LBW_ERR_INTR_MASK_SHIFT 4156#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_AXI_LBW_ERR_INTR_MASK_MASK 0x10157#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_BAD_ACCESS_INTR_MASK_SHIFT 5158#define PCIE_WRAP_PCIE_IC_SEI_INTR_IND_BAD_ACCESS_INTR_MASK_MASK 0x20159160#endif /* GAUDI2_MASKS_H_ */161162163