diff options
| author | Wengang Wu <wgw@motorola.com> | 2014-06-30 11:15:38 -0500 | 
|---|---|---|
| committer | Wengang Wu <wgw@motorola.com> | 2014-07-01 19:11:24 +0000 | 
| commit | c482a603276273419b6f4adbcea183787dd03582 (patch) | |
| tree | 35f90d0e1c45dcf41df5c92ab375e3a24459de15 /drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c | |
| parent | 4ef0c4d2561955eeafc1585627736c561ea65bb7 (diff) | |
| download | olio-linux-3.10-c482a603276273419b6f4adbcea183787dd03582.tar.xz olio-linux-3.10-c482a603276273419b6f4adbcea183787dd03582.zip | |
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
Diffstat (limited to 'drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c')
| -rwxr-xr-x | drivers/gpu/pvr/services4/srvkm/common/pvrsrv.c | 11 | 
1 files changed, 8 insertions, 3 deletions
| 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));  	}  } |