Søren Schmidt
c283397793
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
Warner Losh
49d5015da8
Add support for generic PMCICA ATA CARD
2003-06-03 01:30:55 +00:00
Søren Schmidt
e1750fb855
Print the right position on disk errors
...
Approved by: re@
2003-05-19 13:43:12 +00:00
Søren Schmidt
c9f5649b3e
Unbork the chip locating code.
...
Approved by: re@
2003-05-19 13:42:23 +00:00
Søren Schmidt
05688ceccc
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
Søren Schmidt
27409aa046
Add string for SATA150
...
Approved by: re
2003-05-18 16:43:08 +00:00
Thomas Quinot
b3c957133a
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
Søren Schmidt
69d691371a
Fix typo (that even got cut/pasted 2 times)
...
Found by: phk
Approved by: re@
2003-05-12 16:43:13 +00:00
Poul-Henning Kamp
df1970aa55
Fix an off-by-1 error.
...
Found by: FlexeLint
Reviewed by: sos
Approved by: re/rwatson
2003-05-12 15:26:05 +00:00
Søren Schmidt
60ad94dea4
Add a couble new Intel PCI id's
...
Approved by: re@
2003-05-10 14:49:19 +00:00
John Baldwin
258dbbab69
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
John Baldwin
6e52134c70
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
Søren Schmidt
b4074fb04d
Add a missing ~ when clearing flags in close.
...
PR: 35392
2003-05-05 10:11:17 +00:00
Søren Schmidt
64ff745cf5
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
Søren Schmidt
cf764e45ae
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
Søren Schmidt
9c51ecf436
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
Søren Schmidt
7af89aab59
Fix locking on reinit.
2003-05-03 18:28:43 +00:00
Søren Schmidt
a23507bcff
Add the pdc20268r as candidate for the TX test.
2003-05-03 18:26:00 +00:00
Søren Schmidt
93f307bbea
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
Søren Schmidt
31de970e72
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
Søren Schmidt
5909dab38c
Dont try to call detached interrupt routine.
2003-05-02 12:37:03 +00:00
Søren Schmidt
84351184a9
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
Søren Schmidt
3a6fb16ff1
Relax the test for when to use LBA instead of CHS size.
2003-05-01 06:17:30 +00:00
Warner Losh
03988eea4d
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
Søren Schmidt
29273dcd58
Cosmetics.
2003-04-16 08:30:40 +00:00
Søren Schmidt
db16c8c28b
Fix a panic with Cenatek controllers.
2003-04-16 08:30:10 +00:00
Søren Schmidt
4379543ce8
Spell 55 with two '5's
2003-04-10 12:56:33 +00:00
Søren Schmidt
041187d122
Add a few more older SiS ID's.
2003-04-10 12:24:39 +00:00
Søren Schmidt
71ec78e340
Fix breakage on sparc64.
...
Note to self: always test even the smallest changes on all platforms.
2003-04-08 18:01:30 +00:00
Søren Schmidt
08312d8f48
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
Søren Schmidt
b5855cd133
Minor cleanup of the ATA RAID code.
2003-04-07 14:14:29 +00:00
Søren Schmidt
1b39bd2412
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
Poul-Henning Kamp
3ad3653c7a
Don't use dkmakeminor(), create our own minor encoding instead.
2003-04-03 08:50:35 +00:00
Poul-Henning Kamp
891619a66d
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
Søren Schmidt
0c4b980607
Fix ATA_DEBUG case breakage.
2003-03-30 09:27:59 +00:00
Søren Schmidt
566cf07a7c
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
Søren Schmidt
c7f547fde8
Biofinish the request if we cannot malloc in ad_start.
2003-03-27 10:48:21 +00:00
Maxime Henrion
0a50de79cb
- 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
Poul-Henning Kamp
b4b138c27f
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
Søren Schmidt
92737d1739
Fix the cable detection and properly find the host bridge on
...
older SiS chips.
2003-03-16 16:26:51 +00:00
Poul-Henning Kamp
09a6b2aad6
Call devstat_start_transaction_bio() instead of devstat_start_transaction().
2003-03-15 10:56:19 +00:00
Poul-Henning Kamp
1ecc485c1b
Call devstat_start_transaction_bio() instead of devstat_start_transaction()
2003-03-15 10:50:44 +00:00
Søren Schmidt
f711eff1d2
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
Søren Schmidt
6918962fad
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
Søren Schmidt
394046e66f
Dont call dma->free unless dma is there.
...
Spotted by: Ian Dowse <iedowse@maths.tcd.ie>
2003-03-13 09:04:55 +00:00
Søren Schmidt
deff57d72c
Correct the last commit, only look for subfunctions on the same PCI slot.
2003-03-12 15:45:52 +00:00
Søren Schmidt
5b24125046
Cleanup the probe code a bit.
2003-03-12 12:05:17 +00:00
Søren Schmidt
9eb8572ea2
Dont hang the channel on enclosures without sensors.
2003-03-12 10:59:35 +00:00
Søren Schmidt
cad57b089a
Remove the enclose_print() call, it is already called from ata-disk.c
2003-03-10 08:20:57 +00:00
Søren Schmidt
7b4cb338ac
Dont use r_bmio on Cyrix chips if not set from BIOS.
2003-03-10 08:20:14 +00:00