Linux DMA Engine framework(2)_功能介绍及解接口分析

作者:wowo 发布于:2017-5-2 22:47 分类:Linux内核分析

从我们的直观感受来说,DMA并不是一个复杂的东西,要做的事情也很单纯直白。因此Linux kernel对它的抽象和实现,也应该简洁、易懂才是。不过现实却不甚乐观(个人感觉),Linux kernel dmaengine framework的实现,真有点晦涩的感觉。为什么会这样呢?

如果一个软件模块比较复杂、晦涩,要么是设计者的功力不够,要么是需求使然。当然,我们不敢对Linux kernel的那些大神们有丝毫怀疑和不敬,只能从需求上下功夫了:难道Linux kernel中的driver对DMA的使用上,有一些超出了我们日常的认知范围?

要回答这些问题并不难,将dmaengine framework为consumers提供的功能和API梳理一遍就可以了,这就是本文的目的。当然,也可以借助这个过程,加深对DMA的理解,以便在编写那些需要DMA传输的driver的时候,可以更游刃有余。

阅读全文>>

标签: Linux Kernel 内核 API dma engine

评论(13) 浏览(40159)

Linux common clock framework(1)_概述

作者:wowo 发布于:2014-10-20 23:06 分类:电源管理子系统

common clock framework是用来管理系统clock资源的子系统,根据职能,可分为三个部分:

1)向其它driver提供操作clocks的通用API。

2)实现clock控制的通用逻辑,这部分和硬件无关。

3)将和硬件相关的clock控制逻辑封装成操作函数集,交由底层的platform开发者实现,由通用逻辑调用。

因此,蜗蜗会将clock framework的分析文章分为3篇:

第一篇为概述和通用API的使用说明,面向的读者是使用clock的driver开发者,目的是掌握怎么使用clock framework(就是本文);

第二篇为底层操作函数集的解析和使用说明,面向的读者是platform clock driver的开发者,目的是掌握怎么借助clock framework管理系统的时钟资源;

第三篇为clock framework的内部逻辑解析,面向的读者是linux kernel爱好者,目的是理解怎么实现clock framework。

注1:任何framework的职能分类都是如此,因此都可以按照这个模式分析。

阅读全文>>

标签: Linux framework clock API

评论(32) 浏览(61822)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog