Hi
I am trying to run a virtual machine with Qemu/KVM on the iMX8QM-MEK board. In this virtual machine, I am passing through some devices, including the display. I was able to make the HDMI, and Display controller work in the VM. But I was not able to make the GPU work in the VM. I know that NXP only supports Xen, but I need here only more information about the "FE not idle" error that is shown in this log:
[ 2.289388] mmuPageTablePool = 1
[ 2.293824] mmuDynamicMap = 1
[ 2.295710] Build options:
[ 2.299668] gcdGPU_TIMEOUT = 30000
[ 2.301482] gcdGPU_2D_TIMEOUT = 20000
[ 2.306316] gcdINTERRUPT_STATISTIC = 1
[ 2.311665] Galcore Info: ContiguousBase=0xe0000000 ContiguousSize=0x10000000
[ 2.368618] GPU[0](ChipModel=0x7000 ChipRevision=0x6009):
[ 2.373904] **************************
[ 2.376967] *** GPU STATE DUMP ***
[ 2.379956] **************************
[ 2.382793] axi = 0x000000FF
[ 2.384235] idle = 0x7FFFFFFE
[ 2.385658] FE not idle
[ 2.386819] DMA appears to be stuck at this address:
[ 2.388975] 0xE00020A0
[ 2.390105] dmaLow = 0x00000000
[ 2.391521] dmaHigh = 0x00000000
[ 2.393025] dmaState = 0x00000000
[ 2.394493] command state = 0 (PAR_IDLE_ST)
[ 2.396572] command DMA state = 0 (CMD_IDLE_ST)
[ 2.398626] command fetch state = 0 (FET_IDLE_ST)
[ 2.400725] DMA request state = 0 (REQ_IDLE_ST)
[ 2.402792] cal state = 0 (CAL_IDLE_ST)
[ 2.404921] VE request state = 0 (VER_IDLE_ST)
I know that FE is related to fence, but my question here is, which kind of fence is this error related? Do you have any documentation that describes more in deep the GPU fence?
Any help is highly appreciated. I attach the full log for reference.
Regards
Juan Pablo Ruiz
The dump log indicates GPU cannot fetch the correct command at E00020A0, can you check the buffer content for the address?
Hi @XianzhongLi
Thanks for your reply. I tried to get the buffer around the address E00020A0 but the function
it is weird that GPU read the unavailable command buffer, did you see such problem on Xen?