142 lines
5.4 KiB
Groff
142 lines
5.4 KiB
Groff
.\" $NetBSD: pciide.4,v 1.46 2002/11/25 22:50:49 bouyer 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 7, 2002
|
|
.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, 766, and 768 IDE Controllers
|
|
.It
|
|
CMD Tech PCI0643, PCI0646, PCI0648, and PCI0649 IDE Controllers
|
|
.It
|
|
Contaq Microsystems/Cypress CY82C693 IDE Controller
|
|
.It
|
|
HighPoint HPT366 Ultra/66, HPT370 Ultra/100, HPT372, and HPT374 Ultra/133
|
|
IDE controller
|
|
.It
|
|
Intel PIIX, PIIX3, and PIIX4 IDE Controllers
|
|
.It
|
|
Intel 82801 (ICH/ICH0/ICH2/ICH4) 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), Ultra/133, Ultra/133TX2 and
|
|
Ultra/133TX2v2 PCI IDE controllers
|
|
.It
|
|
Silicon Image 0680 IDE controller
|
|
.It
|
|
Silicon Integrated System 5597/5598 IDE controller
|
|
.It
|
|
VIA Technologies VT82C586, VT82C586A, VT82C596A, VT82C686A, VT8233A,
|
|
and VT8235 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.
|