32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| config NTB_IDT
 | |
| 	tristate "IDT PCIe-switch Non-Transparent Bridge support"
 | |
| 	depends on PCI
 | |
| 	select HWMON
 | |
| 	help
 | |
| 	 This driver supports NTB of capable IDT PCIe-switches.
 | |
| 
 | |
| 	 Some of the pre-initializations must be made before IDT PCIe-switch
 | |
| 	 exposes its NT-functions correctly. It should be done by either proper
 | |
| 	 initialization of EEPROM connected to master SMbus of the switch or
 | |
| 	 by BIOS using slave-SMBus interface changing corresponding registers
 | |
| 	 value. Evidently it must be done before PCI bus enumeration is
 | |
| 	 finished in Linux kernel.
 | |
| 
 | |
| 	 First of all partitions must be activated and properly assigned to all
 | |
| 	 the ports with NT-functions intended to be activated (see SWPARTxCTL
 | |
| 	 and SWPORTxCTL registers). Then all NT-function BARs must be enabled
 | |
| 	 with chosen valid aperture. For memory windows related BARs the
 | |
| 	 aperture settings shall determine the maximum size of memory windows
 | |
| 	 accepted by a BAR. Note that BAR0 must map PCI configuration space
 | |
| 	 registers.
 | |
| 
 | |
| 	 It's worth to note, that since a part of this driver relies on the
 | |
| 	 BAR settings of peer NT-functions, the BAR setups can't be done over
 | |
| 	 kernel PCI fixups. That's why the alternative pre-initialization
 | |
| 	 techniques like BIOS using SMBus interface or EEPROM should be
 | |
| 	 utilized.
 | |
| 
 | |
| 	 If unsure, say N.
 | |
| 
 |