From bc8436698e070e29e187f8d995dd000bd93a5a25 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E6=9D=9C=E5=9D=A4=E6=98=8E?= Date: Thu, 9 Dec 2010 20:41:05 +0800 Subject: [PATCH] update gpu driver to 2010.2.5.3.2 --- drivers/staging/rk29/vivante/Kbuild_ | 6 + drivers/staging/rk29/vivante/Makefile | 17 +- .../XAQ2/hal/kernel/gc_hal_kernel_hardware.c | 6 + drivers/staging/rk29/vivante/hal/inc/gc_hal.h | 15 ++ .../rk29/vivante/hal/inc/gc_hal_base.h | 67 +++++++ .../rk29/vivante/hal/inc/gc_hal_compiler.h | 114 +++++++++++ .../rk29/vivante/hal/inc/gc_hal_engine.h | 48 +++++ .../rk29/vivante/hal/inc/gc_hal_profiler.h | 81 +++++--- .../vivante/hal/kernel/gc_hal_kernel_event.c | 33 ++-- .../vivante/hal/kernel/gc_hal_kernel_heap.c | 12 +- .../staging/rk29/vivante/hal/makefile.linux | 2 +- .../rk29/vivante/hal/os/libGAL.def.mak | 5 +- .../os/linux/kernel/gc_hal_kernel_device.c | 3 +- .../os/linux/kernel/gc_hal_kernel_device.h | 6 + .../os/linux/kernel/gc_hal_kernel_driver.c | 25 ++- .../hal/os/linux/kernel/gc_hal_kernel_os.c | 181 +++++++++++++++++- .../hal/os/linux/kernel/gc_hal_kernel_os.h | 13 +- .../hal/os/qnx/inc/gc_hal_common_qnx.h | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_debug.c | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_device.c | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_device.h | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_driver.c | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_os.c | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_os.h | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_qnx.c | 2 +- .../hal/os/qnx/kernel/gc_hal_kernel_qnx.h | 2 +- .../vivante/hal/os/qnx/kernel/makefile.linux | 2 +- .../rk29/vivante/hal/os/qnx/makefile.linux | 2 +- 28 files changed, 563 insertions(+), 93 deletions(-) diff --git a/drivers/staging/rk29/vivante/Kbuild_ b/drivers/staging/rk29/vivante/Kbuild_ index ec0cc6c88a46..dc85ba141e45 100644 --- a/drivers/staging/rk29/vivante/Kbuild_ +++ b/drivers/staging/rk29/vivante/Kbuild_ @@ -158,6 +158,12 @@ else EXTRA_CFLAGS += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=0 endif +ifeq ($(gcdkREPORT_VIDMEM_USAGE), 1) +EXTRA_CFLAGS += -DgcdkREPORT_VIDMEM_USAGE=1 +else +EXTRA_CFLAGS += -DgcdkREPORT_VIDMEM_USAGE=0 +endif + EXTRA_CFLAGS += -I$(AQROOT)/hal/inc EXTRA_CFLAGS += -I$(AQROOT)/hal/kernel EXTRA_CFLAGS += -I$(AQARCH)/hal/kernel diff --git a/drivers/staging/rk29/vivante/Makefile b/drivers/staging/rk29/vivante/Makefile index 9aa5dfade07e..e0b7a6b6a8eb 100644 --- a/drivers/staging/rk29/vivante/Makefile +++ b/drivers/staging/rk29/vivante/Makefile @@ -50,24 +50,19 @@ else ABI ?= aapcs-linux endif -################################################################ # Force to use dma_coherent_* stuff. +NO_DMA_COHERENT ?= 1 -NO_DMA_COHERENT ?= 0 +# Enable to start GPU clock in drver. +ENABLE_GPU_CLOCK_BY_DRIVER = 1 -################################################################ # Set this value to 1 if you are using ARM L2 cache. - ENABLE_ARM_L2_CACHE = 1 -################################################################ # Set this value to 1 if you are using DOVE board. CONFIG_DOVE_GPU = 0 -ENABLE_GPU_CLOCK_BY_DRIVER = 1 - - AQROOT ?= drivers/staging/rk29/vivante AQARCH ?= $(AQROOT)/arch/XAQ2 @@ -191,6 +186,12 @@ else EXTRA_CFLAGS += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=0 endif +ifeq ($(gcdkREPORT_VIDMEM_USAGE), 1) +EXTRA_CFLAGS += -DgcdkREPORT_VIDMEM_USAGE=1 +else +EXTRA_CFLAGS += -DgcdkREPORT_VIDMEM_USAGE=0 +endif + EXTRA_CFLAGS += -I$(AQROOT)/hal/inc EXTRA_CFLAGS += -I$(AQROOT)/hal/kernel EXTRA_CFLAGS += -I$(AQARCH)/hal/kernel diff --git a/drivers/staging/rk29/vivante/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c b/drivers/staging/rk29/vivante/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c index edf347193315..d860930e830d 100644 --- a/drivers/staging/rk29/vivante/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c +++ b/drivers/staging/rk29/vivante/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c @@ -126,6 +126,8 @@ _IdentifyHardware( /* Disable fast clear flush on some specific cores. */ if (((*ChipModel == gcv600) && (*ChipRevision == 0x4302)) +/* || ((*ChipModel == gcv530) && (*ChipRevision == 0x4303)) + || ((*ChipModel == gcv800) && (*ChipRevision == 0x4301)) */ ) { *ChipMinorFeatures0 = ((((gctUINT32) (*ChipMinorFeatures0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))); @@ -317,6 +319,10 @@ gckHARDWARE_Construct( gcmkVERIFY_OBJECT(Os, gcvOBJ_OS); gcmkVERIFY_ARGUMENT(Hardware != gcvNULL); + /* Enable the GPU. */ + gcmkONERROR(gckOS_SetGPUPower(Os, gcvTRUE, gcvTRUE)); + gcmkONERROR(gckOS_WriteRegister(Os, 0x00000, 0)); + /* Identify the hardware. */ gcmkONERROR(_IdentifyHardware(Os, &chipModel, diff --git a/drivers/staging/rk29/vivante/hal/inc/gc_hal.h b/drivers/staging/rk29/vivante/hal/inc/gc_hal.h index 01e7d36aeeea..bc46f3b06aae 100644 --- a/drivers/staging/rk29/vivante/hal/inc/gc_hal.h +++ b/drivers/staging/rk29/vivante/hal/inc/gc_hal.h @@ -231,6 +231,21 @@ gckOS_FreeMemory( IN gctPOINTER Memory ); +/* Allocate paged memory. */ +gceSTATUS +gckOS_AllocateVirtualMemory( + IN gckOS Os, + IN gctSIZE_T Bytes, + OUT gctPOINTER * Memory + ); + +/* Wrapper for freeing virtual memory. */ +gceSTATUS +gckOS_FreeVirtualMemory( + IN gckOS Os, + IN gctPOINTER Memory + ); + /* Allocate paged memory. */ gceSTATUS gckOS_AllocatePagedMemory( diff --git a/drivers/staging/rk29/vivante/hal/inc/gc_hal_base.h b/drivers/staging/rk29/vivante/hal/inc/gc_hal_base.h index 738d1893dbec..3edb7f42e639 100644 --- a/drivers/staging/rk29/vivante/hal/inc/gc_hal_base.h +++ b/drivers/staging/rk29/vivante/hal/inc/gc_hal_base.h @@ -489,6 +489,72 @@ gcoOS_Write( IN gctCONST_POINTER Data ); +/* Flush data to a file. */ +gceSTATUS +gcoOS_Flush( + IN gcoOS Os, + IN gctFILE File + ); + +/* Create an endpoint for communication. */ +gceSTATUS +gcoOS_Socket( + IN gcoOS Os, + IN gctINT Domain, + IN gctINT Type, + IN gctINT Protocol, + OUT gctINT *SockFd + ); + +/* Close a socket. */ +gceSTATUS +gcoOS_CloseSocket( + IN gcoOS Os, + IN gctINT SockFd + ); + +/* Initiate a connection on a socket. */ +gceSTATUS +gcoOS_Connect( + IN gcoOS Os, + IN gctINT SockFd, + IN gctCONST_POINTER HostName, + IN gctUINT Port); + +/* Shut down part of connection on a socket. */ +gceSTATUS +gcoOS_Shutdown( + IN gcoOS Os, + IN gctINT SockFd, + IN gctINT How + ); + +/* Send a message on a socket. */ +gceSTATUS +gcoOS_Send( + IN gcoOS Os, + IN gctINT SockFd, + IN gctSIZE_T ByteCount, + IN gctCONST_POINTER Data, + IN gctINT Flags + ); + +/* Initiate a connection on a socket. */ +gceSTATUS +gcoOS_WaitForSend( + IN gcoOS Os, + IN gctINT SockFd, + IN gctINT Seconds, + IN gctINT MicroSeconds); + +/* Get environment variable value. */ +gceSTATUS +gcoOS_GetEnv( + IN gcoOS Os, + IN gctCONST_STRING VarName, + OUT gctSTRING * Value + ); + typedef enum _gceFILE_WHENCE { gcvFILE_SEEK_SET, @@ -1846,6 +1912,7 @@ gcoOS_DebugTraceZone( #define gcmOPT_VALUE(ptr) (((ptr) == gcvNULL) ? 0 : *(ptr)) #define gcmOPT_POINTER(ptr) (((ptr) == gcvNULL) ? gcvNULL : *(ptr)) +#define gcmOPT_STRING(ptr) (((ptr) == gcvNULL) ? "(nil)" : (ptr)) void gcoOS_Print( diff --git a/drivers/staging/rk29/vivante/hal/inc/gc_hal_compiler.h b/drivers/staging/rk29/vivante/hal/inc/gc_hal_compiler.h index 6bc96b24bd1c..1f6cf3ff8296 100644 --- a/drivers/staging/rk29/vivante/hal/inc/gc_hal_compiler.h +++ b/drivers/staging/rk29/vivante/hal/inc/gc_hal_compiler.h @@ -380,6 +380,25 @@ gcSHADER_Save( IN OUT gctSIZE_T * BufferSize ); +/******************************************************************************* +** gcSHADER_ReallocateAttributes +** +** Reallocate an array of pointers to gcATTRIBUTE objects. +** +** INPUT: +** +** gcSHADER Shader +** Pointer to a gcSHADER object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcSHADER_ReallocateAttributes( + IN gcSHADER Shader, + IN gctSIZE_T Count + ); + /******************************************************************************* ** gcSHADER_AddAttribute ******************************************************************************** @@ -494,6 +513,25 @@ gcSHADER_GetPositionAttribute( OUT gcATTRIBUTE * Attribute ); +/******************************************************************************* +** gcSHADER_ReallocateUniforms +** +** Reallocate an array of pointers to gcUNIFORM objects. +** +** INPUT: +** +** gcSHADER Shader +** Pointer to a gcSHADER object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcSHADER_ReallocateUniforms( + IN gcSHADER Shader, + IN gctSIZE_T Count + ); + /******************************************************************************* ** gcSHADER_AddUniform ******************************************************************************** @@ -576,6 +614,25 @@ gcSHADER_GetUniform( OUT gcUNIFORM * Uniform ); +/******************************************************************************* +** gcSHADER_ReallocateOutputs +** +** Reallocate an array of pointers to gcOUTPUT objects. +** +** INPUT: +** +** gcSHADER Shader +** Pointer to a gcSHADER object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcSHADER_ReallocateOutputs( + IN gcSHADER Shader, + IN gctSIZE_T Count + ); + /******************************************************************************* ** gcSHADER_AddOutput ******************************************************************************** @@ -668,6 +725,25 @@ gcSHADER_GetOutput( OUT gcOUTPUT * Output ); +/******************************************************************************* +** gcSHADER_ReallocateVariables +** +** Reallocate an array of pointers to gcVARIABLE objects. +** +** INPUT: +** +** gcSHADER Shader +** Pointer to a gcSHADER object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcSHADER_ReallocateVariables( + IN gcSHADER Shader, + IN gctSIZE_T Count + ); + /******************************************************************************* ** gcSHADER_AddVariable ******************************************************************************** @@ -1218,6 +1294,25 @@ gcSHADER_SetOptimizationOption( IN gctUINT OptimizationOption ); +/******************************************************************************* +** gcSHADER_ReallocateFunctions +** +** Reallocate an array of pointers to gcFUNCTION objects. +** +** INPUT: +** +** gcSHADER Shader +** Pointer to a gcSHADER object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcSHADER_ReallocateFunctions( + IN gcSHADER Shader, + IN gctSIZE_T Count + ); + gceSTATUS gcSHADER_AddFunction( IN gcSHADER Shader, @@ -1571,6 +1666,25 @@ gcOUTPUT_GetName( *********************************************************** F U N C T I O N S ** *******************************************************************************/ +/******************************************************************************* +** gcFUNCTION_ReallocateArguments +** +** Reallocate an array of gcsFUNCTION_ARGUMENT objects. +** +** INPUT: +** +** gcFUNCTION Function +** Pointer to a gcFUNCTION object. +** +** gctSIZE_T Count +** Array count to reallocate. 'Count' must be at least 1. +*/ +gceSTATUS +gcFUNCTION_ReallocateArguments( + IN gcFUNCTION Function, + IN gctSIZE_T Count + ); + gceSTATUS gcFUNCTION_AddArgument( IN gcFUNCTION Function, diff --git a/drivers/staging/rk29/vivante/hal/inc/gc_hal_engine.h b/drivers/staging/rk29/vivante/hal/inc/gc_hal_engine.h index fc43f66dfda1..3cca85fd1a56 100644 --- a/drivers/staging/rk29/vivante/hal/inc/gc_hal_engine.h +++ b/drivers/staging/rk29/vivante/hal/inc/gc_hal_engine.h @@ -367,6 +367,15 @@ gcoINDEX_Load( IN gctPOINTER IndexBuffer ); +/* Bind an index object to the hardware, for neocore hacking*/ +gceSTATUS +gcoINDEX_LoadHack( + IN gcoINDEX Index, + IN gceINDEX_TYPE IndexType, + IN gctUINT32 IndexCount, + IN gctPOINTER IndexBuffer + ); + /* Bind an index object to the hardware. */ gceSTATUS gcoINDEX_Bind( @@ -1130,6 +1139,29 @@ typedef enum _gceTEXTURE_FACE } gceTEXTURE_FACE; +typedef struct _gcsTEXTURE +{ + /* Addressing modes. */ + gceTEXTURE_ADDRESSING s; + gceTEXTURE_ADDRESSING t; + gceTEXTURE_ADDRESSING r; + + /* Border color. */ + gctUINT8 border[4]; + + /* Filters. */ + gceTEXTURE_FILTER minFilter; + gceTEXTURE_FILTER magFilter; + gceTEXTURE_FILTER mipFilter; + + /* Level of detail. */ + gctFIXED_POINT lodBias; + gctFIXED_POINT lodMin; + gctFIXED_POINT lodMax; +} +gcsTEXTURE, * gcsTEXTURE_PTR; + + /* Construct a new gcoTEXTURE object. */ gceSTATUS gcoTEXTURE_Construct( @@ -1356,6 +1388,7 @@ gcoTEXTURE_Flush( gceSTATUS gcoTEXTURE_QueryCaps( + IN gcoHAL Hal, OUT gctUINT * MaxWidth, OUT gctUINT * MaxHeight, OUT gctUINT * MaxDepth, @@ -1390,6 +1423,13 @@ gcoTEXTURE_IsComplete( IN gctINT MaxLevel ); +gceSTATUS +gcoTEXTURE_BindTexture( + IN gcoTEXTURE Texture, + IN gctINT Sampler, + IN gcsTEXTURE_PTR Info + ); + /******************************************************************************\ ******************************* gcoSTREAM Object ****************************** \******************************************************************************/ @@ -1540,6 +1580,14 @@ gcoVERTEX_Bind( IN gcoVERTEX Vertex ); +gceSTATUS +gcoVERTEX_BindHack( + IN gctUINT32 ActiveAttributeCount, + IN gctUINT32 TotalStride, + IN gcoVERTEX Vertex, + IN gctUINT32 Address + ); + #ifdef __cplusplus } #endif diff --git a/drivers/staging/rk29/vivante/hal/inc/gc_hal_profiler.h b/drivers/staging/rk29/vivante/hal/inc/gc_hal_profiler.h index 8fe1f55b6d69..4e283bfa8802 100644 --- a/drivers/staging/rk29/vivante/hal/inc/gc_hal_profiler.h +++ b/drivers/staging/rk29/vivante/hal/inc/gc_hal_profiler.h @@ -121,43 +121,48 @@ gcsPROFILER_COUNTERS; /* HAL profile information. */ typedef struct _gcsPROFILER { - gctFILE file; + gctUINT32 enable; + + gctBOOL useSocket; + gctINT sockFd; + + gctFILE file; /* Aggregate Information */ /* Clock Info */ - gctUINT64 frameStart; - gctUINT64 frameEnd; + gctUINT64 frameStart; + gctUINT64 frameEnd; /* Current frame information */ - gctUINT32 frameNumber; - gctUINT64 frameStartTimeusec; - gctUINT64 frameEndTimeusec; - gctUINT64 frameStartCPUTimeusec; - gctUINT64 frameEndCPUTimeusec; + gctUINT32 frameNumber; + gctUINT64 frameStartTimeusec; + gctUINT64 frameEndTimeusec; + gctUINT64 frameStartCPUTimeusec; + gctUINT64 frameEndCPUTimeusec; #if PROFILE_HAL_COUNTERS - gctUINT32 vertexBufferTotalBytesAlloc; - gctUINT32 vertexBufferNewBytesAlloc; - int vertexBufferTotalObjectsAlloc; - int vertexBufferNewObjectsAlloc; - - gctUINT32 indexBufferTotalBytesAlloc; - gctUINT32 indexBufferNewBytesAlloc; - int indexBufferTotalObjectsAlloc; - int indexBufferNewObjectsAlloc; - - gctUINT32 textureBufferTotalBytesAlloc; - gctUINT32 textureBufferNewBytesAlloc; - int textureBufferTotalObjectsAlloc; - int textureBufferNewObjectsAlloc; - - gctUINT32 numCommits; - gctUINT32 drawPointCount; - gctUINT32 drawLineCount; - gctUINT32 drawTriangleCount; - gctUINT32 drawVertexCount; - gctUINT32 redundantStateChangeCalls; + gctUINT32 vertexBufferTotalBytesAlloc; + gctUINT32 vertexBufferNewBytesAlloc; + int vertexBufferTotalObjectsAlloc; + int vertexBufferNewObjectsAlloc; + + gctUINT32 indexBufferTotalBytesAlloc; + gctUINT32 indexBufferNewBytesAlloc; + int indexBufferTotalObjectsAlloc; + int indexBufferNewObjectsAlloc; + + gctUINT32 textureBufferTotalBytesAlloc; + gctUINT32 textureBufferNewBytesAlloc; + int textureBufferTotalObjectsAlloc; + int textureBufferNewObjectsAlloc; + + gctUINT32 numCommits; + gctUINT32 drawPointCount; + gctUINT32 drawLineCount; + gctUINT32 drawTriangleCount; + gctUINT32 drawVertexCount; + gctUINT32 redundantStateChangeCalls; #endif } gcsPROFILER; @@ -187,8 +192,7 @@ struct _gcsSHADER_PROFILER /* Initialize the gcsProfiler. */ gceSTATUS gcoPROFILER_Initialize( - IN gcoHAL Hal, - IN gctFILE File + IN gcoHAL Hal ); /* Destroy the gcProfiler. */ @@ -197,12 +201,27 @@ gcoPROFILER_Destroy( IN gcoHAL Hal ); +/* Write data to profiler. */ +gceSTATUS +gcoPROFILER_Write( + IN gcoHAL Hal, + IN gctSIZE_T ByteCount, + IN gctCONST_POINTER Data + ); + +/* Flush data out. */ +gceSTATUS +gcoPROFILER_Flush( + IN gcoHAL Hal + ); + /* Call to signal end of frame. */ gceSTATUS gcoPROFILER_EndFrame( IN gcoHAL Hal ); +/* Increase profile counter Enum by Value. */ gceSTATUS gcoPROFILER_Count( IN gcoHAL Hal, diff --git a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_event.c b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_event.c index 08e810055af5..da4256519d97 100644 --- a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_event.c +++ b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_event.c @@ -26,7 +26,7 @@ #define _GC_OBJ_ZONE gcvZONE_EVENT -#define gcdEVENT_ALLOCATION_COUNT (4096 / gcmSIZEOF(gcsHAL_INTERFACE)) +#define gcdEVENT_ALLOCATION_COUNT (4096 / gcmSIZEOF(gcsEVENT)) #define gcdEVENT_MIN_THRESHOLD 4 /******************************************************************************\ @@ -431,10 +431,16 @@ gckEVENT_AllocateRecord( /* Acquire the mutex. */ gcmkONERROR(gckOS_AcquireMutex(Event->os, Event->freeMutex, gcvINFINITE)); acquired = gcvTRUE; - - *Record = Event->freeList; - Event->freeList = Event->freeList->next; - Event->freeCount -= 1; + if (Event->freeCount == 0) + { + gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY); + } + else + { + *Record = Event->freeList; + Event->freeList = Event->freeList->next; + Event->freeCount -= 1; + } /* Release the mutex. */ gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->freeMutex)); @@ -526,21 +532,8 @@ gckEVENT_AddList( && (Event->list.source != FromWhere) ) { - /* No match - auto-submit the list. */ - status = gckEVENT_Submit(Event, gcvFALSE); - - if (status == gcvSTATUS_OUT_OF_RESOURCES) - { - /* When we are out of resources, just convert to submit from - ** PIXEL. */ - Event->list.source = FromWhere = gcvKERNEL_PIXEL; - } - - else - { - /* Check for error. */ - gcmkONERROR(status); - } + /* Just convert to submit from PIXEL. */ + Event->list.source = FromWhere = gcvKERNEL_PIXEL; } break; diff --git a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_heap.c b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_heap.c index e14e1c9c1744..ee65306352d8 100644 --- a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_heap.c +++ b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_heap.c @@ -281,7 +281,7 @@ _CompactKernelHeap( gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HEAP, "Freeing heap 0x%x (%lu bytes)", heap, heap->size + gcmSIZEOF(gcskHEAP)); - gcmkVERIFY_OK(gckOS_FreeMemory(Heap->os, heap)); + gcmkVERIFY_OK(gckOS_FreeVirtualMemory(Heap->os, heap)); } /* Acquire the mutex again. */ @@ -422,7 +422,7 @@ gckHEAP_Destroy( #endif /* Free the heap. */ - gcmkVERIFY_OK(gckOS_FreeMemory(Heap->os, heap)); + gcmkVERIFY_OK(gckOS_FreeVirtualMemory(Heap->os, heap)); } /* Free the mutex. */ @@ -578,9 +578,9 @@ gckHEAP_Allocate( /* Allocate a new heap. */ gcmkONERROR( - gckOS_AllocateMemory(Heap->os, - Heap->allocationSize, - &memory)); + gckOS_AllocateVirtualMemory(Heap->os, + Heap->allocationSize, + &memory)); gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HEAP, "Allocated heap 0x%x (%lu bytes)", @@ -727,7 +727,7 @@ OnError: if (memory != gcvNULL) { /* Free the heap memory. */ - gckOS_FreeMemory(Heap->os, memory); + gckOS_FreeVirtualMemory(Heap->os, memory); } /* Return the status. */ diff --git a/drivers/staging/rk29/vivante/hal/makefile.linux b/drivers/staging/rk29/vivante/hal/makefile.linux index 08596c609cfa..fde37c67e2b6 100644 --- a/drivers/staging/rk29/vivante/hal/makefile.linux +++ b/drivers/staging/rk29/vivante/hal/makefile.linux @@ -10,7 +10,7 @@ # ############################################################################## # -# Auto-generated file on 10/12/2010. Do not edit!!! +# Auto-generated file on 12/8/2010. Do not edit!!! # ############################################################################## diff --git a/drivers/staging/rk29/vivante/hal/os/libGAL.def.mak b/drivers/staging/rk29/vivante/hal/os/libGAL.def.mak index 1a5a8df0d3ce..4661522b108c 100644 --- a/drivers/staging/rk29/vivante/hal/os/libGAL.def.mak +++ b/drivers/staging/rk29/vivante/hal/os/libGAL.def.mak @@ -10,7 +10,7 @@ # ############################################################################## # -# Auto-generated file on 10/12/2010. Do not edit!!! +# Auto-generated file on 12/8/2010. Do not edit!!! # ############################################################################## @@ -212,6 +212,7 @@ EXPORTS gcoINDEX_Lock gcoINDEX_Unlock gcoINDEX_Load + gcoINDEX_LoadHack gcoINDEX_Bind gcoINDEX_BindOffset gcoINDEX_Free @@ -394,6 +395,7 @@ EXPORTS gcoTEXTURE_RenderIntoMipMap gcoTEXTURE_IsRenderable gcoTEXTURE_IsComplete + gcoTEXTURE_BindTexture !ENDIF ; gcsRECT @@ -501,6 +503,7 @@ EXPORTS gcoVERTEX_EnableAttribute gcoVERTEX_DisableAttribute gcoVERTEX_Bind + gcoVERTEX_BindHack !ENDIF !IFNDEF VIVANTE_NO_3D diff --git a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.c b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.c index 51ab04d06cab..752d858277c5 100644 --- a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.c +++ b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.c @@ -26,6 +26,7 @@ #include #include #include +#include #define _GC_OBJ_ZONE gcvZONE_DEVICE @@ -176,7 +177,7 @@ gckGALDEVICE_Setup_ISR( gcmkVERIFY_ARGUMENT(Device != NULL); - if (Device->irqLine == 0) + if (Device->irqLine < 0) { return gcvSTATUS_GENERIC_IO; } diff --git a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.h b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.h index 75c86f8ad143..13c70f32f2d0 100644 --- a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.h +++ b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_device.h @@ -26,6 +26,10 @@ #define gcdkUSE_MEMORY_RECORD 1 +#ifndef gcdkREPORT_VIDMEM_USAGE +#define gcdkREPORT_VIDMEM_USAGE 0 +#endif + #ifdef ANDROID #define gcdkREPORT_VIDMEM_LEAK 0 #else @@ -83,6 +87,8 @@ typedef struct _gckGALDEVICE typedef struct MEMORY_RECORD { gcuVIDMEM_NODE_PTR node; + gceSURF_TYPE type; + gctSIZE_T bytes; struct MEMORY_RECORD * prev; struct MEMORY_RECORD * next; diff --git a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_driver.c b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_driver.c index 47c01cde9e2f..1d32da346c6e 100644 --- a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_driver.c +++ b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_driver.c @@ -23,6 +23,7 @@ #include #include +#include #include "gc_hal_kernel_linux.h" @@ -43,7 +44,7 @@ static gckGALDEVICE galDevice; static int major = 199; module_param(major, int, 0644); -int irqLine = 0; +int irqLine = -1; module_param(irqLine, int, 0644); long registerMemBase = 0x80000000; @@ -76,6 +77,11 @@ module_param(baseAddress, ulong, 0644); int showArgs = 0; module_param(showArgs, int, 0644); +#if ENABLE_GPU_CLOCK_BY_DRIVER +unsigned long coreClock = 156000000; +module_param(coreClock, ulong, 0644); +#endif + static int drv_open(struct inode *inode, struct file *filp); static int drv_release(struct inode *inode, struct file *filp); static int drv_ioctl(struct inode *inode, struct file *filp, @@ -144,6 +150,9 @@ int drv_release(struct inode* inode, struct file* filp) gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER, "Entering drv_close\n"); + gcmkVERIFY_OK( + gckOS_DestroyAllUserSignals(galDevice->os)); + private = filp->private_data; gcmkASSERT(private != gcvNULL); @@ -337,15 +346,25 @@ int drv_ioctl(struct inode *inode, #if gcdkUSE_MEMORY_RECORD else if (iface.command == gcvHAL_ALLOCATE_VIDEO_MEMORY) { + gctSIZE_T bytes = (iface.u.AllocateVideoMemory.node->VidMem.memory->object.type == gcvOBJ_VIDMEM) + ? iface.u.AllocateVideoMemory.node->VidMem.bytes + : iface.u.AllocateVideoMemory.node->Virtual.bytes; CreateMemoryRecord(device->os, &private->memoryRecordList, - iface.u.AllocateVideoMemory.node); + iface.u.AllocateVideoMemory.node, + iface.u.AllocateVideoMemory.type & 0xFF, + bytes); } else if (iface.command == gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY) { + gctSIZE_T bytes = (iface.u.AllocateLinearVideoMemory.node->VidMem.memory->object.type == gcvOBJ_VIDMEM) + ? iface.u.AllocateLinearVideoMemory.node->VidMem.bytes + : iface.u.AllocateLinearVideoMemory.node->Virtual.bytes; CreateMemoryRecord(device->os, &private->memoryRecordList, - iface.u.AllocateLinearVideoMemory.node); + iface.u.AllocateLinearVideoMemory.node, + iface.u.AllocateLinearVideoMemory.type & 0xFF, + bytes); } else if (iface.command == gcvHAL_FREE_VIDEO_MEMORY) { diff --git a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.c index bfa68b81f092..7da7bec0e726 100644 --- a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #ifdef NO_DMA_COHERENT #include @@ -57,6 +58,18 @@ #define MEMORY_MAP_UNLOCK(os) \ gcmkVERIFY_OK(gckOS_ReleaseMutex((os), (os)->memoryMapLock)) +#if gcdkREPORT_VIDMEM_USAGE +static gctUINT64 AllocatedSurfaceTotal[12] = {0}; +/* + * AllocatedSurfaceMax[12]: Current total memory + * AllocatedSurfaceMax[13]: Current total memory in history + */ +static gctUINT64 AllocatedSurfaceMax[12 + 2] = {0}; +static char *pszSurfaceType[12] = {"UNKNOWN", "INDEX", "VERTEX", "TEXTURE", "RENDER_TARGET", \ + "DEPTH", "BITMAP", "TILE_STATUS", "MASK", "SCISSOR", "HIERARCHICAL_DEPTH", \ + "NUM_TYPES"}; +#endif + /******************************************************************************\ ********************************** Structures ********************************** \******************************************************************************/ @@ -134,6 +147,7 @@ typedef struct _gcsPageInfo } gcsPageInfo; + static PLINUX_MDL _CreateMdl( IN gctINT PID @@ -785,6 +799,93 @@ gckOS_FreeMemory( return gcvSTATUS_OK; } +/******************************************************************************* +** +** gckOS_AllocateVirtualMemory +** +** Allocate virtual memory wrapper. +** +** INPUT: +** +** gctSIZE_T Bytes +** Number of bytes to allocate. +** +** OUTPUT: +** +** gctPOINTER * Memory +** Pointer to a variable that will hold the allocated memory location. +*/ +gceSTATUS +gckOS_AllocateVirtualMemory( + IN gckOS Os, + IN gctSIZE_T Bytes, + OUT gctPOINTER * Memory + ) +{ + gctPOINTER memory; + gceSTATUS status; + + gcmkHEADER_ARG("Os=0x%x Bytes=%lu", Os, Bytes); + + /* Verify the arguments. */ + gcmkVERIFY_ARGUMENT(Bytes > 0); + gcmkVERIFY_ARGUMENT(Memory != NULL); + + memory = (gctPOINTER) vmalloc(Bytes); + + if (memory == NULL) + { + /* Out of memory. */ + gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY); + } + + /* Return pointer to the memory allocation. */ + *Memory = memory; + + /* Success. */ + gcmkFOOTER_ARG("*Memory=%p", *Memory); + return gcvSTATUS_OK; + +OnError: + /* Return the status. */ + gcmkFOOTER(); + return status; +} + +/******************************************************************************* +** +** gckOS_FreeVirtualMemory +** +** Free allocated virtual memory wrapper. +** +** INPUT: +** +** gctPOINTER Memory +** Pointer to memory allocation to free. +** +** OUTPUT: +** +** Nothing. +*/ +gceSTATUS +gckOS_FreeVirtualMemory( + IN gckOS Os, + IN gctPOINTER Memory + ) +{ + gcmkHEADER_ARG("Memory=%p", Memory); + + /* Verify the arguments. */ + gcmkVERIFY_ARGUMENT(Memory != NULL); + + /* Free the memory from the OS pool. */ + vfree(Memory); + + /* Success. */ + gcmkFOOTER_NO(); + return gcvSTATUS_OK; +} + /******************************************************************************* ** ** gckOS_MapMemory @@ -4434,9 +4535,8 @@ OnError: } gceSTATUS -gckOS_CleanProcessSignal( - gckOS Os, - gctHANDLE Process +gckOS_DestroyAllUserSignals( + IN gckOS Os ) { gctINT signal; @@ -4460,7 +4560,7 @@ gckOS_CleanProcessSignal( for (signal = 0; signal < Os->signal.tableLen; signal++) { if (Os->signal.table[signal] != gcvNULL && - ((gcsSIGNAL_PTR)Os->signal.table[signal])->process == Process) + ((gcsSIGNAL_PTR)Os->signal.table[signal])->process == (gctHANDLE) current->tgid) { gckOS_DestroySignal(Os, Os->signal.table[signal]); @@ -5062,7 +5162,9 @@ MEMORY_RECORD_PTR CreateMemoryRecord( gckOS Os, MEMORY_RECORD_PTR List, - gcuVIDMEM_NODE_PTR Node + gcuVIDMEM_NODE_PTR Node, + gceSURF_TYPE Type, + gctSIZE_T Bytes ) { MEMORY_RECORD_PTR mr; @@ -5073,6 +5175,19 @@ CreateMemoryRecord( MEMORY_LOCK(Os); mr->node = Node; + mr->type = Type; + mr->bytes = Bytes; + +#if gcdkREPORT_VIDMEM_USAGE + AllocatedSurfaceTotal[Type] += Bytes; + AllocatedSurfaceMax[Type] = (AllocatedSurfaceMax[Type] > AllocatedSurfaceTotal[Type]) + ? AllocatedSurfaceMax[Type] : AllocatedSurfaceTotal[Type]; + AllocatedSurfaceMax[12] += Bytes; + if(AllocatedSurfaceMax[12] > AllocatedSurfaceMax[13]) + { + AllocatedSurfaceMax[13] = AllocatedSurfaceMax[12]; + } +#endif mr->prev = List->prev; mr->next = List; @@ -5092,6 +5207,11 @@ DestoryMemoryRecord( { MEMORY_LOCK(Os); +#if gcdkREPORT_VIDMEM_USAGE + AllocatedSurfaceTotal[Mr->type] -= Mr->bytes; + AllocatedSurfaceMax[12] -= Mr->bytes; +#endif + Mr->prev->next = Mr->next; Mr->next->prev = Mr->prev; @@ -5141,6 +5261,21 @@ FreeAllMemoryRecord( MEMORY_LOCK(Os); +#if gcdkREPORT_VIDMEM_USAGE + for (; i < 12; i++) { + printk("AllocatedSurfaceTotal[%s]:\t %12lluK, AllocatedSurfaceMax[%s]:\t %12lluK\n", + pszSurfaceType[i], AllocatedSurfaceTotal[i]/1024, + pszSurfaceType[i], AllocatedSurfaceMax[i]/1024); + + AllocatedSurfaceTotal[i] = 0; + AllocatedSurfaceMax[i] = 0; + } + printk("AllocatedSurfaceMax[unfreed]:\t %12lluK\n", AllocatedSurfaceMax[12]/1024); + printk("AllocatedSurfaceMax[total]:\t %12lluK\n", AllocatedSurfaceMax[13]/1024); + AllocatedSurfaceMax[12] = AllocatedSurfaceMax[13] = 0; + i = 0; +#endif + while (List->next != List) { mr = List->next; @@ -5310,6 +5445,9 @@ gckOS_Broadcast( { gceSTATUS status; gctUINT32 idle = 0, dma = 0, axi = 0, read0 = 0, read1 = 0, write = 0; + gctUINT32 debugState = 0, memoryDebug = 0; + gctUINT32 debugCmdLow = 0, debugCmdHi = 0; + gctUINT32 i, debugSignalsPe, debugSignalsMc; gcmkHEADER_ARG("Os=0x%x Hardware=0x%x Reason=%d", Os, Hardware, Reason); @@ -5365,6 +5503,39 @@ gckOS_Broadcast( read0, read1, write); } + gcmkONERROR(gckOS_ReadRegister(Os, 0x660, &debugState)); + gcmkONERROR(gckOS_ReadRegister(Os, 0x414, &memoryDebug)); + gcmkPRINT(" debugState(0x660)=0x%08X memoryDebug(0x414)=0x%08X", + debugState, memoryDebug); + + gcmkONERROR(gckOS_ReadRegister(Os, 0x668, &debugCmdLow)); + gcmkONERROR(gckOS_ReadRegister(Os, 0x66C, &debugCmdHi)); + gcmkPRINT(" debugCmdLow(0x668)=0x%08X debugCmdHi(0x66C)=0x%08X", + debugCmdLow, debugCmdHi); + + for (i = 0; i < 16; i++) + { + gcmkONERROR(gckOS_WriteRegister(Os, 0x470, i << 16)); + gcmkPRINT("%d: Write 0x%08X to DebugControl0(0x470)", i, i << 16); + + gcmkONERROR(gckOS_ReadRegister(Os, 0x454, &debugSignalsPe)); + gcmkPRINT("%d: debugSignalsPe(0x454)=0x%08X", i, debugSignalsPe); + + gcmkPRINT(""); + } + + for (i = 0; i < 16; i++) + { + gcmkONERROR(gckOS_WriteRegister(Os, 0x478, i)); + gcmkPRINT("%d: Write 0x%08X to DebugControl2(0x478)", i, i); + + gcmkONERROR(gckOS_ReadRegister(Os, 0x468, &debugSignalsMc)); + gcmkPRINT("%d: debugSignalsMc(0x468)=0x%08X", i, debugSignalsMc); + + gcmkPRINT(""); + } + + gcmkONERROR(gckKERNEL_Recovery(Hardware->kernel)); break; diff --git a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.h b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.h index 087b55e5ced8..aedeef628f5c 100644 --- a/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.h +++ b/drivers/staging/rk29/vivante/hal/os/linux/kernel/gc_hal_kernel_os.h @@ -67,19 +67,20 @@ typedef struct _DRIVER_ARGS } DRIVER_ARGS; -/* Cleanup the signal table. */ +/* Destroy all user signals of the current process */ gceSTATUS -gckOS_CleanProcessSignal( - gckOS Os, - gctHANDLE Process - ); +gckOS_DestroyAllUserSignals( + IN gckOS Os + ); #ifdef gcdkUSE_MEMORY_RECORD MEMORY_RECORD_PTR CreateMemoryRecord( gckOS Os, MEMORY_RECORD_PTR List, - gcuVIDMEM_NODE_PTR Node + gcuVIDMEM_NODE_PTR Node, + gceSURF_TYPE Type, + gctSIZE_T Bytes ); void diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/inc/gc_hal_common_qnx.h b/drivers/staging/rk29/vivante/hal/os/qnx/inc/gc_hal_common_qnx.h index a5d1bfe368c6..0f514b2f0de4 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/inc/gc_hal_common_qnx.h +++ b/drivers/staging/rk29/vivante/hal/os/qnx/inc/gc_hal_common_qnx.h @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_debug.c b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_debug.c index e8ca7e688c13..c382c1299341 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_debug.c +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_debug.c @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.c b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.c index 0ca6f4fab432..80f0818cf56a 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.c +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.c @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.h b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.h index fea415745289..bb5835f0dfea 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.h +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_device.h @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_driver.c b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_driver.c index 0b279925d68f..f3bb021eb528 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_driver.c +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_driver.c @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.c b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.c index 0416ca802c27..bf7e5c923e05 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.c +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.c @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.h b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.h index 92791d926d69..3f112ecc0af0 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.h +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_os.h @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.c b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.c index 7c848dea66c1..837500429d63 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.c +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.c @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.h b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.h index 79f7619dff4c..ef541d493b71 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.h +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/gc_hal_kernel_qnx.h @@ -10,7 +10,7 @@ * ***************************************************************************** * -* Auto-generated file on 10/12/2010. Do not edit!!! +* Auto-generated file on 12/8/2010. Do not edit!!! * *****************************************************************************/ diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/makefile.linux b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/makefile.linux index 59c5c482b1e8..d6006781e1f8 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/kernel/makefile.linux +++ b/drivers/staging/rk29/vivante/hal/os/qnx/kernel/makefile.linux @@ -10,7 +10,7 @@ # ############################################################################## # -# Auto-generated file on 10/12/2010. Do not edit!!! +# Auto-generated file on 12/8/2010. Do not edit!!! # ############################################################################## diff --git a/drivers/staging/rk29/vivante/hal/os/qnx/makefile.linux b/drivers/staging/rk29/vivante/hal/os/qnx/makefile.linux index 0c0cd889624d..7614d4983c61 100644 --- a/drivers/staging/rk29/vivante/hal/os/qnx/makefile.linux +++ b/drivers/staging/rk29/vivante/hal/os/qnx/makefile.linux @@ -10,7 +10,7 @@ # ############################################################################## # -# Auto-generated file on 10/12/2010. Do not edit!!! +# Auto-generated file on 12/8/2010. Do not edit!!! # ############################################################################## -- 2.34.1