133 lines
5.4 KiB
Groff
133 lines
5.4 KiB
Groff
.\" $NetBSD: pciide.4,v 1.36 2001/12/16 23:50:14 wiz Exp $
|
|
.\"
|
|
.\" 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.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" 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.
|
|
.\"
|
|
.Dd October 15, 1998
|
|
.Dt PCIIDE 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm pciide
|
|
.Nd PCI IDE disk controllers driver
|
|
.Sh SYNOPSIS
|
|
.Cd "pciide* at pci? dev ? function ? flags 0x0000"
|
|
.Cd "pciide* at pnpbios? index ?"
|
|
.Cd "options PCIIDE_CMD064x_DISABLE"
|
|
.Cd "options PCIIDE_AMD756_ENABLEDMA"
|
|
.Cd "options PCIIDE_CMD0646U_ENABLEUDMA"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
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
|
|
.Ic wd
|
|
and
|
|
.Ic atapi
|
|
drivers. This driver include specific, enhanced support for the CMD Tech
|
|
PCI0640 controller, and IDE DMA/Ultra-DMA support for the following
|
|
controllers:
|
|
.Bl -dash -compact -offset indent
|
|
.It
|
|
Acard ATP850 (Ultra/33) and ATP860 (Ultra/66) IDE Controllers
|
|
.It
|
|
Acer labs M5229 IDE Controller
|
|
.It
|
|
Advanced Micro Devices AMD-756 and 766 IDE Controllers
|
|
.It
|
|
CMD Tech PCI0643, PCI0646, PCI0648 and PCI0649 IDE Controllers
|
|
.It
|
|
Contaq Microsystems/Cypress CY82C693 IDE Controller
|
|
.It
|
|
HighPoint HPT366 Ultra/66 and HPT370 Ultra/100 IDE controller
|
|
.It
|
|
Intel PIIX, PIIX3 and PIIX4 IDE Controllers
|
|
.It
|
|
Intel 82801 (ICH/ICH0/ICH2) IDE Controllers
|
|
.It
|
|
OPTi 82c621 (plus a few of its derivatives) IDE Controllers
|
|
.It
|
|
Promise PDC20246 (Ultra/33), PDC20262 (Ultra/66), PDC20265/PDC20267 (Ultra100),
|
|
PDC20268 (Ultra/100TX2 and Ultra/100TX2v2) and Ultra/133 PCI IDE controllers
|
|
.It
|
|
Silicon Integrated System 5597/5598 IDE controller
|
|
.It
|
|
VIA Technologies VT82C586, VT82C586A, VT82C596A and VT82C686A IDE Controllers
|
|
.El
|
|
Some of these controllers are only available in multifunction PCI chips.
|
|
.Pp
|
|
The 0x0001 flag forces the
|
|
.Nm
|
|
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.
|
|
.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.
|
|
.Sh SEE ALSO
|
|
.Xr intro 4 ,
|
|
.Xr pci 4 ,
|
|
.Xr pnpbios 4 ,
|
|
.Xr scsi 4 ,
|
|
.Xr wd 4 ,
|
|
.Xr wdc 4
|
|
.Sh BUGS
|
|
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
|
|
PCIIDE_CMD064x_DISABLE option is specified in the kernel config file.
|
|
This will be a problem only if the controller has been disabled in the BIOS
|
|
and another controller has been installed and uses the ISA legacy I/O ports
|
|
and interrupts.
|
|
.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 .
|
|
.Pp
|
|
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
|
|
on the buggy revisions. Multiword DMA can eventually be disabled on a
|
|
per-drive basis with config flags, see
|
|
.Xr wd 4 .
|
|
The bug, if triggered, will cause a total system hang.
|
|
.Pp
|
|
The timings used for the PIO and DMA modes for controllers listed above
|
|
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
|
|
work properly on overclocked systems.
|
|
.Pp
|
|
The core wdc doesn't support modes higher than Ultra-DMA 5, so the Promise
|
|
Ultra/133 is only used at Ultra/100.
|