669 Commits

Author SHA1 Message Date
imp
ec215fe3e9 Add FREECOM PCCARD-IDE to the mix. It doesn't have a manufacturer or
product ID, so we have to use the CIS strings to ID it.

dmesg by: Christian Laursen
2003-06-17 12:33:53 +00:00
njl
ea1ca84312 Merge common XPT_CALC_GEOMETRY functions into a single convenience function.
Devices below may experience a change in geometry.

* Due to a bug, aic(4) never used extended geometry.  Changes all drives
  >1G to now use extended translation.
* sbp(4) drives exactly 1 GB in size now no longer use extended geometry.
* umass(4) drives exactly 1 GB in size now no longer use extended geometry.

For all other controllers in this commit, this should be a no-op.

Looked over by:	scottl
2003-06-14 22:17:41 +00:00
sos
2bd32bb6f3 Fix the setup of old Promise controllers, clocks was not setup right
causing way too low transfer rates.

Enable interrupts on old CMD64[89] chips, apparently some bogus BIOS's
doesn't get this right.
2003-06-07 15:19:16 +00:00
imp
c3d6e4dcef Add support for generic PMCICA ATA CARD 2003-06-03 01:30:55 +00:00
sos
4f3a6ab5ad Print the right position on disk errors
Approved by: re@
2003-05-19 13:43:12 +00:00
sos
17d362a0bf Unbork the chip locating code.
Approved by: re@
2003-05-19 13:42:23 +00:00
sos
3602c284c1 Support the ICH5 SATA part.
Fix HPT374 UDMA133 timing.
Fix Promise ID.
Cosmetics on probe print for Promise & HPT.

Approved by: re
2003-05-18 16:45:48 +00:00
sos
a24b07885a Add string for SATA150
Approved by: re
2003-05-18 16:43:08 +00:00
thomas
5608416700 In atapi_cam_reinit_bus, only call reinit_bus if the ATAPI channel
has already been registered with ATAPI/CAM (else there is nothing
to do). atapi_cam_reinit_bus may be called before the bus is
registered if an ATAPI command times out during the boot sequence.

PR:		i386/51421
Reviewed by:	roberto
Approved by:	re (rwatson)
MFC after:	1 week
2003-05-14 14:20:22 +00:00
sos
9096783972 Fix typo (that even got cut/pasted 2 times)
Found by:	phk
Approved by:	re@
2003-05-12 16:43:13 +00:00
phk
ae479db7f7 Fix an off-by-1 error.
Found by:	FlexeLint
Reviewed by:	sos
Approved by:	re/rwatson
2003-05-12 15:26:05 +00:00
sos
f4683501f3 Add a couble new Intel PCI id's
Approved by: re@
2003-05-10 14:49:19 +00:00
jhb
503dbfc11c Acquire Giant at the start of the raid rebuild kthreads.
Reported by:	Masachika ISHIZUKA <ishizuka@ish.org>
Reviewed by:	sos
Approved by:	re (bmah)
2003-05-08 16:38:14 +00:00
jhb
cbf2af31a0 Add PCI ID's for the Intel ICH5 (82801EB) chipset.
Approved by:	re (murray)
Sponsored by:	The Weather Channel
2003-05-06 19:31:56 +00:00
sos
068969a74d Add a missing ~ when clearing flags in close.
PR: 35392
2003-05-05 10:11:17 +00:00
sos
e39ff77330 Change the way loadbalancing works on RAID1's.
Based on code partially by me and by <Tor.Egge@cvsup.no.freebsd.org>.
2003-05-04 16:17:54 +00:00
sos
0d0a999ff9 Implement dump function for ATA RAID's. Minor fixes by me...
Submitted by: Tor Egge <Tor.Egge@cvsup.no.freebsd.org>
2003-05-04 12:16:47 +00:00
sos
874ca20952 Grap the ATA lock on all channels before suspend, this makes certain
that we have no outstanding ops in transit, which would cause problems
on resume.
2003-05-04 09:34:14 +00:00
sos
7113858cc7 Fix locking on reinit. 2003-05-03 18:28:43 +00:00
sos
43f1ae07c3 Add the pdc20268r as candidate for the TX test. 2003-05-03 18:26:00 +00:00
sos
f1adb32797 Add flushing of devices on shutdown.
Note: this might print failure messages on some systems, unfortunatly
the info from the device, stating if flushing is supported, cannot be trusted
so the operation is always issued on all devices, just in case...
2003-05-02 13:47:44 +00:00
sos
66a49a9d90 Add ioctl to add a spare disk to a RAID array.
Fix the discovery of RAID's to not grap unused disks.
Change the probe printing of a RAID a bit.
2003-05-02 12:41:44 +00:00
sos
485a0c5f9a Dont try to call detached interrupt routine. 2003-05-02 12:37:03 +00:00
sos
9f4de55ff2 I'm pleased to announce that Promise is now supporting the FreeBSD
project by providing documentation (under NDA) and hardware for
testing. This commit is the first result of the cooperation, and
adds support for several of their new controllers that we didn't
support before (and probably newer would have without this arrangement).

