frame buffer驱动问题

发布于 2022-09-30 18:13:10 字数 134 浏览 18 评论 0

目前正在改写一个spi的lcd驱动,但是碰到个问题,dma在linux video驱动是在哪里实现的?因为spi本身就带了dma,所以在frame buffer就不需要初始化dma了,我暂时还没有看明白 fb的框架里面是如何把数据送出去的,请知道的大虾指导一下,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

静水深流 2022-10-07 18:13:11
  1. 325
  2. 326 static int __init lcdc_fuck_probe(struct platform_device *pdev)
  3. 327 {
  4. 328     if (pdev->id == 0)
  5. 329         platform_data = pdev->dev.platform_data;
  6. 330     if (pdev->id == 1) {
  7. 331         lcdc_fuck_config_gpios();
  8. 332         msm_fb_add_device(pdev);
  9. 333     }
  10. 334     return 0;
  11. 335 }

复制代码一般是pdev和他联系起来的
具体的就看msm_fb_add_device里面

素染倾城色 2022-10-07 18:13:11

dma的设置一般都显示芯片中的一些寄存器,这个你要在spec上找。一般就是设置取数据的大小,物理地址首地址什么的。然后就是把dma的地址map一下,返回到上层去用

勿忘心安 2022-10-07 18:13:11

probe里面用dma_alloc_writecombie等等函数,单调双返回,返回的虚拟地址给CPU,物理地址给DMA……

浅唱々樱花落 2022-10-07 18:13:10

是在fb driver的probe里面分配的dma的,数据是通过fb_info与应用层通信的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文