From c482a603276273419b6f4adbcea183787dd03582 Mon Sep 17 00:00:00 2001 From: Wengang Wu Date: Mon, 30 Jun 2014 11:15:38 -0500 Subject: IKXCLOCK-1806 pvr ver 3: Disabling LLS (Low Latency Scheduling) for SGX DDK Low latency scheduling divides each 3D task into 4 subtasks, where each subtask renders a quadrant of the output buffer. This adds additional overhead on both the CPU and GPU, and is not necessary when working with the small output buffers we use due to the low resolution on xclock's display. SUPPORT_SGX_PRIORITY_SCHEDULING was not explicitly enabled before, but was enabled automatically by SUPPORT_SGX_LOW_LATENCY_SCHEDULING. Enable this feature explicitly so that it stays on when LLS is disabled. This change must be made to the user and kernel drivers at the same time or the GPU driver will not start. Change-Id: I21081f37edc42e050a048ce864c5aa7d4552a69e --- drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c') diff --git a/drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c b/drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c index ea1fcaf319d..dcbc09ff677 100755 --- a/drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c +++ b/drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c @@ -172,19 +172,24 @@ PVRSRV_ERROR FreeDeviceID(SYS_DATA *psSysData, IMG_UINT32 ui32DevID) ******************************************************************************/ IMG_VOID IMG_CALLCONV PVRSRVCompatCheckKM(PVRSRV_BRIDGE_IN_COMPAT_CHECK *psUserModeDDKDetails, PVRSRV_BRIDGE_RETURN *psRetOUT) { +#if defined(MOT_BUILD) + IMG_UINT32 ui32DDKBuild = PVRVERSION_MOTBUILD; +#else + IMG_UINT32 ui32DDKBuild = PVRVERSION_BUILD; +#endif if(psUserModeDDKDetails->ui32DDKVersion != ((PVRVERSION_MAJ << 16) | (PVRVERSION_MIN << 8)) - || (psUserModeDDKDetails->ui32DDKBuild != PVRVERSION_BUILD)) + || (psUserModeDDKDetails->ui32DDKBuild != ui32DDKBuild)) { psRetOUT->eError = PVRSRV_ERROR_DDK_VERSION_MISMATCH; PVR_DPF((PVR_DBG_ERROR, "(FAIL) UM-KM DDK Mismatch UM-(%d) KM-(%d).", - psUserModeDDKDetails->ui32DDKBuild, PVRVERSION_BUILD)); + psUserModeDDKDetails->ui32DDKBuild, ui32DDKBuild)); } else { psRetOUT->eError = PVRSRV_OK; PVR_DPF((PVR_DBG_MESSAGE, "UM DDK-(%d) and KM DDK-(%d) match. [ OK ]", - psUserModeDDKDetails->ui32DDKBuild ,PVRVERSION_BUILD)); + psUserModeDDKDetails->ui32DDKBuild, ui32DDKBuild)); } } -- cgit v1.2.3-70-g09d2