drivers/gpu/drm/tilcdc/tilcdc_crtc.c中:
if (stat & LCDC_END_OF_FRAME0) {
unsigned long flags;
bool skip_event = false;
ktime_t now;
now = ktime_get();
drm_flip_work_commit(&tilcdc_crtc->unref_work, priv->wq);
spin_lock_irqsave(&tilcdc_crtc->irq_lock, flags);
tilcdc_crtc->last_vblank = now;
if (tilcdc_crtc->next_fb) {
set_scanout(crtc, tilcdc_crtc->next_fb);
tilcdc_crtc->next_fb = NULL;
skip_event = true;
}
datasheet 13.5.16,没有用到DMA ping-pongs,问题:
(1)请问TI为什么不用 ping-pongs模式?
(2)如何开启 ping-pongs模式,有相关的参考文档吗?
(3)如果使用 ping-pongs是否可以解决 tilcdc_crtc_irq(0x00000020): FIFO underfow问题?