The Following 2 Users Say Thank You to Stskeeps For This Useful Post: | ||
|
2010-05-17
, 21:13
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#12
|
IMG_VOID Flip (OMAPLCD_DEVINFO * psDevInfo, unsigned long ui32DevAddr) { IMG_UINT32 control; WriteReg ((IMG_VOID *) ((IMG_UINT8 *) psDevInfo->sFBInfo.pvRegs + OMAPLCD_GFX_BA0), ui32DevAddr); WriteReg ((IMG_VOID *) ((IMG_UINT8 *) psDevInfo->sFBInfo.pvRegs + OMAPLCD_GFX_BA1), ui32DevAddr); control = ReadReg ((IMG_VOID *) ((IMG_UINT8 *) psDevInfo->sFBInfo.pvRegs + OMAPLCD_CONTROL)); control |= OMAP_CONTROL_GOLCD; WriteReg ((IMG_VOID *) ((IMG_UINT8 *) psDevInfo->sFBInfo.pvRegs + OMAPLCD_CONTROL), control); } static IMG_BOOL
|
2010-05-17
, 23:02
|
|
Posts: 2,355 |
Thanked: 5,249 times |
Joined on Jan 2009
@ Barcelona
|
#13
|
PVRSRV_ERROR AllocContiguousMemory(IMG_UINT32 ui32Size, IMG_HANDLE unref__ * hMem, IMG_SYS_PHYADDR *pPhysAddr, IMG_CPU_VIRTADDR *pLinAddr) {printk("%s(size=%lu)\n", __func__, ui32Size); dma_addr_t dma; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) *pLinAddr = dma_alloc_coherent(NULL, ui32Size, &dma, GFP_KERNEL); #else *pLinAddr = consistent_alloc(GFP_KERNEL | GFP_DMA, ui32Size, &dma); #endif if(*pLinAddr == IMG_NULL) { printk ("AllocContiguousMemory: unable to allocate contiguous memory of %lu\n", ui32Size); } else {printk("%s BEING EVIL HERE!\n", __func__); //pPhysAddr->uiAddr = dma; *pLinAddr = 0x01; pPhysAddr->uiAddr = 0x01; return PVRSRV_OK; } return PVRSRV_ERROR_OUT_OF_MEMORY; }
[ 83.820312] GetSystemSurfaceInfo(c88fd000) [ 83.820312] No flipbuffers [ 83.820312] GetBackBuffer(c88fd000, num=0) [ 83.820312] AllocContiguousMemory(size=768000) [ 83.828125] AllocContiguousMemory BEING EVIL HERE! [ 83.828125] GetBackBuffer(c88fd000, num=1) [ 83.828125] AllocContiguousMemory(size=768000) [ 83.828125] AllocContiguousMemory BEING EVIL HERE! [ 83.828125] InitMain() going to call installvsync [ 83.828125] InitMain() installvsync ok [ 83.828125] InitMain() going to return [ 83.828125] OMAPLCDBridgeDispatch called, see next line [ 83.828125] OMAPLCDBridgeDispatch(cmd=OMAPLCDIO_INSTALL_VSYNC_ISR)
[ 639.859375] OMAPLCDBridgeDispatch called, see next line [ 639.859375] OMAPLCDBridgeDispatch(cmd=OMAPLCDIO_DEINIT_MAIN) [ 639.859375] DeinitMain() [ 639.859375] ReleaseBackBuffer(c88fd000, num=0) [ 639.867187] dma_free_coherent: trying to free invalid coherent area: 00000001 [ 639.867187] [<c002c178>] (dump_stack+0x0/0x14) from [<c002e2f8>] (dma_free_coherent+0x1d0/0x204) ....
|
2010-05-18
, 06:56
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#14
|
Madness! The damn driver works as usual. I even get the usual triangles on the screen (after a forced blizzard push). So what's happening here?
Initial reasoning: omaplcd IS NOT allocating the real framebuffer, but just wasting some memory. And quite a bit of precious dma memory, for a start.
|
2010-05-18
, 12:35
|
|
Posts: 13 |
Thanked: 8 times |
Joined on Aug 2009
@ Brazil - Piracicaba/SP
|
#15
|
|
2010-05-18
, 13:11
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#16
|
|
2010-05-18
, 15:26
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#17
|
|
2010-05-19
, 18:18
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#18
|
|
2010-05-24
, 19:55
|
|
Posts: 1,671 |
Thanked: 11,478 times |
Joined on Jun 2008
@ Warsaw, Poland
|
#19
|
|
2010-06-02
, 23:25
|
|
Posts: 13 |
Thanked: 8 times |
Joined on Aug 2009
@ Brazil - Piracicaba/SP
|
#20
|
Tags |
accelerated, nokia n8x0 |
|
http://bunnitude.com/misc/files/omap/pdf/sprufa4.pdf
We use RFBI to send to the LCD controller, I believe.
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.