Add support for the Promise SATA150 TX2/TX4 and the Promise TX4000
controllers. This also adds support for various motherboard fitted
Promise SATA/ATA chips.
Note that this code uses memory mapped registers to minimize overhead.
I belive FreeBSD has made another first in the Open Source world
by being able to release support for this :)
2003-05-01 06:20:50 +00:00
sos
4cf0da39d0 Relax the test for when to use LBA instead of CHS size. 2003-05-01 06:17:30 +00:00
imp
bc99b2572b MF-p4:
"Ian gave me this patch"  I assume this is iadowse@.

Also, pull in a few devices NetBSD's table.  More are there, but I need
to properly move them to pccarddev before including them here.
2003-04-26 22:19:02 +00:00
sos
a733e8a7dd Cosmetics. 2003-04-16 08:30:40 +00:00
sos
212b001639 Fix a panic with Cenatek controllers. 2003-04-16 08:30:10 +00:00
sos
2c9f271ac5 Spell 55 with two '5's 2003-04-10 12:56:33 +00:00
sos
e0d4866a03 Add a few more older SiS ID's. 2003-04-10 12:24:39 +00:00
sos
42a1508521 Fix breakage on sparc64.
Note to self: always test even the smallest changes on all platforms.
2003-04-08 18:01:30 +00:00
sos
8568dcf658 Fix a long standing bug in handling the last part of a stripe
on "odd" size disks.

Add printout of the RAID structure on verbose boot.
2003-04-08 07:48:52 +00:00
sos
a014051b02 Minor cleanup of the ATA RAID code. 2003-04-07 14:14:29 +00:00
sos
d6ec3d03e8 Third round of updates to the ATA driver.
More DMA cleanups, including fix for breakage on older Promise controllers.

Add more ways of getting to the ATA registers.
2003-04-07 14:12:12 +00:00
phk
97afb95c01 Don't use dkmakeminor(), create our own minor encoding instead. 2003-04-03 08:50:35 +00:00
phk
c235e25328 Use bioq_flush() to drain a bio queue with a specific error code.
Retain the mistake of not updating the devstat API for now.

Spell bioq_disksort() consistently with the remaining bioq_*().

#include <geom/geom_disk.h> where this is more appropriate.
2003-04-01 15:06:26 +00:00
sos
76f4d8a27e Fix ATA_DEBUG case breakage. 2003-03-30 09:27:59 +00:00
sos
1aa8f29ccf Second round of updates to the ATA driver.
Clean up the DMA interface too much unneeded stuff crept in with
the busdma code back when.

Modify the ATA_IN* / ATA_OUT* macros so that resource and offset
are gotten from a table. That allows for new chipsets that doesn't
nessesarily have things ordered the good old way. This also removes
the need for the wierd PC98 resource functions.

Tested on: i386, PC98, Alpha, Sparc64
2003-03-29 13:37:09 +00:00
sos
4bc38c790b Biofinish the request if we cannot malloc in ad_start. 2003-03-27 10:48:21 +00:00
mux
41824db1c6 - Add a new ioctl to get the maximum number of ATA channels.
- Use it in atacontrol(8) when listing ATA devices instead of
  stopping at the first ENXIO received.

This makes atacontrol list work on my sparc64 where the two ATA
channels I have are numbered 2 and 3.

Reviewed by:	sos
2003-03-22 12:18:20 +00:00
phk
e059b79437 Including <sys/stdint.h> is (almost?) universally only to be able to use
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.
2003-03-18 08:45:25 +00:00
sos
054c393292 Fix the cable detection and properly find the host bridge on
older SiS chips.
2003-03-16 16:26:51 +00:00
phk
c187fd5ee8 Call devstat_start_transaction_bio() instead of devstat_start_transaction(). 2003-03-15 10:56:19 +00:00
phk
d41f2cb2dc Call devstat_start_transaction_bio() instead of devstat_start_transaction() 2003-03-15 10:50:44 +00:00
sos
64228bbbc7 Remove the check for more than one open if one is a write op.
This allows using DVD+RW and DVD-RW as random storage, provided
the 32K blocksize is honoured for DVD-RW (DVD+RW has built in
read-modify-write).
2003-03-13 09:12:17 +00:00
sos
7a1ba579b8 Dont free the stats struct, this has been changed by the new stat code.
Spotted by: Ian Dowse <iedowse@maths.tcd.ie>
2003-03-13 09:09:10 +00:00
sos
fb354e7306 Dont call dma->free unless dma is there.
Spotted by: Ian Dowse <iedowse@maths.tcd.ie>
2003-03-13 09:04:55 +00:00
sos
00b21712df Correct the last commit, only look for subfunctions on the same PCI slot. 2003-03-12 15:45:52 +00:00
sos
0580d0b0d9 Cleanup the probe code a bit. 2003-03-12 12:05:17 +00:00
sos
b8198d98a4 Dont hang the channel on enclosures without sensors. 2003-03-12 10:59:35 +00:00