From b12453327d950e0ad23af13f4157d96d0165e278 Mon Sep 17 00:00:00 2001
From: Sushma Venkatesh Reddy <sushma.venkatesh.reddy@intel.com>
Date: Thu, 23 Jul 2020 11:32:16 -0700
Subject: [PATCH] Disable IPC in media driver next

TGL uses media_driver_next code so, to suffice Chrome OS sandbox
requirements we have to disable IPC on the files related to this.
Without this patch we are seeing, fallback to software.

It's not necessary to land this change upstream because the IPC code on
mos_context_specific_next.cpp has been removed as of
https://github.com/intel/media-driver/commit/b72eea6d22594441187dc4439e2ab760eaf77d2b.
Therefore, this patch should be unnecessary in the next iHD uprev.

Signed-off-by: Sushma Venkatesh Reddy <sushma.venkatesh.reddy@intel.com>
---
 .../common/os/mos_context_specific_next.cpp   | 32 -------------------
 1 file changed, 32 deletions(-)

diff --git a/media_driver/media_driver_next/linux/common/os/mos_context_specific_next.cpp b/media_driver/media_driver_next/linux/common/os/mos_context_specific_next.cpp
index 7c3a4409c05f..cfc628bfded5 100644
--- a/media_driver/media_driver_next/linux/common/os/mos_context_specific_next.cpp
+++ b/media_driver/media_driver_next/linux/common/os/mos_context_specific_next.cpp
@@ -514,32 +514,6 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext)
             return MOS_STATUS_UNKNOWN;
         }
 
-        if ((m_gtSystemInfo.VDBoxInfo.IsValid) && (m_gtSystemInfo.VDBoxInfo.NumberOfVDBoxEnabled > 1))
-        {
-            m_kmdHasVCS2 = true;
-        }
-        else
-        {
-            m_kmdHasVCS2 = false;
-        }
-    
-        if (m_kmdHasVCS2)
-        {
-            eStatus = CreateIPC();
-            if (eStatus != MOS_STATUS_SUCCESS)
-            {
-                MOS_OS_ASSERTMESSAGE("Fatal error - create IPC failed");
-                return eStatus;
-            }
-        }
-    
-        eStatus = CreateSSEUIPC();
-        if (eStatus != MOS_STATUS_SUCCESS)
-        {
-            MOS_OS_ASSERTMESSAGE("Fatal error - Failed to create shared memory for SSEU configuration.");
-            return eStatus;
-        }
-    
         m_transcryptedKernels       = nullptr;
         m_transcryptedKernelsSize   = 0;
 
@@ -596,12 +570,6 @@ void OsContextSpecificNext::Destroy()
             m_auxTableMgr = nullptr;
         }
 
-        if (m_kmdHasVCS2)
-        {
-            DestroyIPC();
-        }
-        DestroySSEUIPC();
-
         m_skuTable.reset();
         m_waTable.reset();
         if (m_intelContext && m_intelContext->vm)
-- 
2.20.1

