[Decode] Add OCA decode workload and resource dump info

to capture more info when TDR/PF happens.
diff --git a/media_driver/agnostic/common/hw/mhw_utilities.c b/media_driver/agnostic/common/hw/mhw_utilities.c
index 52f6365..f218294 100644
--- a/media_driver/agnostic/common/hw/mhw_utilities.c
+++ b/media_driver/agnostic/common/hw/mhw_utilities.c
@@ -158,7 +158,10 @@
         MOS_SFC_STATE               == pParams->HwCommandType   ||
         MOS_STATE_BASE_ADDR         == pParams->HwCommandType   ||
         MOS_SURFACE_STATE           == pParams->HwCommandType   ||
-        MOS_SURFACE_STATE_ADV       == pParams->HwCommandType)
+        MOS_SURFACE_STATE_ADV       == pParams->HwCommandType   ||
+        MOS_MFX_PIPE_BUF_ADDR       == pParams->HwCommandType   ||
+        MOS_MFX_VP8_PIC             == pParams->HwCommandType   ||
+        MOS_MFX_BSP_BUF_BASE_ADDR   == pParams->HwCommandType)
     {
         HalOcaInterface::DumpResourceInfo(*pCmdBuffer, *pOsInterface, *pParams->presResource, pParams->HwCommandType,
             pParams->dwLocationInCmd, pParams->dwOffset);
diff --git a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_applynoise_packet_g12.cpp b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_applynoise_packet_g12.cpp
index 2f10d6a..de295e3 100644
--- a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_applynoise_packet_g12.cpp
+++ b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_applynoise_packet_g12.cpp
@@ -29,6 +29,7 @@
 #include "decode_av1_filmgrain_feature_g12.h"
 #include "decode_av1_feature_defs_g12.h"
 #include "mos_defs.h"
+#include "hal_oca_interface.h"
 
 namespace decode 
 {
@@ -163,6 +164,10 @@
     RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pfnInitCommandBuffer(m_renderHal, commandBuffer, &GenericPrologParams));
     RENDER_PACKET_CHK_STATUS_RETURN(StartStatusReport(statusReportRcs, commandBuffer));
 
+    HalOcaInterface::On1stLevelBBStart(*commandBuffer, *m_osInterface->pOsContext, m_osInterface->CurrentGpuContextHandle,
+        *m_hwInterface->GetMiInterface(), *m_hwInterface->GetMiInterface()->GetMmioRegisters());
+    HalOcaInterface::TraceMessage(*commandBuffer, *m_osInterface->pOsContext, __FUNCTION__, sizeof(__FUNCTION__));
+
     if (pOsInterface && !m_av1BasicFeature->m_singleKernelPerfFlag)
     {
         pOsInterface->pfnSetPerfTag(pOsInterface, ((PERFTAG_CALL_FILM_GRAIN_AN_KERNEL << 8) | CODECHAL_DECODE_MODE_AV1VLD << 4 | m_av1BasicFeature->m_pictureCodingType));
@@ -235,6 +240,8 @@
     DECODE_CHK_STATUS(EndStatusReport(statusReportRcs, commandBuffer));
     DECODE_CHK_STATUS(UpdateStatusReport(statusReportGlobalCount, commandBuffer));
 
+    HalOcaInterface::On1stLevelBBEnd(*commandBuffer, *m_osInterface);
+
     if (pBatchBuffer)
     {
         // Send Batch Buffer end command (HW/OS dependent)
diff --git a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_grv_packet_g12.cpp b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_grv_packet_g12.cpp
index 8fb0673..d9524f5 100644
--- a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_grv_packet_g12.cpp
+++ b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_grv_packet_g12.cpp
@@ -28,6 +28,7 @@
 #include "decode_av1_filmgrain_feature_g12.h"
 #include "decode_av1_feature_defs_g12.h"
 #include "mos_defs.h"
+#include "hal_oca_interface.h"
 
 namespace decode
 {
@@ -178,6 +179,10 @@
     // Initialize command buffer and insert prolog
     RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pfnInitCommandBuffer(m_renderHal, commandBuffer, &GenericPrologParams));
 
+    HalOcaInterface::On1stLevelBBStart(*commandBuffer, *m_osInterface->pOsContext, m_osInterface->CurrentGpuContextHandle,
+        *m_hwInterface->GetMiInterface(), *m_hwInterface->GetMiInterface()->GetMmioRegisters());
+    HalOcaInterface::TraceMessage(*commandBuffer, *m_osInterface->pOsContext, __FUNCTION__, sizeof(__FUNCTION__));
+
     if (pOsInterface)
     {
         if (m_av1BasicFeature->m_singleKernelPerfFlag)
@@ -257,6 +262,8 @@
         RENDER_PACKET_CHK_STATUS_RETURN(pMhwMiInterface->AddMediaStateFlush(commandBuffer, nullptr, &FlushParam));
     }
 
+    HalOcaInterface::On1stLevelBBEnd(*commandBuffer, *m_osInterface);
+
     if (pBatchBuffer)
     {
         // Send Batch Buffer end command (HW/OS dependent)
diff --git a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp1_packet_g12.cpp b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp1_packet_g12.cpp
index f33f91e..66ad9e9 100644
--- a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp1_packet_g12.cpp
+++ b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp1_packet_g12.cpp
@@ -29,6 +29,7 @@
 #include "decode_av1_filmgrain_feature_g12.h"
 #include "decode_av1_feature_defs_g12.h"
 #include "mos_defs.h"
+#include "hal_oca_interface.h"
 
 namespace decode
 {
@@ -161,6 +162,10 @@
     // Initialize command buffer and insert prolog
     RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pfnInitCommandBuffer(m_renderHal, commandBuffer, &GenericPrologParams));
 
+    HalOcaInterface::On1stLevelBBStart(*commandBuffer, *m_osInterface->pOsContext, m_osInterface->CurrentGpuContextHandle,
+        *m_hwInterface->GetMiInterface(), *m_hwInterface->GetMiInterface()->GetMmioRegisters());
+    HalOcaInterface::TraceMessage(*commandBuffer, *m_osInterface->pOsContext, __FUNCTION__, sizeof(__FUNCTION__));
+
     if (pOsInterface && !m_av1BasicFeature->m_singleKernelPerfFlag)
     {
         pOsInterface->pfnSetPerfTag(pOsInterface, ((PERFTAG_CALL_FILM_GRAIN_RP1_KERNEL << 8) | CODECHAL_DECODE_MODE_AV1VLD << 4 | m_av1BasicFeature->m_pictureCodingType));
@@ -232,6 +237,8 @@
         RENDER_PACKET_CHK_STATUS_RETURN(pMhwMiInterface->AddMediaStateFlush(commandBuffer, nullptr, &FlushParam));
     }
 
+    HalOcaInterface::On1stLevelBBEnd(*commandBuffer, *m_osInterface);
+
     if (pBatchBuffer)
     {
         // Send Batch Buffer end command (HW/OS dependent)
diff --git a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp2_packet_g12.cpp b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp2_packet_g12.cpp
index 817f366..67dab2d 100644
--- a/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp2_packet_g12.cpp
+++ b/media_driver/media_driver_next/agnostic/gen12/codec/hal/dec/av1/packet/decode_filmgrain_gennoise_rp2_packet_g12.cpp
@@ -29,6 +29,7 @@
 #include "decode_av1_filmgrain_feature_g12.h"
 #include "decode_av1_feature_defs_g12.h"
 #include "mos_defs.h"
+#include "hal_oca_interface.h"
 
 namespace decode
 {
@@ -160,6 +161,10 @@
     // Initialize command buffer and insert prolog
     RENDER_PACKET_CHK_STATUS_RETURN(m_renderHal->pfnInitCommandBuffer(m_renderHal, commandBuffer, &GenericPrologParams));
 
+    HalOcaInterface::On1stLevelBBStart(*commandBuffer, *m_osInterface->pOsContext, m_osInterface->CurrentGpuContextHandle,
+        *m_hwInterface->GetMiInterface(), *m_hwInterface->GetMiInterface()->GetMmioRegisters());
+    HalOcaInterface::TraceMessage(*commandBuffer, *m_osInterface->pOsContext, __FUNCTION__, sizeof(__FUNCTION__));
+
     if(pOsInterface && !m_av1BasicFeature->m_singleKernelPerfFlag)
     {
         pOsInterface->pfnSetPerfTag(pOsInterface, ((PERFTAG_CALL_FILM_GRAIN_RP2_KERNEL << 8) | CODECHAL_DECODE_MODE_AV1VLD << 4 | m_av1BasicFeature->m_pictureCodingType));
@@ -231,6 +236,8 @@
         RENDER_PACKET_CHK_STATUS_RETURN(pMhwMiInterface->AddMediaStateFlush(commandBuffer, nullptr, &FlushParam));
     }
 
+    HalOcaInterface::On1stLevelBBEnd(*commandBuffer, *m_osInterface);
+
     if (pBatchBuffer)
     {
         // Send Batch Buffer end command (HW/OS dependent)