函数逻辑报告 |
Source Code:mm\dmapool.c |
Create Date:2022-07-27 16:54:51 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:dma_pool_alloc - get a block of consistent memory*@pool: dma pool that will produce the block*@mem_flags: GFP_* bitmask*@handle: pointer to dma address of block* Return: the kernel virtual address of a currently unused block,
函数原型:void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags, dma_addr_t *handle)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct dma_pool * | pool | |
| gfp_t | mem_flags | |
| dma_addr_t * | handle |
| 329 | spin_lock_irqsave( & lock, flags) |
| 331 | 如果offset小于allocation则转到:ready |
| 336 | spin_unlock_irqrestore( & lock, flags) |
| 338 | page等于pool_alloc_page(pool, mem_flags & (~__GFP_ZERO)) |
| 339 | 如果非page则返回:NULL |
| 342 | spin_lock_irqsave( & lock, flags) |
| 344 | 添加链表项 |
| 345 | ready : |
| 346 | in_use自加 |
| 379 | spin_unlock_irqrestore( & lock, flags) |
| 381 | 如果want_init_on_alloc(mem_flags)则memset(retval, 0, size) |
| 384 | 返回:retval |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |