I have a PCI card that when connected on to the TX2, shows thw following lspci output.
01:00.0 Serial controller: Xilinx Corporation Device 9024 (prog-if 01 [16450])
Subsystem: Xilinx Corporation Device 0007
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 422
Region 0: Memory at <unassigned> (64-bit, non-prefetchable) [disabled]
Region 2: Memory at <unassigned> (64-bit, non-prefetchable) [disabled]
Region 4: Memory at <unassigned> (64-bit, non-prefetchable) [disabled]
Capabilities: <access denied>
But when I connect it to an x86, it shows the following.
1a:00.0 Serial controller: Xilinx Corporation Device 9024 (prog-if 01 [16450])
Subsystem: Xilinx Corporation Device 0007
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 35
Region 0: Memory at b0000000 (64-bit, non-prefetchable)
Region 2: Memory at b0200000 (64-bit, non-prefetchable)
Region 4: Memory at a8000000 (64-bit, non-prefetchable)
Capabilities: <access denied>
I know it has got 130MB non-prefetchable memory, but I need to know if it is possible to avoid BAR2(Region 4) which has got a size 128MB?
When I try to insmod my driver (which is working fine on x86), it is giving a “Segmentation fault (core dumped)”. The error trace back to pci_request_regions() returning 0, but mapping_bars fails.
I’m not even getting anything about any BAR (pci_resource_start,end,length-> all returns 0), even for the BAR0 and BAR1.
Is there anything I can do to solve this?