摘要: 1. 问题背景 想提升vpu编解码帧率,在vpu的设备树节点添加dma-coherent属性,vpu编解码timeout(失败); 2. 所做尝试 2.1 vpu内存分配接口 b->virt = dma_alloc_coherent(dev, PAGE_ALIGN(size), &b->dma, G 阅读全文
posted @ 2023-10-10 16:56 _xingxing 阅读(634) 评论(0) 推荐(0) 编辑
摘要: gpio && pinctrl 阅读全文
posted @ 2023-10-10 14:45 _xingxing 阅读(8) 评论(0) 推荐(0) 编辑
摘要: dma 阅读全文
posted @ 2023-10-10 14:44 _xingxing 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 前言 先知整个流程:如何创建一个workqueue、一个work queue入一个workqueue之后,work对应的func怎么被执行; 再扣细节:__alloc_workqueue_key中WQ_UNBOUND flag有什么作用?max_active的作用是什么?worker的动态管理? 数 阅读全文
posted @ 2023-10-10 14:42 _xingxing 阅读(14) 评论(0) 推荐(0) 编辑
摘要: raise_softirq_irqoff 初始化 执行 阅读全文
posted @ 2023-10-10 14:42 _xingxing 阅读(3) 评论(0) 推荐(0) 编辑
摘要: irq_of_parse_and_map request_threaded_irq irq_thread 中断处理 阅读全文
posted @ 2023-10-10 14:41 _xingxing 阅读(7) 评论(0) 推荐(0) 编辑
摘要: poll的作用 it waits for one of a set of file descriptors to become ready to perform I/O. 也就是poll的作用是等待一组文件描述符变得可执行; 假若刚进行监测时不可执行怎么处理呢?会根据timeout参数阻塞; The 阅读全文
posted @ 2023-10-10 14:39 _xingxing 阅读(5) 评论(0) 推荐(0) 编辑
摘要: wait_queue 等待队列所做的事情: 将一个需要睡眠的进程与一个wait entry进行绑定(private成员); 封装了某些函数,比如wait_event。调用进程的通用接口,比如schedule,进行睡眠等待; 唤醒时: 前面已经将进程与wait entry进行绑定,唤醒时也能通过wai 阅读全文
posted @ 2023-10-10 14:39 _xingxing 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 设计思想 设置三条路径,快,中,慢; 获取锁 快速:快速路径简单判断一个值;获取锁时标记其被locked; 中速:其被locked时,进入中速,中速就是等待这个locked为0;中速的时候为了标记中速已被占领,还需要通过一个pending标记; 慢速:检查lock有值,证明我应该进入中速;又发现pe 阅读全文
posted @ 2023-10-10 14:38 _xingxing 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-10-10 14:38 _xingxing 阅读(1) 评论(0) 推荐(0) 编辑
摘要: about spi, todo 阅读全文
posted @ 2023-10-10 14:37 _xingxing 阅读(4) 评论(0) 推荐(0) 编辑
摘要: focus v4l2_dev, queue, media_device 阅读全文
posted @ 2023-10-10 14:35 _xingxing 阅读(6) 评论(0) 推荐(0) 编辑