1.\" $NetBSD: geodeide.4,v 1.4 2005/07/06 06:36:10 fair Exp $ 2.\" 3.\" Copyright (c) 2004 Manuel Bouyer. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 3. All advertising materials mentioning features or use of this software 14.\" must display the following acknowledgement: 15.\" This product includes software developed by Manuel Bouyer. 16.\" 4. The name of the author may not be used to endorse or promote products 17.\" derived from this software without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 20.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 23.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 24.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27.\" INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd July 5, 2005 31.Dt GEODEIDE 4 32.Os 33.Sh NAME 34.Nm geodeide 35.Nd AMD Geode IDE disk controllers driver 36.Sh SYNOPSIS 37.Cd "geodeide* at pci? dev ? function ? flags 0x0000" 38.Sh DESCRIPTION 39The 40.Nm 41driver supports the 42.Tn AMD 43Geode CS5530A and SC1100 44.Tn IDE 45controllers, 46and provides the interface with the hardware for the 47.Xr ata 4 48driver. 49.Pp 50The 0x0002 flag forces the 51.Nm 52driver to disable 53.Tn DMA 54on chipsets for which 55.Tn DMA 56would normally be enabled. 57This can be used as a debugging aid, or to work around 58problems where the 59.Tn IDE 60controller is wired up to the system incorrectly. 61.Sh SEE ALSO 62.Xr ata 4 , 63.Xr atapi 4 , 64.Xr intro 4 , 65.Xr pci 4 , 66.Xr pciide 4 , 67.Xr wd 4 , 68.Xr wdc 4 69.Sh BUGS 70The SC1100 controller requires 4-byte aligned data transfers and 71cannot handle transfers of exactly 64 kilobytes. 72.Pp 73The CS5530 multifunction chip/core's 74.Tn IDE 75section claims to be capable of 76.Tn UDMA 77mode 2 78.Pq 33.3MB/s 79but in practice using that mode swamps the controller so badly that 80.Nm 81limits the 82.Tn UDMA 83negotiation to mode 1 84.Pq 25MB/s 85so that the other functions of this chip continue to work. 86.Pp 87The 88.Tn IDE DMA 89engine in the CS5530 can only do transfers on cache-line 90.Pq 16-byte 91boundaries. 92Attempts to perform 93.Tn DMA 94on any other alignment will crash the system. 95This problem may also exist in the SC1100 since the CS5530 was its 96direct predecessor, and it is not clear that National Semiconductor 97fixed any bugs in it. 98.Pp 99The 100.Nm 101driver will reject attempts to 102.Tn DMA 103to buffers not aligned to the required boundary. 104The 105.Xr wd 4 106disk driver will back off to 107.Tn PIO 108mode to accomplish these transfer requests, at reduced system performance. 109