From e4864f4630e051e79dfdb4eb66929aad9e513a23 Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Fri, 4 Nov 2011 14:28:03 +0200 Subject: [PATCH] gfx: pvr: Implement uKernel assert fail status variable New uKernel has assert fail variable to check if micro kernel hit any assertions. That needs to be adapted in out control structure. Signed-off-by: Pauli Nieminen Signed-off-by: Imre Deak Signed-off-by: Kirill A. Shutemov --- drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h | 1 + .../staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h b/drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h index 6d72a18..8096eff 100644 --- a/drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h +++ b/drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h @@ -99,6 +99,7 @@ typedef struct _SGXMKIF_HOST_CTL_ IMG_UINT32 ui32TimeWraps; IMG_UINT32 ui32HostClock; + IMG_UINT32 ui32AssertFail; #if defined(SGX_FEATURE_EXTENDED_PERF_COUNTERS) IMG_UINT32 aui32PerfGroup[PVRSRV_SGX_HWPERF_NUM_COUNTERS]; diff --git a/drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c b/drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c index 7d6dd1c..ae5080f 100644 --- a/drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c +++ b/drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c @@ -969,10 +969,15 @@ static IMG_VOID SGXDumpDebugInfo (PVRSRV_SGXDEV_INFO *psDevInfo, QueueDumpDebugInfo(); { - + SGXMKIF_HOST_CTL *psSGXHostCtl = psDevInfo->psSGXHostCtl; + IMG_UINT32 *pui32HostCtlBuffer = (IMG_UINT32 *)psDevInfo->psSGXHostCtl; + IMG_UINT32 ui32LoopCounter; - IMG_UINT32 *pui32HostCtlBuffer = (IMG_UINT32 *)psDevInfo->psSGXHostCtl; - IMG_UINT32 ui32LoopCounter; + if (psSGXHostCtl->ui32AssertFail != 0) + { + PVR_LOG(("SGX Microkernel assert fail: 0x%08X", psSGXHostCtl->ui32AssertFail)); + psSGXHostCtl->ui32AssertFail = 0; + } PVR_LOG(("SGX Host control:")); -- 2.7.4