diff options
Diffstat (limited to 'recipes-multimedia/libva/files/0007-Skip-report-keys.patch')
-rw-r--r-- | recipes-multimedia/libva/files/0007-Skip-report-keys.patch | 78 |
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 ®BufferMap) + { + 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 ®BufferMap) + { + 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 ®BufferMap) + MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap ®BufferMap) + { + MOS_STATUS status = MOS_STATUS_SUCCESS; ++ ++ if (s_skipToReportReg) ++ { ++ return MOS_STATUS_SUCCESS; ++ } ++ + if (regBufferMap.size() == 0) + { + return MOS_STATUS_SUCCESS; +-- +2.40.1 + |