Fork me on GitHub
侧边栏

03 2025 档案

摘要:dmabuf是什么? 可以参考我之前写的一篇文章,在这篇文章中有介绍dma_buf:BufferManager_驱动的buffermanager-CSDN博客 dmabuf_dump工具介绍(基于Android 14) dmabuf_dump是一个可执行文件,接收参数调用libdmabufinfo. 阅读全文
posted @ 2025-03-31 14:48 yooooooo 阅读(185) 评论(0) 推荐(0)
摘要:PCIe架构定义了4种地址空间:配置空间、Memory空间、IO空间和message空间。 1. 配置空间 每个PCIe Function都有4KB的配置空间(Configuration Space)。前256 Bytes是和PCI兼容的配置空间,剩余的是PCIe扩展配置空间(Extended Co 阅读全文
posted @ 2025-03-26 13:45 yooooooo 阅读(352) 评论(0) 推荐(0)
摘要:1.简介 RK3588 PCIe RC和EP使用同一个平台驱动,其主要的作用是解析设备树中的资源、初始化中断、使能电源、初始化PHY、使能时钟和释放复位,然后根据compatible属性初始化RC或者EP驱动。 2.入口 平台驱动的定义如下,当compatible属性为"rockchip,rk358 阅读全文
posted @ 2025-03-22 17:45 yooooooo 阅读(286) 评论(0) 推荐(0)
摘要:Google在android11-5.4分支上开始要求所有下游厂商使用Generic Kernel Image(GKI),需要将SoC和device相关的代码从核心内核剥离到可加载模块中(下文称之为GKI改造),从而解决内核碎片化问题。GKI为内核模块提供了稳定的内核模块接口(KMI),模块和内核可 阅读全文
posted @ 2025-03-20 23:39 yooooooo 阅读(149) 评论(0) 推荐(0)
摘要:setpci 是一个用于查询和配置 PCI 设备配置空间的命令行工具。让我详细解释它的用法: 基本语法 setpci [选项] 操作... 常用选项: -v 显示详细信息 -f 强制执行,不进行安全检查 -d [厂商ID]:[设备ID] 指定设备 -s [[bus]:][slot][.[func]] 阅读全文
posted @ 2025-03-20 16:53 yooooooo 阅读(166) 评论(0) 推荐(0)
摘要:ABI ABI 是 Application Binary Interface 的缩写。 是应用程序二进制接口,描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低接口。 ABI涵盖了各种细节,如: 数据类型的大小、布局和对齐; 调用约定(控制着函数的参数如何传送以及如何接受 阅读全文
posted @ 2025-03-20 14:12 yooooooo 阅读(89) 评论(0) 推荐(0)
摘要:在 PCIe(Peripheral Component Interconnect Express)系统中,预取空间(Prefetchable Memory)和非预取空间(Non-Prefetchable Memory)有不同的用途和特性: 预取空间(Prefetchable Memory): 定义: 阅读全文
posted @ 2025-03-20 09:50 yooooooo 阅读(63) 评论(0) 推荐(0)
摘要:随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋。与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行数据信号才能达到的总线带宽。 PCI总线使用并行总线结构,在同一条总线上的所有外部设备共享总线带宽,而PCIe总线使用 阅读全文
posted @ 2025-03-19 23:22 yooooooo 阅读(934) 评论(0) 推荐(0)
摘要:my_pcie_0: pcie@10000000 { #address-cells = <1>; #size-cells = <1>; compatible = "mypcie"; device_type = "pcie"; reg = < 0x40000000 0x00100000 >; rang 阅读全文
posted @ 2025-03-19 23:15 yooooooo 阅读(147) 评论(0) 推荐(0)
摘要:一、为什么需要BAR 系统中的每个设备中,对地址空间的大小和访问方式可能有不同的需求,例如,一个设备可能有256字节的内部寄存器/存储,应该可以通过IO地址空间访问,而另一个设备可能有16KB的内部寄存器/存储,应该可以通过基于MMIO的设备访问。 哪些地址应该使用哪种方式(IO或Memory)来访 阅读全文
posted @ 2025-03-18 18:28 yooooooo 阅读(571) 评论(0) 推荐(0)
摘要:首先从三个层面去理解这个问题:物理接口,通道,协议 1:物理接口(相当于通讯中的电,光口) 大白话- 物理规格,像是 公路,铁路 专门跑PCI-E通道的那个物理接口:扩展性极强,可以插显卡的PCI-E X16的那个物理接口,或者插网卡,声卡的那个PCI-E X1那个物理接口,都是属于一类的物理接口, 阅读全文
posted @ 2025-03-18 14:42 yooooooo 阅读(1113) 评论(0) 推荐(0)
摘要:dma_alloc_coherent 和 dma_map_single 的主要区别在于 内存分配方式、地址一致性 和 适用场景。 1. dma_alloc_coherent 特点: 分配并映射 一个 DMA 兼容的缓冲区。 返回的 CPU 地址和 DMA 地址 一致性(coherent),即 CPU 阅读全文
posted @ 2025-03-16 20:20 yooooooo 阅读(468) 评论(0) 推荐(1)
摘要:《麦肯锡结构化战略思维:如何想清楚、说明白、做到位》 周国元 35个笔记 “焦虑”在VUCA时代蔓延 ◆ 面对未知和可能超出预判的潜在的负面影响,人们会觉得失去控制,因而产生烦躁和忧虑的情绪。只有通过对问题深入、理性思考和客观分析,加深对问题的理解从而减少不确定性,才会在一定程度上缓解“焦虑 2.1 阅读全文
posted @ 2025-03-10 23:32 yooooooo 阅读(233) 评论(0) 推荐(1)
摘要:1.简介 在Linux内核中设备树中,定义了一系列属性,用来描述PCIe总线。比如"bus-range"属性,描述PCIe某个domain的总线编号范围,比如"ranges"属性,描述PCIe地址转换。下面将分别介绍这些属性。 2.设备类型 由于PCIe总线有一些特有的属性,需要在驱动初始化的时候内 阅读全文
posted @ 2025-03-10 10:12 yooooooo 阅读(492) 评论(0) 推荐(0)
摘要:✨前言: PCIe总线的存储器写请求、存储器读完成等TLP中含有数据负载,即Data Payload。Data Payload的长度和MPS(Max Payload Size)、MRRS(Max Read Request Size)和RCB(Read Completion Boundary)相关。 阅读全文
posted @ 2025-03-06 15:58 yooooooo 阅读(596) 评论(0) 推荐(0)
摘要:1.PCIe子系统 RK3588 PCIe子系统如下图所示。总共拥有5个PCIe控制器。PCIe30X4(4L)支持RC和EP模式,其他4个仅支持RC模式。 ITS port 1连接PCIe30X4(4L)和PCIe30X2(2L)控制器,PCIe30X4(4L)和PCIe30X2(2L)控制器使用 阅读全文
posted @ 2025-03-06 10:57 yooooooo 阅读(463) 评论(0) 推荐(0)