TI中文支持网
TI专业的中文技术问题搜集分享网站

tilcdc问题

1.用SDK0301,把分辨率改成1440X900后,只运行weston,调试串口不停地报:

[   28.191212] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[   28.198040] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[   28.303849] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   28.310996] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[   32.659149] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   32.673173] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[   32.680035] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[   51.020610] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   51.030703] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   51.038002] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[   77.148433] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   77.157610] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   77.164894] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[   77.192476] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[   77.208493] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[   77.215318] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[  137.148413] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[  137.155669] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[  137.162479] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[  197.148391] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[  197.155642] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost
[  317.148405] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[  317.158059] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[  317.165335] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost

TI有发布补丁包修复这个问题吗?

2.最新SDK03.02,关于这个的源码看到有所修改了,是否是修复了上述的问题?

但把SDK03.02的tilcdc改到SDK03.01上,也是在1440X900分辨率下测试,则调试串口不断报:

[ 1620.189644] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1630.280376] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1630.334962] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1640.397066] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1640.466126] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1650.560576] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1670.739026] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1670.753499] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1690.912563] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1690.969175] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1701.103525] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1701.155072] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1711.186232] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1731.412586] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1731.432086] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1741.518179] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1751.593789] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1761.680927] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1771.830523] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1781.893462] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1781.922114] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1792.085067] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1802.206439] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1812.238829] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow
[ 1812.247141] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow

Jian Zhou:

应该是分辨率提高后,FIFO处理不过来,显示效果怎么样?

LL shutor:

回复 Jian Zhou:

闪屏

Jian Zhou

应该是分辨率提高后,FIFO处理不过来,显示效果怎么样?

Jian Zhou:

回复 LL shutor:

优化过底层驱动么?把等待时间改小。

LL shutor:

回复 Jian Zhou:

没有优化过,都是用SDK自带的,闪屏同时串口打印上的信息

Jian Zhou

优化过底层驱动么?把等待时间改小。

LL shutor:

回复 Jian Zhou:

Jian Zhou

最新SDK03.02把以下串口打印的信息的问题修复了没

[   28.191212] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost[   28.198040] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost[   28.303849] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow[   28.310996] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost[   32.659149] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow[   32.673173] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost[   32.680035] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost[   51.020610] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow[   51.030703] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underfow[   51.038002] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000104): Sync lost

Qing He:

回复 LL shutor:

隔了这么长时间,重新搞,算是搞定了,结贴!关于使用wayland这个窗口系统还有好多没整明白,还遇到一些问题,继续搞

zizhen hu:

回复 Qing He:

是什么原因导致的?

我800*480的没这个问题,但是1024*768以及更大的分辨率会出现这个问题。

yongqing wang:

回复 zizhen hu:

刷新的速度降一下

zizhen hu:

回复 yongqing wang:

刷新率是哪里配置的?dts里面只有时序和时钟的配置。

一直没注意过刷新率配置

LL shutor:

回复 zizhen hu:

改下0x4c000054的值试试,devmem2 0x4c000054 w 0x00FFFFF10

网上资料:

As the post above will be probably often found by google, I will post here also a temporary solution colleague of mine found to the flickering problem. devmem2 0x4c000054 w 0x00FFFFF10 It is probably not ideal – there should be a way how to prioritize just the LCD transfers (according to the TI wiki), but the values there do not work. This fix just ensures that any "too old" command gets executed sooner than it would otherwise, maybe that is a good thing anyway. However, I believe I understand all the various issues we've seen (although I could still be wrong – but this at least makes sense): static image shift – here, the DMA for transferring data to LCD fifo is blocked for a short period of time once, but then it continues normally. This produces the fifo-underflow interrupt once, the data for display are few pixels late, but then all works normally so the image is just shifted (although not too visible in the photo, the "extra" pixels at top-left corner are black, and not white if the image was just wrapped). full flickering – in this case, the memory load is so severe that the DMA is blocked too often and can't supply steady stream of data; producing fifo-underflow interrupts all over. The image still starts from the top-left corner as usual, but then the rest of the "pixel stream" contains some extra 0s so the testimage produces diagonal patterns (with varying error, hence the flickering). So these 2 are the same issue, just with different outcome. The problem is the DDR command prioritization logic in our memory controller, the memset() loop manages to starve the DMA data stream. The "fix" just tweaks the REG_PR_OLD_COUNT value – now if there is a DDR command in the memory controller fifo for too long, it will get executed (out of the prioritized ordering). (I can probably also explain why it +- works with >2k buffers; but there I'm not fully sure yet.)

 

网址:https://groups.google.com/forum/?hl=fil#!category-topic/beagleboard/beaglebone-black/GjxRGeLdmRw

赞(0)
未经允许不得转载:TI中文支持网 » tilcdc问题
分享到: 更多 (0)