ahci/sili.4 - Document sysctl nodes & loader tunables
[dragonfly.git] / share / man / man4 / ahci.4
1 .\"     $OpenBSD: ahci.4,v 1.7 2008/04/19 01:18:39 djm Exp $
2 .\"
3 .\" Copyright (c) 2006 David Gwynne <dlg@openbsd.org>
4 .\"
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" TORTIOUS ACTION, ARISING OUT OF
15 .\" PERFORMANCE OF THIS SOFTWARE.
16 .\"
17 .Dd August 3, 2009
18 .Dt AHCI 4
19 .Os
20 .Sh NAME
21 .Nm ahci
22 .Nd Advanced Host Controller Interface for Serial ATA
23 .Sh SYNOPSIS
24 To compile this driver into the kernel,
25 place the following line in your
26 kernel configuration file:
27 .Bd -ragged -offset indent
28 .Cd "device ahci"
29 .Ed
30 .Pp
31 Alternatively, to load the driver as a
32 module at boot time, place the following line in
33 .Xr loader.conf 5 :
34 .Bd -literal -offset indent
35 ahci_load="YES"
36 .Ed
37 .Sh DESCRIPTION
38 The
39 .Nm
40 driver provides support for Serial ATA controllers conforming to the
41 Advanced Host Controller Interface specification.
42 .Pp
43 Several AHCI capable controllers also provide a compatibility mode that
44 causes them to appear as a traditional ATA controller supported by
45 .Xr nata 4 .
46 .Pp
47 Although
48 .Nm
49 controllers are actual ATA controllers, the driver emulates SCSI via a
50 translation layer.
51 .Sh LOADER TUNABLES
52 The following hints may be set in
53 .Xr loader.conf 5
54 to control the
55 .Nm
56 driver's behavior.
57 Note that the hint need only exist, so removing it requires commenting it out.
58 .Pp
59 Usually both the
60 .Xr nata 4
61 and the
62 .Nm
63 drivers are loaded.
64 The
65 .Xr nata 4
66 driver will pick up any ata-like devices which the
67 .Nm
68 driver misses.
69 If the
70 .Nm
71 driver is disabled the
72 .Xr nata 4
73 driver will typically pick up the
74 .Nm
75 devices, albeit under the
76 .Pa ad
77 disk name rather than the
78 .Pa da
79 disk name.
80 .Bd -literal -offset indent
81 hint.ahci.disabled=1
82 .Ed
83 .Pp
84 The
85 .Nm
86 driver can be told to force a lower-speed 1.5Gb link speed
87 if necessary, and can also be told to refrain from attempting to send
88 certain higher-level ATA commands to initialize ATA features which
89 some devices might not properly implement.
90 .Bd -literal -offset indent
91 hint.ahci.force150=1
92 hint.ahci.nofeatures=1
93 .Ed
94 .Sh SYSCTL VARIABLES
95 Link power management can be set with the sysctl
96 .Va hw.ahci%d.%d.link_pwr_mgmt
97 to 0 for `disabled', 1 for `medium', and 2 for `aggressive'.
98 Link power state can be read with the sysctl
99 .Va hw.ahci%d.%d.link_pwr_state .
100 .Sh SEE ALSO
101 .Xr intro 4 ,
102 .Xr nata 4 ,
103 .Xr pci 4 ,
104 .Xr scsi 4 ,
105 .Xr sili 4 ,
106 .Xr loader.conf 5
107 .Sh HISTORY
108 The
109 .Nm
110 driver first appeared in
111 .Dx 2.3 .
112 .Sh AUTHORS
113 .An -nosplit
114 The
115 .Nm
116 driver was originally written by
117 .An David Gwynne Aq dlg@openbsd.org
118 and
119 .An Christopher Pascoe Aq pascoe@openbsd.org
120 for
121 .Ox .
122 .Pp
123 It was ported to
124 .Dx
125 by
126 .An Matt Dillon Aq dillon@apollo.backplane.com
127 who added new features such as hot-plug and port multiplier support.