[Media Common] Add OCA interface for resource info

Add OCA interface for resource info.
diff --git a/media_driver/agnostic/common/hw/mhw_utilities.c b/media_driver/agnostic/common/hw/mhw_utilities.c
index 260407a..168e668 100644
--- a/media_driver/agnostic/common/hw/mhw_utilities.c
+++ b/media_driver/agnostic/common/hw/mhw_utilities.c
@@ -152,6 +152,17 @@
             &PatchEntryParams));
     }
 
+    if (MOS_VEBOX_STATE             == pParams->HwCommandType   ||
+        MOS_VEBOX_DI_IECP           == pParams->HwCommandType   ||
+        MOS_VEBOX_TILING_CONVERT    == pParams->HwCommandType   ||
+        MOS_SFC_STATE               == pParams->HwCommandType   ||
+        MOS_STATE_BASE_ADDR         == pParams->HwCommandType   ||
+        MOS_SURFACE_STATE           == pParams->HwCommandType   ||
+        MOS_SURFACE_STATE_ADV       == pParams->HwCommandType)
+    {
+        HalOcaInterface::DumpResourceInfo(*pCmdBuffer, *pOsInterface, *pParams->presResource);
+    }
+
 finish:
     return eStatus;
 }
diff --git a/media_driver/agnostic/common/os/mos_oca_interface.h b/media_driver/agnostic/common/os/mos_oca_interface.h
index 70fb64e..16f5953 100644
--- a/media_driver/agnostic/common/os/mos_oca_interface.h
+++ b/media_driver/agnostic/common/os/mos_oca_interface.h
@@ -198,6 +198,22 @@
     }
 
     //!
+    //! \brief  Add resource to dump list.
+    //! \param  [in] hOcaBuf
+    //!         Oca buffer handle.
+    //! \param  [in] mosCtx
+    //!         DDI device context.
+    //! \param  [in] resource
+    //!         Reference to MOS_RESOURCE.
+    //! \return MOS_STATUS
+    //!         Return MOS_STATUS_SUCCESS if successful, otherwise failed
+    //!
+    virtual MOS_STATUS AddResourceToDumpList(MOS_OCA_BUFFER_HANDLE hOcaBuf, PMOS_CONTEXT mosCtx, MOS_RESOURCE &resource)
+    {
+        return MOS_STATUS_UNIMPLEMENTED;
+    }
+
+    //!
     //! \brief  Add data block to oca log section.
     //! \param  [in] hOcaBuf
     //!         Oca buffer handle.
diff --git a/media_driver/agnostic/common/renderhal/hal_oca_interface.h b/media_driver/agnostic/common/renderhal/hal_oca_interface.h
index a1f027d..d147d8f 100644
--- a/media_driver/agnostic/common/renderhal/hal_oca_interface.h
+++ b/media_driver/agnostic/common/renderhal/hal_oca_interface.h
@@ -171,6 +171,19 @@
     //! \brief  Add vp kernel info to oca log section.
     //! \param  [in] cmdBuffer
     //!         Command buffer for current BB.
+    //! \param  [in] osInterface
+    //!         Reference to MOS_INTERFACE.
+    //! \param  [in] res
+    //!         Reference to MOS_RESOURCE.
+    //! \return void
+    //!         No return value. Handle all exception inside the function.
+    //!
+    static void DumpResourceInfo(MOS_COMMAND_BUFFER &cmdBuffer, MOS_INTERFACE &osInterface, MOS_RESOURCE &res);
+
+    //!
+    //! \brief  Add vp kernel info to oca log section.
+    //! \param  [in] cmdBuffer
+    //!         Command buffer for current BB.
     //! \param  [in] mosContext
     //!         Reference to MOS_CONTEXT.
     //! \param  [in] vpKernelID
diff --git a/media_driver/agnostic/common/renderhal/renderhal.cpp b/media_driver/agnostic/common/renderhal/renderhal.cpp
index dbee9e3..80e87cd 100644
--- a/media_driver/agnostic/common/renderhal/renderhal.cpp
+++ b/media_driver/agnostic/common/renderhal/renderhal.cpp
@@ -6708,6 +6708,11 @@
         *(pdwCmd + 1) = pSurfaceStateToken->DW5.SurfaceBaseAddress64;
     }
 
+    if (pSurfaceStateToken->pResourceInfo)
+    {
+        HalOcaInterface::DumpResourceInfo(*pCmdBuffer, *pOsInterface, *(PMOS_RESOURCE)(pSurfaceStateToken->pResourceInfo));
+    }
+
     MOS_PATCH_ENTRY_PARAMS PatchEntryParams;
 
     uint8_t *pbPtrCmdBuf = (uint8_t *)pCmdBuffer->pCmdBase;
diff --git a/media_driver/linux/common/renderhal/hal_oca_interface.cpp b/media_driver/linux/common/renderhal/hal_oca_interface.cpp
index d1c2c0d..e78b868 100644
--- a/media_driver/linux/common/renderhal/hal_oca_interface.cpp
+++ b/media_driver/linux/common/renderhal/hal_oca_interface.cpp
@@ -183,6 +183,21 @@
 //! \brief  Add vp kernel info to oca log section.
 //! \param  [in] cmdBuffer
 //!         Command buffer for current BB.
+//! \param  [in] osInterface
+//!         Reference to MOS_INTERFACE.
+//! \param  [in] res
+//!         Reference to MOS_RESOURCE.
+//! \return void
+//!         No return value. Handle all exception inside the function.
+//!
+void HalOcaInterface::DumpResourceInfo(MOS_COMMAND_BUFFER &cmdBuffer, MOS_INTERFACE &osInterface, MOS_RESOURCE &res)
+{
+}
+
+//!
+//! \brief  Add vp kernel info to oca log section.
+//! \param  [in] cmdBuffer
+//!         Command buffer for current BB.
 //! \param  [in] mosContext
 //!         Reference to MOS_CONTEXT.
 //! \param  [in] vpKernelID