2001-12-17 02:50:14 +03:00
|
|
|
.\" $NetBSD: pciide.4,v 1.36 2001/12/16 23:50:14 wiz Exp $
|
1998-10-19 16:44:15 +04:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 1998 Manuel Bouyer.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
|
|
.\" must display the following acknowledgement:
|
|
|
|
.\" This product includes software developed by the University of
|
|
|
|
.\" California, Berkeley and its contributors.
|
|
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
|
|
.\" may be used to endorse or promote products derived from this software
|
|
|
|
.\" without specific prior written permission.
|
|
|
|
.\"
|
2000-05-15 10:33:21 +04:00
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
2001-06-12 15:26:21 +04:00
|
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
2000-05-15 10:33:21 +04:00
|
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
.\" INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1998-10-19 16:44:15 +04:00
|
|
|
.\"
|
|
|
|
.Dd October 15, 1998
|
2000-05-13 19:27:17 +04:00
|
|
|
.Dt PCIIDE 4
|
1999-03-16 04:19:14 +03:00
|
|
|
.Os
|
1998-10-19 16:44:15 +04:00
|
|
|
.Sh NAME
|
2000-11-07 09:43:24 +03:00
|
|
|
.Nm pciide
|
1999-12-16 01:07:30 +03:00
|
|
|
.Nd PCI IDE disk controllers driver
|
1998-10-19 16:44:15 +04:00
|
|
|
.Sh SYNOPSIS
|
1999-11-14 20:02:20 +03:00
|
|
|
.Cd "pciide* at pci? dev ? function ? flags 0x0000"
|
|
|
|
.Cd "pciide* at pnpbios? index ?"
|
1998-10-19 16:44:15 +04:00
|
|
|
.Cd "options PCIIDE_CMD064x_DISABLE"
|
2000-07-06 19:21:33 +04:00
|
|
|
.Cd "options PCIIDE_AMD756_ENABLEDMA"
|
2000-08-03 01:49:41 +04:00
|
|
|
.Cd "options PCIIDE_CMD0646U_ENABLEUDMA"
|
1998-10-19 16:44:15 +04:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
2000-11-07 09:43:24 +03:00
|
|
|
.Nm
|
1998-10-19 16:44:15 +04:00
|
|
|
driver supports the PCI IDE controllers as specified in the
|
|
|
|
"PCI IDE controller specification, revision 1.0" draft, and provides the core
|
|
|
|
functions for the
|
2000-11-07 09:43:24 +03:00
|
|
|
.Ic wd
|
1998-10-19 16:44:15 +04:00
|
|
|
and
|
2000-11-07 09:43:24 +03:00
|
|
|
.Ic atapi
|
1998-10-19 16:44:15 +04:00
|
|
|
drivers. This driver include specific, enhanced support for the CMD Tech
|
1999-02-02 19:56:54 +03:00
|
|
|
PCI0640 controller, and IDE DMA/Ultra-DMA support for the following
|
|
|
|
controllers:
|
|
|
|
.Bl -dash -compact -offset indent
|
|
|
|
.It
|
2001-07-28 16:18:19 +04:00
|
|
|
Acard ATP850 (Ultra/33) and ATP860 (Ultra/66) IDE Controllers
|
|
|
|
.It
|
1999-02-02 19:56:54 +03:00
|
|
|
Acer labs M5229 IDE Controller
|
|
|
|
.It
|
2001-05-11 14:05:36 +04:00
|
|
|
Advanced Micro Devices AMD-756 and 766 IDE Controllers
|
2000-03-19 13:07:37 +03:00
|
|
|
.It
|
2000-06-26 14:12:14 +04:00
|
|
|
CMD Tech PCI0643, PCI0646, PCI0648 and PCI0649 IDE Controllers
|
1999-02-02 19:56:54 +03:00
|
|
|
.It
|
|
|
|
Contaq Microsystems/Cypress CY82C693 IDE Controller
|
|
|
|
.It
|
2001-01-09 14:38:27 +03:00
|
|
|
HighPoint HPT366 Ultra/66 and HPT370 Ultra/100 IDE controller
|
2000-06-13 01:27:12 +04:00
|
|
|
.It
|
1999-02-02 19:56:54 +03:00
|
|
|
Intel PIIX, PIIX3 and PIIX4 IDE Controllers
|
|
|
|
.It
|
2001-01-09 14:38:27 +03:00
|
|
|
Intel 82801 (ICH/ICH0/ICH2) IDE Controllers
|
1999-08-30 17:12:50 +04:00
|
|
|
.It
|
2000-06-13 13:43:07 +04:00
|
|
|
OPTi 82c621 (plus a few of its derivatives) IDE Controllers
|
|
|
|
.It
|
2001-12-17 02:40:23 +03:00
|
|
|
Promise PDC20246 (Ultra/33), PDC20262 (Ultra/66), PDC20265/PDC20267 (Ultra100),
|
|
|
|
PDC20268 (Ultra/100TX2 and Ultra/100TX2v2) and Ultra/133 PCI IDE controllers
|
1999-08-29 22:14:26 +04:00
|
|
|
.It
|
1999-02-02 19:56:54 +03:00
|
|
|
Silicon Integrated System 5597/5598 IDE controller
|
|
|
|
.It
|
2001-05-11 13:56:24 +04:00
|
|
|
VIA Technologies VT82C586, VT82C586A, VT82C596A and VT82C686A IDE Controllers
|
2001-06-12 15:26:21 +04:00
|
|
|
.El
|
1999-10-17 00:17:29 +04:00
|
|
|
Some of these controllers are only available in multifunction PCI chips.
|
1998-10-22 19:15:16 +04:00
|
|
|
.Pp
|
1999-10-17 00:17:29 +04:00
|
|
|
The 0x0001 flag forces the
|
2000-11-07 09:43:24 +03:00
|
|
|
.Nm
|
1998-10-22 19:15:16 +04:00
|
|
|
driver to use DMA when there is no explicit DMA mode setting support for
|
|
|
|
the controller but DMA is present. If the BIOS didn't set up the controller
|
|
|
|
properly, this can cause a machine hang.
|
2001-10-21 22:57:39 +04:00
|
|
|
.Pp
|
|
|
|
The 0x0002 flag forces the
|
|
|
|
.Nm
|
|
|
|
driver to disable DMA on chipsets for which DMA would normally be
|
|
|
|
enabled. This can be used as a debugging aid, or to work around
|
|
|
|
problems where the IDE controller is wired up to the system incorrectly.
|
2001-09-22 19:58:13 +04:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr intro 4 ,
|
|
|
|
.Xr pci 4 ,
|
|
|
|
.Xr pnpbios 4 ,
|
|
|
|
.Xr scsi 4 ,
|
|
|
|
.Xr wd 4 ,
|
|
|
|
.Xr wdc 4
|
1998-10-19 16:44:15 +04:00
|
|
|
.Sh BUGS
|
1998-11-10 17:16:09 +03:00
|
|
|
There's no way to reliably know if a PCI064x controller is enabled or not.
|
|
|
|
If the driver finds a PCI064x, it will assume it is enabled unless the
|
2000-07-06 19:21:33 +04:00
|
|
|
PCIIDE_CMD064x_DISABLE option is specified in the kernel config file.
|
1998-10-19 16:44:15 +04:00
|
|
|
This will be a problem only if the controller has been disabled in the BIOS
|
1999-01-02 04:54:58 +03:00
|
|
|
and another controller has been installed and uses the ISA legacy I/O ports
|
1998-10-19 16:44:15 +04:00
|
|
|
and interrupts.
|
2000-08-03 01:49:41 +04:00
|
|
|
.Pp
|
|
|
|
The PCI0646U controller is known to be buggy with Ultra-DMA transfers, so
|
|
|
|
Ultra-DMA is disabled by default for this controller. To enable Ultra-DMA,
|
|
|
|
use the PCIIDE_CMD0646U_ENABLEUDMA option. Ultra-DMA can eventually be
|
|
|
|
disabled on a per-drive basis with config flags, see
|
|
|
|
.Xr wd 4 .
|
1998-10-19 16:44:15 +04:00
|
|
|
.Pp
|
2000-07-06 19:21:33 +04:00
|
|
|
The AMD756 chip revision D2 has a bug affecting DMA (but not Ultra-DMA)
|
|
|
|
modes. The workaround documented by AMD is to not use DMA on any drive which
|
|
|
|
does not support Ultra-DMA modes. This does not appear to be necessary on all
|
|
|
|
drives, the PCIIDE_AMD756_ENABLEDMA option can be used to force multiword DMA
|
2000-08-03 01:49:41 +04:00
|
|
|
on the buggy revisions. Multiword DMA can eventually be disabled on a
|
|
|
|
per-drive basis with config flags, see
|
2000-07-06 19:21:33 +04:00
|
|
|
.Xr wd 4 .
|
|
|
|
The bug, if triggered, will cause a total system hang.
|
|
|
|
.Pp
|
1999-02-02 19:56:54 +03:00
|
|
|
The timings used for the PIO and DMA modes for controllers listed above
|
2001-06-12 15:26:21 +04:00
|
|
|
are for a PCI bus running at 30 or 33 MHz (except the OPTi controller,
|
|
|
|
which supports both 25 and 33 MHz PCI bus timings). This driver may not
|
1998-11-10 17:16:09 +03:00
|
|
|
work properly on overclocked systems.
|
2001-12-17 02:40:23 +03:00
|
|
|
.Pp
|
2001-12-17 02:50:14 +03:00
|
|
|
The core wdc doesn't support modes higher than Ultra-DMA 5, so the Promise
|
2001-12-17 02:40:23 +03:00
|
|
|
Ultra/133 is only used at Ultra/100.
|