PCIE设备如何降速降带宽

1、PCIE 能力结构简介

  PCI Express在PCI 3.0兼容的配置空间(前256字节)中定义了一个能力结构。该结构允许识别PCI Express设备功能,并表示支持新的PCI Express功能。PCI Express设备的功能需要PCI快速能力结构。功能结构是一种启用需要支持遗留操作系统的PCI软件透明特性的机制。除了识别PCI Express设备功能,PCI快速功能结构用于提供访问PCI Express特定的控制/状态寄存器和相关的电源管理增强。

1、查看PCIE速率和带宽

在这里插入图片描述
  OS下LSPCI -s 0001:00:01.0 -vvv 可以看到Link 的能力信息,速率为Speed 16GT/s,带宽为x16。降速率和带宽就是降Link cap resgister的两个值。

2、修改带宽和速率

  PCI Express功能列表寄存器在PCI 3.0配置空间功能列表中枚举PCI Express功能结构
在这里插入图片描述

  所有PCI Express设备功能都需要PCI表达功能、设备功能、设备状态和设备控制寄存器。设备功能2、设备状态2和设备控制2寄存器需要所有PCI快速设备功能,实现的功能需要这些寄存器。对于没有实现设备功能2、设备状态2和设备控制2寄存器的设备功能,这些空间必须硬连接到0b。
  Link 能力,Link 状态,Link控制寄存器被所有的ROOT PORT需要。
  如果在端口上实现了插槽(由PCI快速能力寄存器中的插槽实现位表示),则交换机下游和根端口需要插槽功能、插槽状态和插槽控制寄存器。
  详细解释参考PCI_Express_Base_Specification_Revision_3.0,具体的能力项和字段意义都有解释。
  00h:
7:0 Capability ID-表示PCI快速能力结构。此字段必须返回一个10h的能力ID,表明这是一个PCI快速能力结构。
15:8 Next Capability Pointer 此字段包含对下一个PCI功能结构的偏移量,如果功能链接列表中没有其他项,则为00h。
02h: PCI Express功能寄存器标识PCI Express设备功能类型和相关功能。
在这里插入图片描述

04h: 设备功能寄存器标识PCI快速设备功能特定的功能。
在这里插入图片描述
08h:设备控制寄存器控制PCI Express设备的特定参数。
在这里插入图片描述
0Ch:链路功能寄存器识别PCI快速链接特定的功能。

在这里插入图片描述
  Link能力寄存器在偏移0Ch处,最大速度占0-3bit位,最大带宽占4-9bit 位,所代表的含义如下图所示:
在这里插入图片描述
  由图可以看出,需要改带宽的值,需要更新Link的能力寄存器,到底层定位相应的SET寄存器的位置

#define LINK_CAPABLE_SET(dst, src) (((dst) & ~0x3F0000) | (((UINT32)(src) << 16) & 0x3F0000))·

switch (RC->Pcie[PcieIndex].MaxWidth) {
    case LNKW_X2:
      Val = LINK_CAPABLE_SET (Val, LINK_CAPABLE_X2);
      break;
    case LNKW_X4:
      Val = LINK_CAPABLE_SET (Val, LINK_CAPABLE_X4);
      break;
    case LNKW_X8:
      Val = LINK_CAPABLE_SET (Val, LINK_CAPABLE_X8);
      break;
    case LNKW_X16:
    default:
      Val = LINK_CAPABLE_SET (Val, LINK_CAPABLE_X16);
      break;
    };

  设置完成后,再去OS下LSPCI -s 0001:00:01.0 -vvv 查看带宽值是否有变化,带宽值是需要的内容,说明设置成功。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值