Arria 10 PCIe Gen3x8 DMA(AN 829 ) - Linux Driver Error " Couldn't open the device"
Hi all,
We were trying to install the DMA test driver and run the Linux DMA software as mentioned in "AN 829: PCI Express* Avalon®-MM DMA Reference Design" under "1.2.7. Installing the DMA Test Driver and Running the Linux DMA Software", and are facing the below issue:
% sudo./install arria10
% sudo ./run
Got the below:
% Couldn't open the device.
On running dmesg command, getting the following:
[ 466.649278] tegradc 15200000.nvdisplay: unblank
[ 466.649291] tegradc 15210000.nvdisplay: blank - powerdown
[ 466.649298] tegradc 15220000.nvdisplay: blank - powerdown
[ 1047.293720] altera_dma: loading out-of-tree module taints kernel.
[ 1047.294647] Altera DMA: altera_dma_init(), Dec 11 2020 17:14:57
[ 1047.294959] Altera DMA 0005:01:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000001ff 64bit pref] not claimed
[ 1047.295159] Altera DMA 0005:01:00.0: pci_enable_device() failed
[ 1047.295263] Altera DMA 0005:01:00.0: goto err_enable
[ 1047.295351] Altera DMA 0005:01:00.0: goto err_initchrdev
[ 1047.295449] Altera DMA 0005:01:00.0: goto err_bk_alloc
[ 1047.295558] Altera DMA: probe of 0005:01:00.0 failed with error -22
grl-jetson@grljetson-desktop:~$
On running "lspci -vvk", getting the following:
0005:01:00.0 Non-VGA unclassified device: Altera Corporation Device e093 (rev 01)
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 38
Region 0: Memory at <unassigned> (64-bit, prefetchable) [disabled] [size=512]
Region 2: Memory at <unassigned> (64-bit, prefetchable) [disabled] [size=512M]
Capabilities: <access denied>
P.S: Earlier we tried by having Device Id as e003 in both altera_dma driver and Arria 10 reference design, but that also gave the same errors as above
Could someone please give any input(s) with regards to addressing the above issue.
Thanks in advance.
- Sachin
Thank for your following up on this issue, SK.
Our issue got resolved, on setting the base class code (upper byte at offset 0Bh in the PCIe configuration space) to 0xFF (Device does not fit any defined class). We did not have to change our host device or OS.
We were able to successfully run the Linux DMA software as mentioned in "AN 829: PCI Express Avalon -MM DMA Reference Design" document.
Regards,
Sachin