Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config NTB_IDT
0003         tristate "IDT PCIe-switch Non-Transparent Bridge support"
0004         depends on PCI
0005         select HWMON
0006         help
0007          This driver supports NTB of capable IDT PCIe-switches.
0008 
0009          Some of the pre-initializations must be made before IDT PCIe-switch
0010          exposes its NT-functions correctly. It should be done by either proper
0011          initialization of EEPROM connected to master SMbus of the switch or
0012          by BIOS using slave-SMBus interface changing corresponding registers
0013          value. Evidently it must be done before PCI bus enumeration is
0014          finished in Linux kernel.
0015 
0016          First of all partitions must be activated and properly assigned to all
0017          the ports with NT-functions intended to be activated (see SWPARTxCTL
0018          and SWPORTxCTL registers). Then all NT-function BARs must be enabled
0019          with chosen valid aperture. For memory windows related BARs the
0020          aperture settings shall determine the maximum size of memory windows
0021          accepted by a BAR. Note that BAR0 must map PCI configuration space
0022          registers.
0023 
0024          It's worth to note, that since a part of this driver relies on the
0025          BAR settings of peer NT-functions, the BAR setups can't be done over
0026          kernel PCI fixups. That's why the alternative pre-initialization
0027          techniques like BIOS using SMBus interface or EEPROM should be
0028          utilized.
0029 
0030          If unsure, say N.
0031