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。但测试nvme没有出现类似现象。
My workaround:
在pcie_retrain_link 后,通过polling device寄存器非零,可以解决这个问题,正常enable网卡的aspm L1/s。
但是这个修改了apm.c的代码,不太容易能够merge到upstream,遂bing搜索了下,找到有一些类似的线索。
1. Atheros网卡似乎有类似的现象。
这个邮件里说是强制host为gen1可以规避这个问题。因为网卡是gen1的,我测试的rc是gen3,确实有可能是类似的问题.(尝试这个方法后问题解决,RTW88看来确实也有类似问题)
[PATCH] PCI: Disallow retraining link for Atheros QCA98xx chips on non-Gen1 PCIe bridgeshttps://www.mail-archive.com/ath10k@lists.infradead.org/msg13525.html
2. cadence的pcie host driver有提交过关于gen2 trainning的patch
这里考虑也可能是cadence 的这个rc本身的问题
[v4,2/2] PCI: cadence: Retrain Link to work around Gen2 training defect. - Patchwork
3. 如果以上都不行,可以考虑打上这个patch,非必要不要进行retrain
pci/pcie: Avoid unnecessary PCIe link retrains - Patchwork
主线的aspm.c 在pcie_aspm_configure_common实现种,不管是否有做ccc的配置,最后都默认会retrain,可以考虑试试这个patch
PCIe L1s debug with RTW88相关推荐
- 可以运行vivado的云服务器,百度云服务器FPGA标准开发环境的逻辑开发与编译示例 - 全文...
镜像是云服务器实例运行环境的模板,包括操作系统和预装软件等配置.百度云为每个FPGA实例默认提供了专属公共镜像,用户可以按需选择适合的镜像类型. 概述 基于百度云自研的FPGA加速卡,提供了一套FPG ...
- Vivado18.2 PCIE ip核IO协议详细介绍
金手指原理部分不多介绍,网上有很多类似的文章,大家可以自行参考 我们直接上手使用IP核建立部分 文章目录 IP核建立 IP核利化代码介绍 PCIE 协议介绍 PCIE 时序图 PCIE 示例代码 介绍 ...
- synopsys PCIE IP协议解析
synopsys PCIE IP协议解析 1.Overview Core支持单个Pcie内核的Loopback功能,该功能主要为了做芯片验证,以及在没有远程接收器件的情况下完成自己的回环.同时,Cor ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)
原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 如果你觉得这篇博客对你的项目有用,请引用以下论文: Meng Shengwei, Lu Jianji ...
- linux pcie组raid_大概是市面上带金属 PCIE 装甲和背板中最便宜的一款主板。华擎 Z390 Phantom Gaming X 开箱评测...
外观展示 ▲迎面扑来的就是一股高端感,一整块的 PCIE 装甲,红黑搭配的色调,纯黑色的 PCB,2019 年华擎在主板外观下确实下了不少的功夫.不少玩家看到华擎就会想起来是华硕的子公司,其实不然,之 ...
- linux设备驱动之PCIE驱动开发
PCIE(PCI Express)是INTEL提出的新一代的总线接口,目前普及的PCIE 3.0的传输速率为8GT/s,下一代PCIE 4.0将翻番为16GT/S,因为传输速率快广泛应用于数据中心.云 ...
- drm debug log with drm.debug=6 debug
t:s0 msg='unit=kmod-static-nodes comm="systemd" exe="/usr/lib/systemd/systemd" h ...
- PCIe学习笔记之pcie结构和配置空间
PCIe概述 PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统. PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高 ...
- PCIe | 基础知识点扫盲
本文总结 lspci 相关的知识点 1' 2' 3' 4' 5' 6. 本文的内容主要源自互联网技术博客及 SSDfans 网站 7. 持续更新中 - Update: 2023 / 1 / 23 PC ...
最新文章
- java贪心算法 区间调度_贪心算法-区间调度问题解之证明(示例代码)
- 微软经典案例系列课程(视频课程讲师:杨丹)
- python txt提取特定数据_Python提取列表中的内容 用“python”怎么提取文件里的指定内容?...
- 微信小程序实现web端锚点功能
- Understanding Ethereum Smart Contracts
- 生物反应器:生物过程工程的动物细胞培养控制 Bioreactors : animal cell culture control for bioprocess engineering 英文原版
- CSS之深入理解 flex 布局以及计算
- 游戏盒子源码_如何用8K电视盒子组建“家庭影院”(设备入门篇)
- win7+cuda8.0+cudnn6.0+tensorflow-gpu1.3.0安装过程总结
- 自定义Json解析工具
- Atitit.搜索引擎内容来源解决之道
- 运用递归的方法求解对称三对角矩阵的特征值——matlab实现
- Linux获取外网IP
- php 问号乱码,如何解决php问号乱码的问题
- 2017找工作的经历,给求职小伙伴的一些建议
- 20170425めも
- vue2.0,3.0官网
- 传奇开服教程,传奇开服需要学多久? 开传奇sf需要准备什么呢? 开传奇需要多少本钱?---开服流程
- 图解希尔排序(Shell Sort)
- Google的招聘要求