问题描述
我是 linux 设备驱动程序的新手。我熟悉 pcie 和 nvme 的 linux 驱动程序代码。 我已经加载了 linux nvme 驱动程序并且能够通过 nvme cli 发送读、写命令。 加载 nvme 驱动程序后,是否可以将 pcie 命令(更改速度、车道)发送到设备。对现有的 nvme 驱动程序代码要做哪些更改? 主要目标是移植一堆 pcie 测试用例以与 nvme 读/写并行运行。
解决方法
您可以使用 setpci 来发出 PCIe 命令。无需对 nvme 驱动程序代码进行任何更改。
setpci -s Bus:device.function reg=value
您可以使用 setpci --dumpregs
来检查链接控制 2 寄存器的寄存器地址。然后修改nvme设备上行桥的目标链路速度