![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PCIe
文章平均质量分 83
Lenz's law
芯片-车载-医疗 行业 嵌入式工程师
展开
-
PCIe L1s debug with RTW88
enable ASPM的过程种遇到一个奇怪的问题,明明RTW8822CE支持L1/s,但是enable kernel ASPM driver之后没有正常建立sysfs的link status节点。debug发现是aspm driver在获取host/device两端的aspm能力过程种,有做pcie_retrain_link,pcie_retrain_link后,RTW8822CE的pcie cap寄存器出现短暂时间访问为0的情况,导致driver认为device不支持任何的L1/L0/s。但测试n原创 2021-11-19 17:58:06 · 1457 阅读 · 0 评论 -
[PCIe] linux 下测试ASPM
1. kernel config & driver.config - Linux/arm64 5.4.31 Kernel Configuration> Device Drivers > PCI support打开 PCI Express ASPM control和Debug PCI Express ASPM (会在sys_fs中添加aspm的控制node,方便手动修改进行测试)电源策略选择Power Supersave 在dts中修改bootargs,增加pci..原创 2020-10-10 17:21:06 · 9724 阅读 · 0 评论 -
[PCIe] PCIe 枚举过程-TODO
1. 设备的发现与bdf number的确定枚举的第一个过程是rc端通过向bus上发起cfg访问获取整个总线拓扑上的设备信息。简单说来就是去遍历每个bus,以及bus下device的配置空间。如果读到有效值(非全F)则认为发现了可用的设备。1.1 bdf number的分配bus device function这3个number的分配是很有意思的事情。对于每个pcie设备来说,并没有寄存器可以用来配置或者修改bdf number。那么这3个值在到底是怎么确定的呢。经典的说法是,bdf n原创 2020-09-18 18:58:29 · 5722 阅读 · 15 评论 -
[PCIe] Hot reset and FLR reset Performing in linux
“热重置”是通过PCI Express链路触发的常规重置。当链路被迫进入电气空闲状态时,或通过发送带有热复位bit的TS1和TS2有序集来触发热复位。软件可以通过设置然后清除设备上游桥接端口的PCI配置空间中桥接控制寄存器中的辅助总线复位位来启动热复位。(下图Bridge Control Register->Secondary Bus Reset)Secondary Bus Reset - Setting this bit triggers a hot reset on the corres原创 2020-06-15 14:45:04 · 4533 阅读 · 0 评论 -
[PCIe] [电源管理] 面向硬件的ASPM链路状态和L1子状态
PCIe设备的低功耗状态要求系统驱动程序显式地将设备置于低功耗状态,从而PCIe链路则可以依次变为低功耗链路状态。PCIe规范允许PCIe链路在没有系统驱动的情况下进入低功耗状态。这个特性就是所谓的主动状态电源管理(ASPM)。一般来说,无论是系统驱动端硬件(RC)还是设备硬件(EP)都可以通过检测pcie链路上的空闲时间,然后启动电源状态转移。有两种低功率链路状态:L0s,也叫L0 st...原创 2020-04-30 15:40:40 · 21747 阅读 · 0 评论 -
[PCIe]PCIe设备在一个系统中是如何发现与访问的
首先我们来看一下在x86系统中,PCIe是什么样的一个体系架构。下图是一个PCIe的拓扑结构示例,PCIe协议支持256个Bus, 每条Bus最多支持32个Device,每个Device最多支持8个Function,所以由BDF(Bus,device,function)构成了每个PCIe设备节点的身份证号。PCIe体系架构一般由root complex,switch,endpoint等类型...转载 2020-04-20 17:07:19 · 3189 阅读 · 0 评论 -
「博文连载」PCIe扫盲——PCIe演进方向?CCIX简介
摩尔定律逐渐降速,业界需要一同寻找提升计算性能、同时保持低功耗的方法。CCIX联盟的成立旨在实现一种新型互联,专注于新兴的加速应用,如机器学习、网络处理、存储卸载、内存数据库和4G/5G 无线技术。这个标准使得基于不同指令集的处理器,将缓存一致性、对等计算的优势扩展至许多加速设备包括FPGA、GPU、网络或存储适配器、智能网络和定制的专用集成电路。CCIX 通过扩展现有成熟的数据中心硬件和软件基础...转载 2020-03-13 11:28:24 · 1897 阅读 · 0 评论 -
[PCIe] SR-IOV (单根虚拟化) 及linux驱动浅析(device的PF和VF及其驱动)
检查、配置vf数量,因为还没配置,所以是0[root@g1 ~]# cat /sys/class/infiniband/mlx5_1/device/mlx5_num_vfs0这里我测试把OFED驱动中的vf数量配置成1echo 1> /sys/class/infiniband/mlx5_1/device/mlx5_num_vfs在PCI总线上,用lsp...原创 2020-03-11 17:37:56 · 17191 阅读 · 6 评论 -
【PCIe】AER linux 驱动浅析
AER及linux内核驱动简介:https://blog.csdn.net/u010443710/article/details/1046491791. AER 中断首先AER驱动作为错误上报和处理的机制,肯定有一个错误上报的入口。这个入口就是AER中断。linux的AER驱动只针对RC,也就是说软件需要处理RC的AER中断请求。并在中断处理函数中通过AER 寄存器来判断错误类型并...原创 2020-03-06 17:07:24 · 5396 阅读 · 0 评论 -
【PCIe】【翻译】AER 内核驱动 《pcieaer-howto》PCI Express高级错误报告驱动程序指南
本文翻译自内核文档:linux\Documentation\PCI\pcieaer-howto.txt《 PCI Express高级错误报告驱动程序指南》 HOWTOT.Long Nguyen <tom.l.nguyen@intel.com>张艳敏<yanmin.zhang@intel.com>2006年7月29日目录1.概述1.1关于本指南...翻译 2020-03-04 13:27:10 · 5220 阅读 · 0 评论 -
[PCIe]LTSSM与电源管理
1. LTSSMLTSSM全称是Link Training and Status State Machine,有以下11个状态:Detect, Polling, Configuration, Recovery, L0, L0s, L1, L2, Hot Reset, Loopback, Disable这些状态分为5大类:1、链路训练状态(Link Training State):D...原创 2020-02-20 18:24:39 · 16343 阅读 · 0 评论 -
PCIe扫盲系列博文连载
转载自http://blog.chinaaet.com/justlxy/p/5100053251PCIe扫盲系列博文连载目录篇(第一阶段)1、前言篇:PCIe扫盲——PCIe简介:http://blog.chinaaet.com/justlxy/p/51000530662、PCIe扫盲——PCI总线基本概念:http://blog.chinaaet.com/justlxy/p/5100...转载 2020-02-19 17:16:45 · 745 阅读 · 1 评论 -
[嵌入式linux]busybox 编译出的 lspci 命令只显示device id的,不支持-vvv解决办法
busybox应该是有一个自带的简化版lspci,并不是完整的pciutils程序。如果没有安装pciutils,默认lspci就是下面简化版的。# lspci -hlspci: invalid option -- 'h'BusyBox v1.27.2 (2019-01-02 12:04:07 CST) multi-call binary.Usage: lspci [-mk]...原创 2020-01-07 16:33:57 · 3099 阅读 · 1 评论 -
[嵌入式linux]PCIe 热拔插(rescan)
linux下可通过/sys/bus/pci/devices/0000\:[bus number]\:[device number].[function number]/ 目录下的节点进行热拔插操作。板子上电前PCIe插槽有一块NVME的固态硬盘[ 0.198515] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400[ ...原创 2020-01-07 14:32:12 · 13372 阅读 · 3 评论