Бары выше 256 МБ не работают в «Мосте AXI для подсистемы PCIe Gen3 (3.0)» - PullRequest
0 голосов
/ 15 декабря 2018

В настоящее время я использую два BAR в мосте AXI для PCIe.

Следующая комбинация работает

BAR0: 128 МБ, BAR1: 32 МБ

, а следующее не 't работает (имеется в виду, что это не отражается в $ lspci -vv )

BAR0: 256 МБ, BAR1: 32 МБ

Предложения?

Примечания

  1. Я пробовал другие комбинации, размер которых не превышает 128 МБ, и они сработали (например, (64 МБ, 32 МБ). Поэтому я предполагаю, что проблем нетс генерацией потока битов и программированием устройства.
  2. После загрузки потока битов я перезагружаю устройство ($ sudo reboot) и использую команду $ lspci -vv для просмотра областей памяти в PCI.

В приложении

  1. Сводка проведенных нами испытаний

7-Dec-2018
vineeshvs
----------

Test1 :)
--------
	Project: full_system
	
	BAR0: 2MB
	BAR1: 2MB

	0a:00.0 Memory controller: Xilinx Corporation Device 7038
		Subsystem: Xilinx Corporation Device 0007
		Physical Slot: 3
		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 16
		Region 0: Memory at fbe00000 (32-bit, non-prefetchable) [size=2M]
		Region 1: Memory at fbc00000 (32-bit, non-prefetchable) [size=2M]
		Capabilities: <access denied>
		Kernel modules: riffa

Test2 :|
--------
	Project: full_system
	
	BAR0: 256MB
	BAR1: 32MB

	0a:00.0 Memory controller: Xilinx Corporation Device 7038
		Subsystem: Xilinx Corporation Device 0007
		Physical Slot: 3
		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 16
		Region 1: Memory at fa000000 (32-bit, non-prefetchable) [size=32M]
		Capabilities: <access denied>
		Kernel modules: riffa

Test3 :D
--------
	Project: full_system
	
	BAR0: 32MB
	BAR1: 32MB

	0a:00.0 Memory controller: Xilinx Corporation Device 7038
		Subsystem: Xilinx Corporation Device 0007
		Physical Slot: 3
		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 16
		Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=32M]
		Region 1: Memory at f8000000 (32-bit, non-prefetchable) [size=32M]
		Capabilities: <access denied>
		Kernel modules: riffa

Test4 :D
--------
	Project: full_system
	
	BAR0: 128MB
	BAR1: 32MB












	0a:00.0 Memory controller: Xilinx Corporation Device 7038
		Subsystem: Xilinx Corporation Device 0007
		Physical Slot: 3
		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 16
		Region 0: Memory at f0000000 (32-bit, non-prefetchable) [size=128M]
		Region 1: Memory at ee000000 (32-bit, non-prefetchable) [size=32M]
		Capabilities: <access denied>
		Kernel modules: riffa

Test5 
--------
	Test 2 with BARs swapped.

	Project: full_system
	
	BAR0: 32MB
	BAR1: 256MB

	0a:00.0 Memory controller: Xilinx Corporation Device 7038
		Subsystem: Xilinx Corporation Device 0007
		Physical Slot: 3
		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 16
		Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=32M]
		Capabilities: <access denied>
		Kernel modules: riffa
Настройки шины PCIe (работают с 128 МБ, 32 МБ) PCIe bar settings (working one with 128MB, 32MB)
...