# SPDX-License-Identifier: GPL-2.0-only config [31mCONFIG_NTB_IDT[0m tristate "IDT PCIe-switch Non-Transparent Bridge support" depends on [31mCONFIG_PCI[0m select [31mCONFIG_HWMON[0m help This driver supports [31mCONFIG_NTB[0m 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 [31mCONFIG_PCI[0m 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 [31mCONFIG_PCI[0m 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 [31mCONFIG_PCI[0m fixups. That's why the alternative pre-initialization techniques like BIOS using SMBus interface or EEPROM should be utilized. If unsure, say N. |