ahci/sili.4 - Document sysctl nodes & loader tunables
[dragonfly.git] / share / man / man4 / ahci.4
CommitLineData
966c0ba2
SW
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.\"
7269aafc 17.Dd August 3, 2009
966c0ba2
SW
18.Dt AHCI 4
19.Os
20.Sh NAME
21.Nm ahci
22.Nd Advanced Host Controller Interface for Serial ATA
23.Sh SYNOPSIS
24To compile this driver into the kernel,
25place the following line in your
26kernel configuration file:
27.Bd -ragged -offset indent
28.Cd "device ahci"
29.Ed
30.Pp
31Alternatively, to load the driver as a
32module at boot time, place the following line in
33.Xr loader.conf 5 :
34.Bd -literal -offset indent
35ahci_load="YES"
36.Ed
37.Sh DESCRIPTION
38The
39.Nm
40driver provides support for Serial ATA controllers conforming to the
41Advanced Host Controller Interface specification.
42.Pp
5a205d6e 43Several AHCI capable controllers also provide a compatibility mode that
966c0ba2
SW
44causes them to appear as a traditional ATA controller supported by
45.Xr nata 4 .
46.Pp
47Although
48.Nm
49controllers are actual ATA controllers, the driver emulates SCSI via a
50translation layer.
7269aafc
SW
51.Sh LOADER TUNABLES
52The following hints may be set in
53.Xr loader.conf 5
54to control the
84bfce7c 55.Nm
7269aafc
SW
56driver's behavior.
57Note that the hint need only exist, so removing it requires commenting it out.
84bfce7c 58.Pp
7269aafc
SW
59Usually both the
60.Xr nata 4
61and the
62.Nm
63drivers are loaded.
64The
65.Xr nata 4
4938ec92
SW
66driver will pick up any ata-like devices which the
67.Nm
68driver misses.
7269aafc
SW
69If the
70.Nm
71driver is disabled the
72.Xr nata 4
73driver will typically pick up the
74.Nm
d856dabc
TN
75devices, albeit under the
76.Pa ad
77disk name rather than the
78.Pa da
79disk name.
80.Bd -literal -offset indent
81hint.ahci.disabled=1
82.Ed
84bfce7c 83.Pp
7269aafc
SW
84The
85.Nm
86driver can be told to force a lower-speed 1.5Gb link speed
84bfce7c
MD
87if necessary, and can also be told to refrain from attempting to send
88certain higher-level ATA commands to initialize ATA features which
89some devices might not properly implement.
84bfce7c 90.Bd -literal -offset indent
3002b850
MD
91hint.ahci.force150=1
92hint.ahci.nofeatures=1
84bfce7c 93.Ed
d856dabc
TN
94.Sh SYSCTL VARIABLES
95Link power management can be set with the sysctl
96.Va hw.ahci%d.%d.link_pwr_mgmt
97to 0 for `disabled', 1 for `medium', and 2 for `aggressive'.
98Link power state can be read with the sysctl
99.Va hw.ahci%d.%d.link_pwr_state .
966c0ba2
SW
100.Sh SEE ALSO
101.Xr intro 4 ,
966c0ba2 102.Xr nata 4 ,
95f9378d 103.Xr pci 4 ,
966c0ba2 104.Xr scsi 4 ,
95f9378d 105.Xr sili 4 ,
966c0ba2
SW
106.Xr loader.conf 5
107.Sh HISTORY
108The
109.Nm
110driver first appeared in
111.Dx 2.3 .
112.Sh AUTHORS
113.An -nosplit
114The
115.Nm
116driver was originally written by
117.An David Gwynne Aq dlg@openbsd.org
118and
119.An Christopher Pascoe Aq pascoe@openbsd.org
120for
121.Ox .
122.Pp
123It was ported to
124.Dx
125by
126.An Matt Dillon Aq dillon@apollo.backplane.com
d856dabc 127who added new features such as hot-plug and port multiplier support.