RK3588平台开发系列讲解(PCIe开发篇4)

本文详细分析了RK3588平台PCIe开发中遇到的问题,包括MSI/MSI-X无法使用、外设枚举后的通信错误、FW异常、BAR地址空间访问异常、PCIe转USB设备驱动加载异常以及3.0接口休眠唤醒异常。通过检查配置、协议分析、电源管理等方法,提供了解决这些问题的步骤和建议。
摘要由CSDN通过智能技术生成

目录

常见问题分析

MSI/MSI-X⽆法使⽤

外设枚举后通信过程中报错

外设枚举过程报FW异常

重新映射后访问PCIe设备的BAR地址空间异常

PCIe转USB设备驱动(xhci)加载异常

PCIe 3.0接口休眠唤醒时系统异常


常见问题分析

MSI/MSI-X⽆法使⽤

在移植外设驱动的开发过程中(主要指的是WiFi),认为主机端的function driver因⽆法使⽤MSI或者MSI-X 中断而导致流程不正常,按如下流程进⾏排查

确认前述menuconfig 中提到的配置,尤其是MSI相关配置是否都有正确勾选

确认rk3568.dtsi中,its节点是否被设置为disabled

执⾏lspci -vvv,查看对应设备的MSI或者MSI-X是否有⽀持并被使能。以此设备为例,其上报的 capabilities显⽰其⽀持32个64 bit MSI,⽬前仅使⽤1个,但是 Enable-表⽰未使能。若正确使能应该 看到Enable+, 且Address应该能看到类似为0x00000000fd4400XX的地址。此情况⼀般是设备驱动还 未加载或者加载时申请MSI或者MSI-X失败导致,请参考其他驱动,使⽤pci_alloc_irq_vectors等函数 进⾏申请,详情可结合其他成熟的PCIe外设驱动做法以及参考内核中的Documentation/PCI/MSIHOWTO.txt⽂档进⾏编写和排查异常。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第二层皮-合肥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值