aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libva/files/0007-Skip-report-keys.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/libva/files/0007-Skip-report-keys.patch')
-rw-r--r--recipes-multimedia/libva/files/0007-Skip-report-keys.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/recipes-multimedia/libva/files/0007-Skip-report-keys.patch b/recipes-multimedia/libva/files/0007-Skip-report-keys.patch
new file mode 100644
index 00000000..459ff490
--- /dev/null
+++ b/recipes-multimedia/libva/files/0007-Skip-report-keys.patch
@@ -0,0 +1,78 @@
+From b1aebef4d342c77fc2b9c5efbf20aeb2aa9d634e Mon Sep 17 00:00:00 2001
+From: Wang_Pingli <pingli.wang@intel.com>
+Date: Thu, 28 Dec 2023 16:44:40 +0800
+Subject: [PATCH 07/12] Skip report keys
+
+Skip to report keys
+
+Upstream-Status: Backport [https://github.com/intel/media-driver/commit/68ce25b0a6fa90614eb4734c8680aa4e149e8323]
+Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com>
+---
+ .../os/osservice/mos_utilities_specific.cpp | 30 +++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
+index b5df29f06..96785e21e 100644
+--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
++++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
+@@ -67,6 +67,8 @@ int32_t g_mosMemoryFailSimulateAllocCounter = 0;
+ int32_t *MosUtilities::m_mosAllocMemoryFailSimulateAllocCounter = &g_mosMemoryFailSimulateAllocCounter;
+ #endif
+
++static bool s_skipToReportReg = false;
++
+ double MosUtilities::MosGetTime()
+ {
+ struct timespec ts = {};
+@@ -1551,6 +1553,10 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap &regBufferMap)
+ {
+ std::string id = "";
+
++ static const char *disableReportRegKeyList[] = {
++ "INTEL MEDIA ALLOC MODE"
++ };
++ static const uint32_t disableReportRegKeyListCount = sizeof(disableReportRegKeyList) / sizeof(disableReportRegKeyList[0]);
+ while(!regStream.eof())
+ {
+ std::string line = "";
+@@ -1585,8 +1591,22 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap &regBufferMap)
+ {
+ std::string name = line.substr(0,pos);
+ std::string value = line.substr(pos+1);
+- auto &keys = regBufferMap[id];
+- keys[name] = value;
++ if (name.size() > 0 && value.size() > 0)
++ {
++ auto &keys = regBufferMap[id];
++ keys[name] = value;
++ if (s_skipToReportReg == false && id == USER_SETTING_CONFIG_PATH)
++ {
++ for (uint32_t i = 0; i < disableReportRegKeyListCount; i++)
++ {
++ if (strcmp(name.c_str(), disableReportRegKeyList[i]) == 0)
++ {
++ s_skipToReportReg = true;
++ break;
++ }
++ }
++ }
++ }
+ }
+ }
+ }
+@@ -1606,6 +1626,12 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap &regBufferMap)
+ MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap &regBufferMap)
+ {
+ MOS_STATUS status = MOS_STATUS_SUCCESS;
++
++ if (s_skipToReportReg)
++ {
++ return MOS_STATUS_SUCCESS;
++ }
++
+ if (regBufferMap.size() == 0)
+ {
+ return MOS_STATUS_SUCCESS;
+--
+2.40.1
+