ahci/sili.4 - Document sysctl nodes & loader tunables
[dragonfly.git] / share / man / man4 / ahci.4
... / ...
CommitLineData
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
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
43Several AHCI capable controllers also provide a compatibility mode that
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.
51.Sh LOADER TUNABLES
52The following hints may be set in
53.Xr loader.conf 5
54to control the
55.Nm
56driver's behavior.
57Note that the hint need only exist, so removing it requires commenting it out.
58.Pp
59Usually both the
60.Xr nata 4
61and the
62.Nm
63drivers are loaded.
64The
65.Xr nata 4
66driver will pick up any ata-like devices which the
67.Nm
68driver misses.
69If the
70.Nm
71driver is disabled the
72.Xr nata 4
73driver will typically pick up the
74.Nm
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
83.Pp
84The
85.Nm
86driver can be told to force a lower-speed 1.5Gb link speed
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.
90.Bd -literal -offset indent
91hint.ahci.force150=1
92hint.ahci.nofeatures=1
93.Ed
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 .
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
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
127who added new features such as hot-plug and port multiplier support.