Chinaunix

标题: 有bus master功能的显卡的DMA如何实现? [打印本页]

作者: unixhanyuan    时间: 2014-05-26 14:25
标题: 有bus master功能的显卡的DMA如何实现?
就是实现显卡和内存之间用DMA来传输显示数据,比如内存某处有图片数据,用DMA实现图片数据加载到显存的指定位置,我的平台是龙芯2F+ATI的显卡,我看显卡是有bus master功能的,我看linux上显示驱动的代码,基本都是memcopy来拷贝的
作者: Tinnal    时间: 2014-05-26 22:15
本帖最后由 Tinnal 于 2014-05-26 22:16 编辑

“我看linux上显示驱动的代码,基本都是memcopy来拷贝的”, 谁告诉你的?
参照内核已有的代码,改写一下出来就行了。

不行自己先百度一下
作者: humjb_1983    时间: 2014-05-27 08:40
linux中,显卡的高级功能,很多都是在用户态驱动中实现的,而且intel的驱动经常是闭源的,这点不厚道。
作者: 帅绝人寰    时间: 2014-05-27 12:38
humjb_1983 发表于 2014-05-27 08:40
linux中,显卡的高级功能,很多都是在用户态驱动中实现的,而且intel的驱动经常是闭源的,这点不厚道。


啥驱动是close source的?
作者: humjb_1983    时间: 2014-05-27 17:16
帅绝人寰 发表于 2014-05-27 12:38
啥驱动是close source的?

atom集成显卡的用户态驱动,intel就只提供二进制文件,不提供代码。
作者: 帅绝人寰    时间: 2014-05-28 10:40
humjb_1983 发表于 2014-05-27 17:16
atom集成显卡的用户态驱动,intel就只提供二进制文件,不提供代码。


现在的atom(baytrail/cherrytrail之类),不也就是GENx吗? kernel都是用i915, 难道userspace的 intel_drv还需要有不同的实现?


作者: humjb_1983    时间: 2014-05-28 11:45
本帖最后由 humjb_1983 于 2014-05-28 11:45 编辑
帅绝人寰 发表于 2014-05-28 10:40
现在的atom(baytrail/cherrytrail之类),不也就是GENx吗? kernel都是用i915, 难道userspace的 inte ...

呵呵,是的。硬件加速等高级特性都是在用户态的驱动中实现的,而这一部分,intel恰恰是close source的,导致很多问题都解决不了,内核版本也需要使用intel指定的~
而相较而言,amd这方面要开放和积极许多。
作者: 帅绝人寰    时间: 2014-05-28 12:33
humjb_1983 发表于 2014-05-28 11:45
呵呵,是的。硬件加速等高级特性都是在用户态的驱动中实现的,而这一部分,intel恰恰是close source的,导 ...


我司这是要自己作死的节奏啊
作者: humjb_1983    时间: 2014-05-28 14:17
帅绝人寰 发表于 2014-05-28 12:33
我司这是要自己作死的节奏啊

呵呵,那倒不至于,可能是因为这部分市场效益或前景不好,感觉intel在这方面的投入非常有限,反应速度很慢,驱动也看似无人维护~,搞得我们也很无语,不得不在后续选型时考虑其他的CPU。目前在瘦终端这块,其实可选的芯片也不多,竞争不够啊~

intel在服务器领域目前是绝对的霸主,一览众山小。power和arm都开始瞄准这块市场了,竞争增加后,估计更利于行业的整体发展。
作者: guobamantou    时间: 2014-05-28 23:09
那个显卡都支持3d的,肯定有dma的,framebuffer 内容不加速的话用memcpy是可能的




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2