]> mj.ucw.cz Git - pciutils.git/blobdiff - setpci.man
update-pciids: Add support for xz compression
[pciutils.git] / setpci.man
index 79b255419fdc8355a5d4a9da28dbf770da726fba..9e4e1d8a6c44c2963b33449cd1c8ee4dddb191ea 100644 (file)
@@ -1,5 +1,4 @@
 .TH setpci 8 "@TODAY@" "@VERSION@" "The PCI Utilities"
-.IX setpci
 .SH NAME
 setpci \- configure PCI devices
 .SH SYNOPSIS
@@ -46,6 +45,13 @@ to verify that your complex sequence of
 .B setpci
 operations does what you think it should do.
 .TP
+.B -r
+Avoids bus scan if each operation selects a specific device (uses the
+.B -s
+selector with specific domain, bus, slot, and function). This is faster,
+but if the device does not exist, it fails instead of matching an empty
+set of devices.
+.TP
 .B --version
 Show
 .I setpci
@@ -72,7 +78,7 @@ available methods and their descriptions.
 .TP
 .B -O <param>=<value>
 The behavior of the library is controlled by several named parameters.
-This option allows to set the value of any of the parameters. Use \fB-O help\fP
+This option allows one to set the value of any of the parameters. Use \fB-O help\fP
 for a list of known parameters and their default values.
 .TP
 .B -H1
@@ -100,9 +106,10 @@ hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of
 on any bus, "0.3" selects third function of device 0 on all buses and ".4" matches only
 the fourth function of each device.
 .TP
-.B -d [<vendor>]:[<device>]
-Select devices with specified vendor and device ID. Both ID's are given in
-hexadecimal and may be omitted or given as "*", both meaning "any value".
+.B -d [<vendor>]:[<device>][:<class>[:<prog-if>]]
+Select devices with specified vendor, device, class ID, and programming interface.
+The ID's are given in hexadecimal and may be omitted or given as "*", both meaning
+"any value". The class ID can contain "x" characters which stand for "any digit".
 .PP
 When
 .B -s
@@ -115,7 +122,7 @@ options of the same kind are specified, the rightmost one overrides the others.
 .PP
 There are two kinds of operations: reads and writes. To read a register, just specify
 its name. Writes have the form
-.IR name = value , value ...
+.IR name = value , value ...\&
 where each
 .I value
 is either a hexadecimal number or an expression of type
@@ -148,10 +155,13 @@ identifier of the capability in hexadecimal.
 Each of the previous formats can be followed by \fB+offset\fP to add an offset
 (a hex number) to the address. This feature can be useful for addressing of registers
 living within a capability, or to modify parts of standard registers.
-\IP \(bu
-Finally, you should append a width specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP to choose
-how many bytes (1, 2, or 4) should be transferred. The width can be omitted if you are
-accessing a named register whose width is well known.
+.IP \(bu
+To choose how many bytes (1, 2, or 4) should be transferred, you should append a width
+specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP. The width can be omitted if you are
+referring to a register by its name and the width of the register is well known.
+.IP \(bu
+Finally, if a capability exists multiple times you can choose which one to target using
+\fB@number\fP. Indexing starts at 0.
 
 .PP
 All names of registers and width specifiers are case-insensitive.