This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

dm8168 EP侧加载pcie 的ep驱动时出现问题



目前在调试两块DM8168板通过PCIE接口来通信传输视频数据,在EP测的DM8168加载EP驱动ti81xx_pcie_epdrv.ko时出现地址的非法操作。驱动用的是RDK4.0的内核所带的,PCI总线驱动已禁止,加载时通过添加打印信息,找到问题出现在模块初始化函数所调用的ti81xx_setup_msi()函数中,在对STATUS_COMMAND寄存器操作时报错,这之前初始化函数已经调用ioremap_nocache()来映射这段寄存器空间,为何还出错,而且这个是官方的驱动,是不是我的哪个地方配置有误?TI的工程师或知道的大神们能否帮解答下,谢谢!

(注:EP测不是以PCIE启动模式启动的)

驱动加载报错信息在附件中!

static int ti81xx_setup_msi() {

  __raw_writel(0x0, reg_vir + 0x18c);

  __raw_writel(__raw_readl(reg_vir + STATUS_COMMAND +    LOCAL_CONFIG_OFFSET) | (1 << 10),    reg_vir + STATUS_COMMAND + LOCAL_CONFIG_OFFSET);

  __raw_writel(__raw_readl(reg_vir + LOCAL_CONFIG_OFFSET +    MSI_CAP + MSI_OFF) | (1 << 16),    reg_vir + LOCAL_CONFIG_OFFSET + MSI_CAP + MSI_OFF);

  __raw_writel(0xFFFFFFFF, reg_vir + MSI0_IRQ_ENABLE_SET);

 pr_debug(DRIVER_NAME ":msi capability setup done");

  return 0;

 }