|
地板
楼主 |
发表于 2019-8-27 10:49:46
|
只看该作者
创龙工程师你们好
请教一下PCIE的问题 am5728和FPGA调试pcie接口接收不到MSI的中断,跳转不到PlatformMsiIntxIsr函数,请教一下DSP端代码 或者FPGA端该如何修改 ,还需传递哪些配置
static void PlatformMsiIntxIsr (uintptr_t vhandle)
{
pcieTiConfIrqStatusMsiReg_t pendingBits;
pciePlconfMsiCtrlIntStatusReg_t msiBits[8];
pciePlconfMsiCtrlIntStatusReg_t *clearMsiBits = NULL;
int32_t clearMsiBitsSize = 0;
Pcie_Handle handle = (Pcie_Handle)vhandle;
int32_t msiError = 0, i;
isr_count++;
isr_flag = 1;
#if 1
/* Figure out which type if interrupt */
if (Pcie_getPendingFuncInts (handle, &pendingBits, sizeof(msiBits), msiBits) == pcie_RET_OK)
{
#if 0
msi_isr_index = 0;
for (i = 1; i < 32; i++)
{
if (msiBits[0].msiCtrlIntStatus & (1<<i))
{
msi_isr_index = i;
msi_index_count[msi_isr_index] += 1;
break;
}
}
#endif
/* clear it */
clearMsiBitsSize = sizeof(msiBits);
clearMsiBits = msiBits;
}
#endif
/* Tell user task ISR happend */
//SemaphoreP_postFromISR (semaphoreHandle);
/* Clear/acknowledge the interrupt */
Pcie_clrPendingFuncInts (handle, &pendingBits, clearMsiBitsSize, clearMsiBits);
}
|
|