aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/resman.c
diff options
context:
space:
mode:
authorHemant Hariyani <hemanthariyani@ti.com>2011-08-25 03:01:10 -0400
committerPaolo Pisati <paolo.pisati@canonical.com>2012-08-17 04:18:39 -0400
commitb7f68b0d0649bec8d50054b78873ca40b267321b (patch)
tree56e9917cfa159b1728721dbae9d8c46f33bc2699 /drivers/gpu/pvr/resman.c
parent8827e270c06639a9a89390799c8860bf9640ec5f (diff)
OMAP4: SGX-KM: Upgrade DDK to version 1.7.17.4403
This patch upgrades the kernel side graphics driver to version 1.7.17.4403. The corresponding change in the user side must be in place for this to work. Change-Id: Id3a713fa22a227dbcd0ec098589d62b350802247 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Diffstat (limited to 'drivers/gpu/pvr/resman.c')
-rw-r--r--drivers/gpu/pvr/resman.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/drivers/gpu/pvr/resman.c b/drivers/gpu/pvr/resman.c
index 5230952be84..b3a4534c809 100644
--- a/drivers/gpu/pvr/resman.c
+++ b/drivers/gpu/pvr/resman.c
@@ -122,7 +122,7 @@ static IMPLEMENT_LIST_INSERT(RESMAN_CONTEXT)
122 122
123#define PRINT_RESLIST(x, y, z) 123#define PRINT_RESLIST(x, y, z)
124 124
125static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem, IMG_BOOL bExecuteCallback); 125static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem, IMG_BOOL bExecuteCallback, IMG_BOOL bForceCleanup);
126 126
127static PVRSRV_ERROR FreeResourceByCriteria(PRESMAN_CONTEXT psContext, 127static PVRSRV_ERROR FreeResourceByCriteria(PRESMAN_CONTEXT psContext,
128 IMG_UINT32 ui32SearchCriteria, 128 IMG_UINT32 ui32SearchCriteria,
@@ -379,7 +379,7 @@ PRESMAN_ITEM ResManRegisterRes(PRESMAN_CONTEXT psResManContext,
379 return(psNewResItem); 379 return(psNewResItem);
380} 380}
381 381
382PVRSRV_ERROR ResManFreeResByPtr(RESMAN_ITEM *psResItem) 382PVRSRV_ERROR ResManFreeResByPtr(RESMAN_ITEM *psResItem, IMG_BOOL bForceCleanup)
383{ 383{
384 PVRSRV_ERROR eError; 384 PVRSRV_ERROR eError;
385 385
@@ -401,7 +401,7 @@ PVRSRV_ERROR ResManFreeResByPtr(RESMAN_ITEM *psResItem)
401 VALIDATERESLIST(); 401 VALIDATERESLIST();
402 402
403 403
404 eError = FreeResourceByPtr(psResItem, IMG_TRUE); 404 eError = FreeResourceByPtr(psResItem, IMG_TRUE, bForceCleanup);
405 405
406 406
407 VALIDATERESLIST(); 407 VALIDATERESLIST();
@@ -478,7 +478,7 @@ PVRSRV_ERROR ResManDissociateRes(RESMAN_ITEM *psResItem,
478 } 478 }
479 else 479 else
480 { 480 {
481 eError = FreeResourceByPtr(psResItem, IMG_FALSE); 481 eError = FreeResourceByPtr(psResItem, IMG_FALSE, CLEANUP_WITH_POLL);
482 if(eError != PVRSRV_OK) 482 if(eError != PVRSRV_OK)
483 { 483 {
484 PVR_DPF((PVR_DBG_ERROR, "ResManDissociateRes: failed to free resource by pointer")); 484 PVR_DPF((PVR_DBG_ERROR, "ResManDissociateRes: failed to free resource by pointer"));
@@ -554,9 +554,10 @@ IMG_INTERNAL PVRSRV_ERROR ResManFindResourceByPtr(PRESMAN_CONTEXT psResManContex
554} 554}
555 555
556static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem, 556static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem,
557 IMG_BOOL bExecuteCallback) 557 IMG_BOOL bExecuteCallback,
558 IMG_BOOL bForceCleanup)
558{ 559{
559 PVRSRV_ERROR eError; 560 PVRSRV_ERROR eError = PVRSRV_OK;
560 561
561 PVR_ASSERT(psItem != IMG_NULL); 562 PVR_ASSERT(psItem != IMG_NULL);
562 563
@@ -591,7 +592,7 @@ static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem,
591 592
592 if (bExecuteCallback) 593 if (bExecuteCallback)
593 { 594 {
594 eError = psItem->pfnFreeResource(psItem->pvParam, psItem->ui32Param); 595 eError = psItem->pfnFreeResource(psItem->pvParam, psItem->ui32Param, bForceCleanup);
595 if (eError != PVRSRV_OK) 596 if (eError != PVRSRV_OK)
596 { 597 {
597 PVR_DPF((PVR_DBG_ERROR, "FreeResourceByPtr: ERROR calling FreeResource function")); 598 PVR_DPF((PVR_DBG_ERROR, "FreeResourceByPtr: ERROR calling FreeResource function"));
@@ -602,11 +603,7 @@ static PVRSRV_ERROR FreeResourceByPtr(RESMAN_ITEM *psItem,
602 ACQUIRE_SYNC_OBJ; 603 ACQUIRE_SYNC_OBJ;
603 604
604 605
605 eError = OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP, sizeof(RESMAN_ITEM), psItem, IMG_NULL); 606 OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP, sizeof(RESMAN_ITEM), psItem, IMG_NULL);
606 if (eError != PVRSRV_OK)
607 {
608 PVR_DPF((PVR_DBG_ERROR, "FreeResourceByPtr: ERROR freeing resource list item memory"));
609 }
610 607
611 return(eError); 608 return(eError);
612} 609}
@@ -667,7 +664,7 @@ static PVRSRV_ERROR FreeResourceByCriteria(PRESMAN_CONTEXT psResManContext,
667 ui32Param)) != IMG_NULL 664 ui32Param)) != IMG_NULL
668 && eError == PVRSRV_OK) 665 && eError == PVRSRV_OK)
669 { 666 {
670 eError = FreeResourceByPtr(psCurItem, bExecuteCallback); 667 eError = FreeResourceByPtr(psCurItem, bExecuteCallback, CLEANUP_WITH_POLL);
671 } 668 }
672 669
673 return eError; 670 return eError;