diff --git a/plat/nvidia/tegra/soc/t186/drivers/include/mce_private.h b/plat/nvidia/tegra/soc/t186/drivers/include/mce_private.h index 96a5525a6..203f61a5d 100644 --- a/plat/nvidia/tegra/soc/t186/drivers/include/mce_private.h +++ b/plat/nvidia/tegra/soc/t186/drivers/include/mce_private.h @@ -64,19 +64,17 @@ #define MCA_ARG_FINISH_MASK U(0xFF) /******************************************************************************* - * Uncore PERFMON ARI struct + * Uncore PERFMON ARI macros ******************************************************************************/ #define UNCORE_PERFMON_CMD_READ U(0) #define UNCORE_PERFMON_CMD_WRITE U(1) #define UNCORE_PERFMON_CMD_MASK U(0xFF) -#define UNCORE_PERFMON_CMD_SHIFT U(24) #define UNCORE_PERFMON_UNIT_GRP_MASK U(0xF) #define UNCORE_PERFMON_SELECTOR_MASK U(0xF) #define UNCORE_PERFMON_REG_MASK U(0xFF) #define UNCORE_PERFMON_CTR_MASK U(0xFF) #define UNCORE_PERFMON_RESP_STATUS_MASK U(0xFF) -#define UNCORE_PERFMON_RESP_STATUS_SHIFT U(24) /******************************************************************************* * Structure populated by arch specific code to export routines which perform diff --git a/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c b/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c index 602a0562d..a57bc11b9 100644 --- a/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c +++ b/plat/nvidia/tegra/soc/t186/drivers/mce/ari.c @@ -503,7 +503,7 @@ int32_t ari_read_write_uncore_perfmon(uint32_t ari_base, uint64_t req, uint32_t val, req_status; uint8_t req_cmd; - req_cmd = (uint8_t)(req >> UNCORE_PERFMON_CMD_SHIFT); + req_cmd = (uint8_t)(req & UNCORE_PERFMON_CMD_MASK); /* clean the previous response state */ ari_clobber_response(ari_base); @@ -533,7 +533,7 @@ int32_t ari_read_write_uncore_perfmon(uint32_t ari_base, uint64_t req, * For "read" commands get the data from the uncore * perfmon registers */ - req_status >>= UNCORE_PERFMON_RESP_STATUS_SHIFT; + req_status &= UNCORE_PERFMON_RESP_STATUS_MASK; if ((req_status == 0U) && (req_cmd == UNCORE_PERFMON_CMD_READ)) { *data = ari_get_response_low(ari_base); }