X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=setpci.man;h=9e4e1d8a6c44c2963b33449cd1c8ee4dddb191ea;hb=9535c7aa0f64591428e8c436b9dc4dffebb27665;hp=c35b9968af50d4abc5fad26ff60e742f723d1b8e;hpb=b571f36fe5f84fcfb26622500098500cecd11f49;p=pciutils.git
diff --git a/setpci.man b/setpci.man
index c35b996..9e4e1d8 100644
--- a/setpci.man
+++ b/setpci.man
@@ -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 =
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 []:[]
-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 []:[][:[:]]
+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
@@ -149,9 +156,12 @@ 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
+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.