From 9056754f65052bed370df04523dc3e8628948f9c Mon Sep 17 00:00:00 2001 From: Pierre Morel Date: Thu, 30 Apr 2020 04:02:17 -0400 Subject: s390/pci: Documentation update for s390 PCI Clarify the documentation. Signed-off-by: Pierre Morel Reviewed-by: Niklas Schnelle Signed-off-by: Vasily Gorbik --- Documentation/s390/pci.rst | 83 +++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 42 deletions(-) (limited to 'Documentation/s390') diff --git a/Documentation/s390/pci.rst b/Documentation/s390/pci.rst index 75e043d4da85..492850bff316 100644 --- a/Documentation/s390/pci.rst +++ b/Documentation/s390/pci.rst @@ -10,7 +10,7 @@ Authors: Copyright, IBM Corp. 2020 -command line parameters and debugfs entries +Command line parameters and debugfs entries =========================================== Command line parameters @@ -18,7 +18,7 @@ Command line parameters * nomio - Do not use MIO instructions. + Do not use PCI Mapped I/O (MIO) instructions. * norid @@ -27,100 +27,99 @@ Command line parameters debugfs entries --------------- -* /sys/kernel/debug/s390dbf/pci_*/ (S/390 debug feature) +The S/390 debug feature (s390dbf) generates views to hold various debug results in sysfs directories of the form: - Some views generated by the debug feature to hold various debug outputs. + * /sys/kernel/debug/s390dbf/pci_*/ + +For example: - /sys/kernel/debug/s390dbf/pci_msg/sprintf - Messages from the processing of PCI events like machine check handling - and setting of global functionality like UID checking. + Holds messages from the processing of PCI events, like machine check handling + and setting of global functionality, like UID checking. - The level of logging can be changed to be more or less verbose by piping to - /sys/kernel/debug/s390dbf/pci_*/level a number between 0 and 6; see the - documentation on the S/390 debug feature (Documentation/s390/s390dbf.rst) - for details. + Change the level of logging to be more or less verbose by piping + a number between 0 and 6 to /sys/kernel/debug/s390dbf/pci_*/level. For + details, see the documentation on the S/390 debug feature at + Documentation/s390/s390dbf.rst. Sysfs entries ============= -Specific entries, or entries specificities for zPCI functions. +Entries specific to zPCI functions and entries that hold zPCI information. * /sys/bus/pci/slots/XXXXXXXX - The slot entries are setup using the FID (Function Identifier) of the + The slot entries are set up using the function identifier (FID) of the PCI function. - /sys/bus/pci/slots/XXXXXXXX/power - A physical function currently supporting virtual function can not be - powered-off until all virtual-function have been removed with + A physical function that currently supports a virtual function cannot be + powered off until all virtual functions are removed with: echo 0 > /sys/bus/pci/devices/XXXX:XX:XX.X/sriov_numvf * /sys/bus/pci/devices/XXXX:XX:XX.X/ - function_id - zPCI function identifier unique for the complete Z System. - It define uniquely a function in the system. + A zPCI function identifier that uniquely identifies the function in the Z server. - function_handle - Low level identifier used for a configured PCI function. - It may be useful for debuging. + Low-level identifier used for a configured PCI function. + It might be useful for debuging. - pchid - Model dependent location of the I/O adapter. + Model-dependent location of the I/O adapter. - pfgid - PCI Function Group ID, functions sharing identical functionality - are using a common identifier. - A PCI group defines interrupts, IOMMU, IOTLB and DMA specifics. + PCI function group ID, functions that share identical functionality + use a common identifier. + A PCI group defines interrupts, IOMMU, IOTLB, and DMA specifics. - vfn - The Virtual Function Number, from 1 to N for virtual functions. + The virtual function number, from 1 to N for virtual functions, 0 for physical functions. - pft - PCI function type specifies the type of the PCI function. + The PCI function type - port - The port correspond to the physical port the function is attached to. - It also gives an indication on the physical function a virtual function + The port corresponds to the physical port the function is attached to. + It also gives an indication of the physical function a virtual function is attached to. - uid - The UID, Unique Identifier is defined when configuring a LPAR and is - unique inside an LPAR. + The unique identifier (UID) is defined when configuring an LPAR and is + unique in the LPAR. - pfip/segmentX - The segments are used to determine the isolation of a function. - They corresponds to the physical path to the function. - The more the segment are different the more the functions are isolated. + The segments determine the isolation of a function. + They correspond to the physical path to the function. + The more the segments are different, the more the functions are isolated. Enumeration and hotplug ======================= -The PCI address is made of 4 parts: domain, bus, device and function, -like in DDDD:BB:dd.f +The PCI address consists of four parts: domain, bus, device and function, +and is of this form: DDDD:BB:dd.f -* When not using multi-functions (norid is set or firmware does not support - multi-functions) +* When not using multi-functions (norid is set, or the firmware does not + support multi-functions): - There is only one function per domain. - - the domain is set from the zPCI function's UID as defined during the + - The domain is set from the zPCI function's UID as defined during the LPAR creation. - - Addresses look like DDDD:00:00.0 - -* When using multi-functions (norid parameter is not set), there are some - change in the way zPCI functions are addressed: +* When using multi-functions (norid parameter is not set), + zPCI functions are addressed differently: - There is still only one bus per domain. - There can be up to 256 functions per bus. - - The domain part of the address of all functions of all functions for + - The domain part of the address of all functions for a multi-Function device is set from the zPCI function's UID as defined in the LPAR creation for the function zero. - - New functions will only be ready to be used after the function zero + - New functions will only be ready for use after the function zero (the function with devfn 0) has been enumerated. -- cgit