[CM] Fix kw issues reported in ww26.(CL#777248)
Change-Id: I9c421f872ce8c59185d877f704496dc3f8999a40
diff --git a/media_driver/agnostic/common/cm/cm_buffer_rt.cpp b/media_driver/agnostic/common/cm/cm_buffer_rt.cpp
index 05e2f5f..64e5fab 100644
--- a/media_driver/agnostic/common/cm/cm_buffer_rt.cpp
+++ b/media_driver/agnostic/common/cm/cm_buffer_rt.cpp
@@ -129,7 +129,11 @@
// Lock Buffer first
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
+
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_BUFFER_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_BUFFER_PARAM ) );
@@ -188,7 +192,10 @@
// Lock Buffer first
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_BUFFER_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_BUFFER_PARAM ) );
@@ -233,9 +240,11 @@
CmDeviceRT* cmDevice = nullptr;
m_surfaceMgr->GetCmDevice( cmDevice );
- CM_ASSERT( cmDevice );
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_BUFFER_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_BUFFER_PARAM ) );
@@ -268,8 +277,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;
@@ -309,18 +320,11 @@
}
CmDeviceRT* cmDevice = nullptr;
m_surfaceMgr->GetCmDevice( cmDevice );
- if (nullptr == cmDevice)
- {
- CM_ASSERTMESSAGE("Error: Invalid CmDevice.");
- return CM_NULL_POINTER;
- }
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- if (nullptr == cmData)
- {
- CM_ASSERTMESSAGE("Error: Invalid CM context data.");
- return CM_NULL_POINTER;
- }
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_BUFFER_SURFACE_STATE_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( inParam ) );
@@ -474,7 +478,12 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CM_ASSERT(cmDevice);
+
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CM_ASSERT(cmData);
+ CM_ASSERT(cmData->cmHalState);
+
CM_HAL_BUFFER_PARAM inParam;
CmSafeMemSet(&inParam, 0, sizeof(CM_HAL_BUFFER_PARAM));
inParam.lockFlag = CM_HAL_LOCKFLAG_READONLY;
diff --git a/media_driver/agnostic/common/cm/cm_surface_2d_rt.cpp b/media_driver/agnostic/common/cm/cm_surface_2d_rt.cpp
index 1613dd4..c372f53 100644
--- a/media_driver/agnostic/common/cm/cm_surface_2d_rt.cpp
+++ b/media_driver/agnostic/common/cm/cm_surface_2d_rt.cpp
@@ -129,6 +129,8 @@
CM_STATUS status;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
+
int32_t result = m_surfaceMgr->GetPixelBytesAndHeight(m_width, m_height, m_format, sizePerPixel, updatedHeight);
if (result != CM_SUCCESS)
{
@@ -232,6 +234,7 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
//Lock for surface read/write
CSync* surfaceLock = cmDevice->GetSurfaceLock();
@@ -239,6 +242,8 @@
CLock locker(*surfaceLock);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
@@ -311,6 +316,8 @@
CM_STATUS status;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
+
int32_t result = m_surfaceMgr->GetPixelBytesAndHeight(m_width, m_height, m_format, sizePerPixel, updatedHeight);
if (result != CM_SUCCESS)
{
@@ -416,6 +423,7 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
//Lock for surface read/write
CSync* surfaceLock = cmDevice->GetSurfaceLock();
@@ -423,6 +431,8 @@
CLock locker(*surfaceLock);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
@@ -517,6 +527,7 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
//Lock for surface read/write
CSync* surfaceLock = cmDevice->GetSurfaceLock();
@@ -524,6 +535,8 @@
CLock locker(*surfaceLock);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
@@ -582,6 +595,8 @@
mmcModeParam.mmcMode = mmcMode;
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
CM_ASSERT(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
+
CHK_MOSSTATUS_RETURN_CMERROR(cmData->cmHalState->pfnSetCompressionMode(cmData->cmHalState, mmcModeParam));
finish:
@@ -643,6 +658,7 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
//Lock for surface read/write
CSync* surfaceLock = cmDevice->GetSurfaceLock();
@@ -650,6 +666,8 @@
CLock locker(*surfaceLock);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
@@ -756,6 +774,7 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
//Lock for surface read/write
CSync* surfaceLock = cmDevice->GetSurfaceLock();
@@ -763,6 +782,8 @@
CLock locker(*surfaceLock);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
@@ -952,7 +973,10 @@
CMCHK_HR(m_surfaceMgr->GetPixelBytesAndHeight(m_width, m_height, m_format, sizePerPixel, updatedHeight));
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
CmSafeMemSet( &inParam, 0, sizeof( CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM ) );
inParam.width = m_width;
@@ -1007,8 +1031,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;
@@ -1106,7 +1132,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
hr = cmData->cmHalState->pfnSetSurfaceReadFlag(cmData->cmHalState, m_handle, readSync);
@@ -1155,6 +1184,8 @@
CmDeviceRT * cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CM_ASSERT(cmDevice);
+
CSync* surfaceLock = cmDevice->GetSurfaceLock();
CM_ASSERT(surfaceLock);
CLock locker(*surfaceLock);
@@ -1171,6 +1202,9 @@
std::vector<char>surface(surfaceSize);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
+ CM_ASSERT(cmData);
+ CM_ASSERT(cmData->cmHalState);
+
CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM inParam;
CmSafeMemSet(&inParam, 0, sizeof(CM_HAL_SURFACE2D_LOCK_UNLOCK_PARAM));
inParam.width = m_width;
diff --git a/media_driver/agnostic/common/cm/cm_surface_2d_up_rt.cpp b/media_driver/agnostic/common/cm/cm_surface_2d_up_rt.cpp
index dac40ac..2d5f6bd 100644
--- a/media_driver/agnostic/common/cm/cm_surface_2d_up_rt.cpp
+++ b/media_driver/agnostic/common/cm/cm_surface_2d_up_rt.cpp
@@ -145,8 +145,11 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
+
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;
diff --git a/media_driver/agnostic/common/cm/cm_surface_3d_rt.cpp b/media_driver/agnostic/common/cm/cm_surface_3d_rt.cpp
index 8909ac8..9131595 100644
--- a/media_driver/agnostic/common/cm/cm_surface_3d_rt.cpp
+++ b/media_driver/agnostic/common/cm/cm_surface_3d_rt.cpp
@@ -150,6 +150,8 @@
m_surfaceMgr->GetCmDevice( device );
CM_ASSERT( device );
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)device->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
inParam.handle = m_handle;
inParam.data = (void*)sysMem; //Any non-nullptr value will work
@@ -282,6 +284,8 @@
m_surfaceMgr->GetCmDevice( device );
CM_ASSERT( device );
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)device->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
inParam.handle = m_handle;
inParam.data = (void*)sysMem; //Any non-nullptr value will work
@@ -409,6 +413,8 @@
m_surfaceMgr->GetCmDevice( device );
CM_ASSERT( device );
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)device->GetAccelData();
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
uint32_t sizePerPixel = 0;
uint32_t updatedHeight = 0;
@@ -493,8 +499,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;
@@ -562,6 +570,8 @@
m_surfaceMgr->GetCmDevice(device);
CM_ASSERT(device);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)device->GetAccelData();
+ CM_ASSERT(cmData);
+ CM_ASSERT(cmData->cmHalState);
inParam.handle = m_handle;
inParam.data = (void*)&surface[0];
diff --git a/media_driver/agnostic/common/cm/cm_surface_sampler.cpp b/media_driver/agnostic/common/cm/cm_surface_sampler.cpp
index 5df5064..ea69f87 100644
--- a/media_driver/agnostic/common/cm/cm_surface_sampler.cpp
+++ b/media_driver/agnostic/common/cm/cm_surface_sampler.cpp
@@ -124,8 +124,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;
diff --git a/media_driver/agnostic/common/cm/cm_surface_sampler8x8.cpp b/media_driver/agnostic/common/cm/cm_surface_sampler8x8.cpp
index e16ddc2..cf35114 100644
--- a/media_driver/agnostic/common/cm/cm_surface_sampler8x8.cpp
+++ b/media_driver/agnostic/common/cm/cm_surface_sampler8x8.cpp
@@ -154,8 +154,10 @@
CmDeviceRT *cmDevice = nullptr;
m_surfaceMgr->GetCmDevice(cmDevice);
+ CMCHK_NULL_AND_RETURN(cmDevice);
PCM_CONTEXT_DATA cmData = (PCM_CONTEXT_DATA)cmDevice->GetAccelData();
- CMCHK_NULL(cmData);
+ CMCHK_NULL_AND_RETURN(cmData);
+ CMCHK_NULL_AND_RETURN(cmData->cmHalState);
mocs = (m_memObjCtrl.mem_ctrl << 8) | (m_memObjCtrl.mem_type<<4) | m_memObjCtrl.age;