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相关推荐

  1. 可以运行vivado的云服务器,百度云服务器FPGA标准开发环境的逻辑开发与编译示例 - 全文...

    镜像是云服务器实例运行环境的模板,包括操作系统和预装软件等配置.百度云为每个FPGA实例默认提供了专属公共镜像,用户可以按需选择适合的镜像类型. 概述 基于百度云自研的FPGA加速卡,提供了一套FPG ...

  2. Vivado18.2 PCIE ip核IO协议详细介绍

    金手指原理部分不多介绍,网上有很多类似的文章,大家可以自行参考 我们直接上手使用IP核建立部分 文章目录 IP核建立 IP核利化代码介绍 PCIE 协议介绍 PCIE 时序图 PCIE 示例代码 介绍 ...

  3. synopsys PCIE IP协议解析

    synopsys PCIE IP协议解析 1.Overview Core支持单个Pcie内核的Loopback功能,该功能主要为了做芯片验证,以及在没有远程接收器件的情况下完成自己的回环.同时,Cor ...

  4. 基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)

    原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 如果你觉得这篇博客对你的项目有用,请引用以下论文: Meng Shengwei, Lu Jianji ...

  5. linux pcie组raid_大概是市面上带金属 PCIE 装甲和背板中最便宜的一款主板。华擎 Z390 Phantom Gaming X 开箱评测...

    外观展示 ▲迎面扑来的就是一股高端感,一整块的 PCIE 装甲,红黑搭配的色调,纯黑色的 PCB,2019 年华擎在主板外观下确实下了不少的功夫.不少玩家看到华擎就会想起来是华硕的子公司,其实不然,之 ...

  6. linux设备驱动之PCIE驱动开发

    PCIE(PCI Express)是INTEL提出的新一代的总线接口,目前普及的PCIE 3.0的传输速率为8GT/s,下一代PCIE 4.0将翻番为16GT/S,因为传输速率快广泛应用于数据中心.云 ...

  7. drm debug log with drm.debug=6 debug

    t:s0 msg='unit=kmod-static-nodes comm="systemd" exe="/usr/lib/systemd/systemd" h ...

  8. PCIe学习笔记之pcie结构和配置空间

    PCIe概述 PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统. PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高 ...

  9. PCIe | 基础知识点扫盲

    本文总结 lspci 相关的知识点 1' 2' 3' 4' 5' 6. 本文的内容主要源自互联网技术博客及 SSDfans 网站 7. 持续更新中 - Update: 2023 / 1 / 23 PC ...

最新文章

  1. java贪心算法 区间调度_贪心算法-区间调度问题解之证明(示例代码)
  2. 微软经典案例系列课程(视频课程讲师:杨丹)
  3. python txt提取特定数据_Python提取列表中的内容 用“python”怎么提取文件里的指定内容?...
  4. 微信小程序实现web端锚点功能
  5. Understanding Ethereum Smart Contracts
  6. 生物反应器:生物过程工程的动物细胞培养控制 Bioreactors : animal cell culture control for bioprocess engineering 英文原版
  7. CSS之深入理解 flex 布局以及计算
  8. 游戏盒子源码_如何用8K电视盒子组建“家庭影院”(设备入门篇)
  9. win7+cuda8.0+cudnn6.0+tensorflow-gpu1.3.0安装过程总结
  10. 自定义Json解析工具
  11. Atitit.搜索引擎内容来源解决之道
  12. 运用递归的方法求解对称三对角矩阵的特征值——matlab实现
  13. Linux获取外网IP
  14. php 问号乱码,如何解决php问号乱码的问题
  15. 2017找工作的经历,给求职小伙伴的一些建议
  16. 20170425めも
  17. vue2.0,3.0官网
  18. 传奇开服教程,传奇开服需要学多久? 开传奇sf需要准备什么呢? 开传奇需要多少本钱?---开服流程
  19. 图解希尔排序(Shell Sort)
  20. Google的招聘要求

热门文章

  1. AIoT赋能 科大讯飞携手旭辉共筑智慧地产
  2. php视频教程折蜗牛,简单立体折纸蜗牛的折纸视频教程
  3. 直播APP平台需要怎么样的服务器?
  4. 搜狗与360加紧抢食百度份额
  5. 不同的沟通方式与技巧
  6. Python selenium模拟淘宝登陆
  7. FreeBSD安装详细讲解-一步一步教你安装FreeBSD
  8. CentOS 7 无线网卡驱动安装教程
  9. 20160329中艺收盘总结
  10. Linux运维容器篇 k8s单节点二进制部署(1) ECTD部署+CA证书制作