-Original Message-
From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
ow...@vger.kernel.org] On Behalf Of Ivaylo Dimitrov
Sent: Thursday, January 09, 2014 1:05 PM
To: Hiremath, Vaibhav; Valkeinen, Tomi; Tony Lindgren; Ivaylo Dimitrov
Cc: linux-omap@vger.kernel.org; linux-arm-ker...@lists.infradead.org; linux-
fb...@vger.kernel.org
Subject: Re: RE: [PATCH 1/2] ARM: omapfb: add coherent dma memory support
On 09.01.2014 07:06, Hiremath, Vaibhav wrote:
Tomi,
I am seeing underflow issue on AM43x device if I use omapfb_vram argument.
Did you see this on OMAP?
I am using omapfb_vram=10M@0xA000, and I believe it is correct way
of usage.
Thanks,
Vaibhav
AFAIK underflow interrupts could come from badly calculated DSS core clock or
bad HW resizer setup and should be unrelated to the memory allocation. It
might be something similar to the problem I have on N900
- see https://lkml.org/lkml/2014/1/6/173
I can see the difference when I really omapfb_vram command line argument.
Without omapfb_vram in bootargs
---
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
mem=128M
consoleblank=0 clocksource=gp_timer consoleblank=0 earlyprintk omapfb.debug=y
omapdss.debug=y
I do not get UNDERFLOW during boot.
With omapfb_vram in the bootargs
-
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
mem=128M
consoleblank=0 clocksource=gp_timer consoleblank=0 earlyprintk
omapfb_vram=10M@0xA000
omapfb.debug=y omapdss.debug=y
I always get UNDERFLOW during boot itself.
Is it possible to upload the video you have problems with, so me to test it on
N900? So far I didn't see any underflow issues on it (N900 is OMAP3, in case
you're not aware), no matter the resolution of the videos I played(up to
720p),
however I didn't test the part that allocates the memory on a pre-defined
address. Though I don't think that should matter.
No, that's what is causing issue to me. Can you try predefined address flow?
Just to highlight, I get UNDERFLOW during boot itself, immediately when it gets
mapped to userspace.
Boot LOG:
[1.443021] OMAPFB: omapfb_probe
[1.446137] OMAPFB: create 3 framebuffers
[1.446178] OMAPFB: fb_infos allocated
[1.446198] OMAPFB: allocating 1536000 bytes for fb 0
[1.451044] OMAPFB: allocated VRAM paddr a000, vaddr ca00
[1.451069] OMAPFB: region0 phys a000 virt ca00 size=1536000
[1.451086] OMAPFB: region1 phys virt (null) size=0
[1.451100] OMAPFB: region2 phys virt (null) size=0
[1.451109] OMAPFB: fbmems allocated
[1.451363] OMAPFB: check_fb_var 0
[1.451386] OMAPFB: max frame size 1536000, line size 3200
[1.451401] OMAPFB: xres = 800, yres = 480, vxres = 800, vyres = 480
[1.451414] OMAPFB: set_fb_fix
[1.460278] OMAPFB: fb_infos initialized
[1.465325] OMAPFB: set_par(0)
[1.465384] OMAPFB: set_fb_fix
[1.465393] OMAPFB: apply_changes, fb 0, ovl 0
[1.465443] OMAPFB: setup_overlay 0, posx 0, posy 0, outw 800, outh 480
[1.465450] OMAPFB: paddr a000
[1.465592] OMAPFB: pan_display(0)
[1.465600] OMAPFB: setcmap
[1.465607] OMAPFB: setcmap
[1.474504] Console: switching to colour frame buffer device 100x30
[1.474528] OMAPFB: pan_display(0)
[1.474534] OMAPFB: setcmap
[1.482185] OMAPFB: setcmap
[1.484808] OMAPFB: framebuffers registered
[1.484839] OMAPFB: apply_changes, fb 0, ovl 0
[1.484857] OMAPFB: setup_overlay 0, posx 0, posy 0, outw 800, outh 480
[1.484870] OMAPFB: paddr a000
[1.484919] OMAPFB: apply_changes, fb 1, ovl 1
[1.485010] OMAPFB: apply_changes, fb 2, ovl 2
[1.485111] OMAPFB: create_framebuffers done
[1.485128] OMAPFB: mgr-apply'ed
[1.489793] OMAPFB: create sysfs for fbs
[1.489816] OMAPFB: create sysfs for fbs
[4.822549] Freeing unused kernel memory: 440K (c0919000 - c0987000)
[5.276615] OMAPFB: pan_display(0)
[5.276625] OMAPFB: setcmap
[5.276635] OMAPFB: setcmap
[5.293518] OMAPFB: user mmap region start a000, len 1536000, off 0
[5.300171] omapdss APPLY error: FIFO UNDERFLOW on gfx, disabling the overlay
...
[ 20.499076] OMAPFB: pan_display(0)
[ 20.499085] OMAPFB: setcmap
[ 20.499093] OMAPFB: setcmap
[ 20.544419] OMAPFB: check_var(0)
[ 20.544631] OMAPFB: check_fb_var 0
[ 20.544644] OMAPFB: max frame size 1536000, line size 3200
[ 20.544651] OMAPFB: xres = 800, yres = 480, vxres = 800, vyres = 480
[ 20.544699] OMAPFB: set_par(0)
[ 20.544706] OMAPFB: set_fb_fix
[ 20.544712] OMAPFB: apply_changes, fb 0, ovl 0
[ 20.544762] OMAPFB: setup_overlay 0, posx 0, posy 0, outw 800, outh 480
[ 20.544767] OMAPFB: paddr a000
[ 20.544798] OMAPFB: pan_display(0)
[ 20.544802] OMAPFB: setcmap
[ 20.544859] OMAPFB: pan_display(0)
[ 20.544865] OMAPFB: setcmap
[ 20.544872