Søren Schmidt
392cb477c3
Unbreak nForce3 SATA support.
2006-08-05 11:41:46 +00:00
Søren Schmidt
30ea1fb138
Finally fix support for the newer MCP51/MCP55 nVidia chipsets.
...
The register layout has changed since the original NV4 - sigh.
Hotplug support has been fixed for all nVidia chipsets that supports it
(including the MCP51/55).
HW donated by: Kingsley College
2006-07-24 10:44:50 +00:00
Warner Losh
8fcb4ef1cf
If we get an error w/o atapi sense information, just print a newline
...
to terminate the message we started. I get non-terminated messages
when reading audio tracks w/o this patch.
2006-07-21 19:13:05 +00:00
Søren Schmidt
891abbfa12
Add preliminary support for the Serverworks HT1000 chip.
...
HW sponsored by: Yahoo!
2006-07-04 20:36:03 +00:00
Søren Schmidt
055ec4dbbc
Dont call free on non-alloc'd items.
2006-06-28 15:04:10 +00:00
Søren Schmidt
ca40bd0b02
Update AHCI support to be more generic.
...
Add support for AHCI on the VIA VT8251.
2006-06-28 09:59:09 +00:00
Søren Schmidt
1ebe29d0de
Fix type casts so that we get at the right response queue.
...
Submitted by: glebius+ru
2006-06-19 11:47:57 +00:00
John Baldwin
73dbd3da73
Remove various bits of conditional Alpha code and fixup a few comments.
2006-05-12 05:04:46 +00:00
Søren Schmidt
110ce88054
Fix probe printing of highpoint and promise controllers.
2006-05-11 10:43:08 +00:00
Søren Schmidt
305a0b7123
Add missing ";"
...
found by: jmg
2006-04-17 10:47:01 +00:00
Maxim Konovalov
a09367f089
o s/PsuedoRAID/PseudoRAID/.
...
PR: kern/94306
Submitted by: Esa Karkkainen
2006-04-15 10:27:41 +00:00
Søren Schmidt
3559734cee
Dont poll for ATA_IDLE on a detached channel in suspend.
2006-04-14 16:25:42 +00:00
Søren Schmidt
cd8a592bb3
Make the ATAPI sense data accessible when using the ioctl interface
...
MFC candidate.
2006-03-31 08:09:05 +00:00
Marcel Moolenaar
0f0d108e27
In afd_describe(), don't initialize sizestring. On ia64, gcc(1) will
...
generate code that calls memset, which we don't have in the kernel.
MFC after: 3 days
2006-03-30 05:29:57 +00:00
Søren Schmidt
6f1b833f36
Properly use the sense key info
2006-03-18 13:14:38 +00:00
Søren Schmidt
0118b48b7e
Add support for the JMicron JMB361, 365 and 366 chips.
...
HW and documentation kindly provided by JMicron.
2006-03-13 14:01:37 +00:00
Søren Schmidt
124902face
Put autosense data in the right place (needs a 4pos left shift).
2006-03-13 14:00:08 +00:00
Søren Schmidt
56728c9249
Module that adds support for using USB storage devices through the
...
ATA framework. Mainly written to be able to use USB Flash keys.
This is work in progress so use with care :)
Doesn't need CAM and cannot coexist with umass.c
2006-03-10 19:08:52 +00:00
Søren Schmidt
d95f23aab8
write the right unit # on verbose output.
2006-03-10 12:20:53 +00:00
Søren Schmidt
c4ee770324
Only use the channel in the request given to ata_completed if its
...
still present.
2006-03-09 10:25:35 +00:00
Søren Schmidt
a0f9099364
typo.
2006-03-09 10:24:03 +00:00
Søren Schmidt
2d7994d97e
Get rid of all the "long long"/"maxint" casting around in printf's.
...
On all our platforms intmax == int64_t so simply using %j to print
int64_t's is safe all over, and doesn't pullute the code.
2006-03-09 08:34:44 +00:00
Søren Schmidt
59de60dd73
ATA_USB will need to hook into the delayed boot identify to have
...
interrupts running, so externalize it.
2006-03-08 16:39:01 +00:00
Søren Schmidt
d0bf5478e0
Always read the TOC in acd_read_toc even if MEDIA_CHANGED wasn't set.
...
Since we cannot (reliably) detect when media has been removed before we
try to touch it, this could leave stale TOC's around.
2006-03-08 10:14:39 +00:00
Søren Schmidt
de0ed44e2f
Bail out of afd_sense if ENODEV.
2006-03-08 09:21:48 +00:00
Søren Schmidt
f09934b191
Poll device for readiness before trying to get geometry etc.
2006-03-07 16:05:38 +00:00
Søren Schmidt
a68193c985
Only look for ICRC and CORR errors on ATA devices not ATAPI.
2006-03-07 14:27:54 +00:00
Max Laier
3e3a2a7ddc
Fix the build. %ju prints uintmax_t not unsigned long long (which is
...
actually "longer" than uintmax_t for the understanding of printf).
2006-03-06 16:02:06 +00:00
Søren Schmidt
62fba1c397
Add USB modes.
2006-03-05 21:32:38 +00:00
Søren Schmidt
b83fcd52ba
Update atapi-fd to support direct devices such as disks.
2006-03-05 20:30:54 +00:00
Søren Schmidt
0b03bcd2f9
Work around the deadlock that occours when ATA waits for the taskqueue
...
to call back for completition and something else is holding the taskqueue
waiting for ATA to return data.
This should clear up the "semaphore timeout !! DANGER Will Robinson !!"
in most situations, and log "taskqueue timeout - completing request directly"
instead, with a delayed "WARNING - freeing taskqueue zombie request" when
the taskqueue finally calls us back with the now stale request.
(It would have been nice if there was a way to remove a scheduled item from
a taskqueue, but that is not currently implemented in the kernel).
A real fix for this is in the works but wont make it to 6.1RELEASE
definite MFC candidate.
2006-03-01 07:48:41 +00:00
Søren Schmidt
a62b100d96
Fix ata_reinit so it does things in the right order to prevent panic's.
...
Lock the channel so master/slave setups wont trash during reinit.
2006-02-25 17:27:33 +00:00
Søren Schmidt
28baad63bd
Keep the parent device (in this case the channel) around in ata_request,
...
so we dont panic device removal or failure.
Clean up ata_fail_requests to prevent the queue munging to fail.
2006-02-23 20:15:22 +00:00
Søren Schmidt
c94b3e542e
In ata_cmd_allocate() only call ata_pci_allocate once.
...
found by: jhb@
2006-02-23 18:52:15 +00:00
Søren Schmidt
608e65bb2a
Add r/w support for JMicron ATA RAID metadata.
...
Acknowledgement should definitly go to JMicron Technology for providing full
docs on the metadata format as the only vendor so far, big thanks from here.
2006-02-17 13:02:10 +00:00
Søren Schmidt
e3989d3ebf
Add support for the JMicron JMB363 dual SATA + single PATA controller.
...
Documentation and HW kindly provided by JMicron.
2006-02-16 17:09:24 +00:00
Søren Schmidt
2ca38c74df
Add a reset of the AHCI machinery to the ICH6/ICH7 support.
...
This should fix the missed devices on some systems.
2006-02-13 13:47:58 +00:00
Søren Schmidt
466be09c2a
Unbreak Promise SATAII/150 controllers caused by the DMA dump changes.
2006-02-09 20:54:42 +00:00
Søren Schmidt
0a3a1935b3
Unbreak dump on legacy systems. Needs a more clean solution but that is
...
more intrusive and can wait 'til after 6.1
2006-02-09 20:53:32 +00:00
Søren Schmidt
52c7e322b2
Unbreak DMA dumo on Intel 31224.
2006-02-06 19:17:48 +00:00
Søren Schmidt
797c12eed9
Add support for the JMicron JMB360 SATAII controller.
...
Thanks to JMicron for providing needed info.
HW donated by: Ralf Folkerts
2006-01-25 23:07:42 +00:00
Søren Schmidt
634c377652
Do not test for DMA status on legacy ATA devices. This has the unfortunate
...
side effect that legacy ATA controllers at irq14 and irq15 cannot share
interrupts with anything else without major problems.
This fixes the ATAPI DMA problems some systems/devices have seen.
2006-01-24 12:34:56 +00:00
Søren Schmidt
669367a9a1
Fix panic on boot due to not all SATA chipsets having SSTATUS registeri
...
resources set.
2006-01-21 17:38:10 +00:00
Søren Schmidt
b258da4ee8
Correct two promise entries, these are only 2port SATA.
2006-01-18 13:34:28 +00:00
Søren Schmidt
8453acf105
Whitespace cleanup.
2006-01-18 13:10:17 +00:00
Søren Schmidt
ac1731fb20
Properly report SATA connection speed.
2006-01-18 10:02:23 +00:00
Søren Schmidt
f5f55db308
Add support for using DMA on dump, greatly speeds up the dump process.
...
Add dump support in ataraid.
2006-01-18 09:14:55 +00:00
Søren Schmidt
e2bf77c5c2
Get rid of the advertising clause in the copyright.
2006-01-05 21:27:19 +00:00
Søren Schmidt
49824061be
Return the proper rmi field in DVDIOCREADSTRUCTURE.
...
PR: 89650
2006-01-04 21:35:57 +00:00
Søren Schmidt
93b2c0cf02
Fix the promise modesetting for old chips.
...
Pointy hat to: sos
2006-01-04 10:23:47 +00:00
Søren Schmidt
8a07d88d9f
Fix promise probe printing.
2006-01-04 08:20:25 +00:00
Søren Schmidt
d028250086
Add hotplug support for Marvell chips.
2005-12-30 23:15:02 +00:00
Søren Schmidt
796bd93e5e
Further updates to the Marvell support code.
...
Should be reliable enough for actual use by now.
2005-12-28 11:55:43 +00:00
Søren Schmidt
7af3abd894
Change the probes in ATA to return a negative value on success.
...
This allows other driver to take over if needed during probe, and allows
me to distribute new drivers as modules.
2005-12-27 18:22:11 +00:00
Søren Schmidt
091bb42ceb
Update the last commit to also take 48Bit access functions.
2005-12-27 17:13:11 +00:00
Søren Schmidt
4b55f0c7c7
Add initial support for the Marvell 88SX[56]0[48][01] series of SATA chips.
...
Hardware donated by: Matthew Jacob
Hardware donated by: Y!
2005-12-27 17:09:52 +00:00
Søren Schmidt
8ec96d7b8d
Fix rebuilds of arrays that got stuck.
...
Misc minor fixes.
Bughunting and initial fixes by Pav@ and Anton.
2005-12-27 16:49:33 +00:00
Søren Schmidt
121b478372
Cleanup the strings for printing chipset names, saves quite some space.
...
Add a couble new nVidia chips now we are here.
2005-12-16 08:12:13 +00:00
Scott Long
7f512e8f29
Make this compile on 64bit systems. It likely isn't correct, but that can
...
be sorted out later.
2005-12-16 06:11:22 +00:00
Søren Schmidt
5608e472c1
Add support for writing VIA metadata.
...
Null out the metadata on disks when array is deleted.
2005-12-15 13:30:23 +00:00
Søren Schmidt
59a269294f
Add RAID0+1 and RAID5 support to VIA RAID code.
...
Fix support for multiple arrays.
2005-12-14 13:07:49 +00:00
Søren Schmidt
a569390328
Add support for VIA VT8251 southbridge.
...
SATA support for now in compat mode, but all 4 channels usable.
2005-12-14 12:13:00 +00:00
Søren Schmidt
c6c6c58a89
Correct calculation of RAID0 sizes on VIA RAID arrays.
2005-12-14 12:11:51 +00:00
Søren Schmidt
921f15117f
Add support for writing SiS metadata.
2005-12-12 14:13:55 +00:00
Søren Schmidt
fb504bef5c
Unbreak hotplug support on the ICH6 and ICH7 chipsets.
2005-12-09 14:23:24 +00:00
Søren Schmidt
b39424ba7a
Dont use the BUS_DMA_ALLOCNOW flag. Instead use BUS_DMA_NOWAIT and return
...
ENOMEM to the upper layers if we run out of memory.
This solves part of the trouble with running on >4GB memory systems.
2005-12-05 22:31:55 +00:00
Søren Schmidt
02268a2d11
Switch off debugging that was left on in last commit.
2005-12-05 17:58:11 +00:00
Søren Schmidt
eed08844c9
Add support for writing Intel MatrixRAID arrays.
...
Do a little better on handling volumes as well, however we cant create
multiple volumes from FreeBSD yet.
HW sponsored by: Mullet Scandinavia AB
2005-12-05 17:33:57 +00:00
Søren Schmidt
ddaf769709
Update the ICH7 support so it deals better with chips without AHCI.
...
Update Intel MatrixRAID support to be able to pick up RAID0+1 (RAID10)
and RAID5 arrays without panic'ing.
This has the side effect of now also supporting multiple volumes on
MatrixRAID's now I have the metadata better understood..
HW sponsored by: Mullet Scandinavia AB
2005-12-02 10:13:53 +00:00
Søren Schmidt
e9bd25bff0
Fix the ata_composite/ata_request leak when using RAID0+1.
...
Submitted by: Michael Butler
Minor changes to fit ATA style by me.
2005-11-29 20:08:26 +00:00
Søren Schmidt
7c7e96f58c
Fix SiS SATA support, the SATA registers was off.
...
Add support for SiS metadata.
HW donated by: obrien
2005-11-28 23:08:37 +00:00
Giorgos Keramidas
6f26936c0f
Fix two identical harmless typos in ata error messages:
...
s/issueing/issuing/
PR: kern/89481
Submitted by: John Nielsen
Approved by: sos
MFC after: 1 week
2005-11-28 13:23:15 +00:00
Søren Schmidt
6c22760c61
When IOCATAGPARM is called, update the capabilities page that is stored
...
in the kernel and return the new values.
2005-11-25 09:00:56 +00:00
Robert Watson
5bb84bc84b
Normalize a significant number of kernel malloc type names:
...
- Prefer '_' to ' ', as it results in more easily parsed results in
memory monitoring tools such as vmstat.
- Remove punctuation that is incompatible with using memory type names
as file names, such as '/' characters.
- Disambiguate some collisions by adding subsystem prefixes to some
memory types.
- Generally prefer lower case to upper case.
- If the same type is defined in multiple architecture directories,
attempt to use the same name in additional cases.
Not all instances were caught in this change, so more work is required to
finish this conversion. Similar changes are required for UMA zone names.
2005-10-31 15:41:29 +00:00
Søren Schmidt
ae539be6f8
Return the right format (LBA/MSF) in TOC entries.
...
Null the TOC on media change even if no media present.
Reported by: des
2005-10-28 21:41:42 +00:00
Søren Schmidt
f373190c49
Enclose the delayed attach in Giant so we dont loose the race with other
...
drivers trying to attach ATA devices like pccard.
Dont clear the delayed flag before we are acutally finished.
Spotted by: imp
2005-10-27 16:32:39 +00:00
Søren Schmidt
ca107a4b1e
Minor cleanups, no functional changes
2005-10-13 08:05:21 +00:00
Søren Schmidt
7ebce0231b
Add support for the ATI IXP[234]00 series chipsets.
...
HW donated by: sentex
2005-10-12 20:00:26 +00:00
Søren Schmidt
e0c41a23d7
Correct the former patch to the way it would have looked after review.
2005-10-10 19:13:27 +00:00
Søren Schmidt
8e4e979e1e
Properly react to allocation failures.
...
Found by: imp@
2005-10-10 19:12:43 +00:00
Peter Edwards
96ca84d197
When breaking up a large request into smaller ones for the strategy
...
routine, create all the child bio objects before starting the
requests, rather than starting them as created. This closes a race
whereby some number of child operations could complete before the
rest were ever created, and prematurely freeing the parent bio.
This fixes the panics installing in VMWare and qemu
2005-10-09 21:11:05 +00:00
Søren Schmidt
40fdf81237
Add support for setting the SG list segment size.
...
Use this for the SiI3112 workaround to get rid of the "oversized DMA" errors.
MFC to 6.0 candidate.
2005-10-06 15:44:07 +00:00
Warner Losh
b7a9396a75
Forgot to commit ata-card fixes last night. Fix gleb's attempt to do
...
the right thing by merging in the changes I neglected to commit last
night.
2005-09-22 18:46:29 +00:00
Gleb Smirnoff
e21d20fc4c
Fix build.
2005-09-22 18:41:56 +00:00
Søren Schmidt
3d42c6d13a
Dont wait for READY on ATAPI_IDENTIFY.
...
Fixes the losage of some ATAPI device that reported failed probing with
"timeout waiting for read DRQ".
2005-09-19 07:35:42 +00:00
Søren Schmidt
0387836deb
Harden the hotplug support for SATA devices.
...
This also fixes a few races that was present in the timeout/detach code.
Sponsored by: pair.com
2005-09-14 12:45:06 +00:00
Søren Schmidt
fba8a154bd
Fix problem with finding the still working disk in a broken mirror on VIA.
2005-09-06 19:17:48 +00:00
Søren Schmidt
f7da27dd85
In ata_mode2str() properly list -1 as UNSUPPORTED.
2005-08-29 18:19:06 +00:00
Søren Schmidt
84b3b6455f
Fix support for the VIA 6421 controller.
2005-08-29 09:01:57 +00:00
Søren Schmidt
071e98cbeb
Dont set default mode to ATA_DMA_MAX on devices not capable of DMA.
2005-08-25 15:45:03 +00:00
Søren Schmidt
70037ab36a
Apply fix for "pr82261 DMA-support on Sparc64 broken"
...
The Acer chip or wiring that SUN uses has problems that this patch
tries to work around.
Original patch by Marius Strobl, hacked into shape by me..
2005-08-23 08:53:01 +00:00
Søren Schmidt
971846e49c
Fix problem on Promise "mio" controllers and 48bit mode caused by last commit
2005-08-22 11:38:53 +00:00
Søren Schmidt
85047b1b0c
Add support for working around controllers that cannot do DMA in 48bit mode.
...
The workaround use PIO mode above ~137GB to allow using the disk.
Add the Acer chips with rev < 0xc4 as first candidate.
2005-08-17 15:00:33 +00:00
Søren Schmidt
fb235b243c
Use the bio field instead of the driver field as intended.
2005-08-17 14:50:18 +00:00
Søren Schmidt
c7dc7718f6
Add support for the Promise PDC4071[89] chips used on fx the Fasttrak TX4300.
...
Docs kindly provided by Promise.
2005-08-12 16:54:11 +00:00
Søren Schmidt
77ada08656
Add support for the ITE IT8211F controller.
2005-08-05 13:14:00 +00:00
Søren Schmidt
08f7225609
Dont limit all transfers to DEV_BSIZE (stale dbug code)
...
Hide the loaded/unloaded message behind bootverbose
2005-08-04 18:39:36 +00:00
Søren Schmidt
785a5193b7
Remove stale struct ata_channel declaration.
...
Reported by: rodrigc
2005-07-29 18:14:06 +00:00
Søren Schmidt
c782b027b4
Zero donecount on auto request sense.
...
PR: 81450
Approved by: re@ (scottl)
2005-06-28 09:06:52 +00:00
Søren Schmidt
4c2d9f25f3
Dont call ata_finish in ad_dump as that is no longer needed and causes panic.
...
Dont try to enable read/write caching on devices that doesn't support it,
this reduces the noise from ATA on flash devices and the like.
Approved by: re@ (scottl)
2005-06-27 09:12:11 +00:00
Warner Losh
ab581af779
Eliminate unused argument in PCMCIA_CARD macro.
...
Provide a backwards compatible way to have the extra macro by defining
PCCARD_API_LEVEL 5 before including pccarddevs for driver writers that
want/need to have the same driver on 5 and 6 with pccard attachments.
Approved by: re (dwhite)
2005-06-24 14:36:54 +00:00
Marcel Moolenaar
217578215b
Avoid GCC optimizations from injecting a call to memset(?) in order
...
to initialize the buffer array in ata_raid_attach() by removing the
initializer. There's no memset(?) in the kernel. Instead, assign
'\0' to the first element. The buffer array holds strings only, so
this is functionally equivalent.
Applies to: ia64
Tripped over by: tinderbox
2005-06-11 03:21:20 +00:00
Søren Schmidt
0c818c44db
Enable SATA hotplug support.
...
Submitted by: Olivier Houchard
2005-06-10 07:43:10 +00:00
Søren Schmidt
a9b4f88e01
Fix the long standing problem with poor transferrates on Intel ICHH type
...
chips. The DMA timing value was set on device 0 for all devices :/
Prodded by: Harald Schmalzbauer
2005-06-09 21:13:44 +00:00
Søren Schmidt
52ac6e8db8
Fix the register offset for the ATAPI count register thats used to
...
wrestle the older Promise chips to do 48bit addressing.
Spotted by: Martin Birgmeier
2005-06-09 19:00:37 +00:00
Søren Schmidt
a3ebeaa87b
Use the presence of ctlr->dmainit instead of r_res1 to find out when to
...
initialise DMA.
2005-06-09 12:31:07 +00:00
Søren Schmidt
a77a43c709
Add support for the Intel 31244.
...
Most code by the submitters, hammered upon to get the right ATA fell by me.
Submitted by: Olivier Houchard
Submitted by: Jia-Shiun Li
2005-06-08 20:02:55 +00:00
Søren Schmidt
167719c3b2
Apply the usual woodoo for 64bitness.
2005-06-06 15:49:09 +00:00
Søren Schmidt
b397739aab
Add support for nVidia's software RAID "MediaShield".
...
HW Sponsored by: Yahoo!
2005-06-06 13:35:24 +00:00
Søren Schmidt
b9203a8aca
Make nVidia SATA hotplug support DTRT.
...
HW sponsored by: Yahoo!
2005-06-05 21:18:26 +00:00
Søren Schmidt
05c84db123
Unbreak the ICH6 AHCI support in !48Bit mode.
2005-06-05 18:37:56 +00:00
Søren Schmidt
d78c6e89ae
Make certain the the 48bit flag is reset if we dont translate LBA.
2005-05-17 12:31:54 +00:00
Søren Schmidt
ae337d1ee5
longer used (contents added to sys/ata.h)
2005-05-16 13:39:49 +00:00
Søren Schmidt
6667b30d15
Change the way ioctls are issue to ATA.
...
The most prominent part is that its now possible to issue ata_requests
directly to say acd0, instead of going through the cumbersome /dev/ata
device.
2005-05-16 13:07:27 +00:00
Søren Schmidt
265da99ce9
Cleanup comments
2005-05-13 10:25:19 +00:00
Søren Schmidt
bb8a0cf2cf
Fix more ATAPI breakage.
...
Apparently some devices are very picky on details :)
2005-05-13 07:58:05 +00:00
Søren Schmidt
c46e1f5333
Add new Intel PCI ID's for the ICH7 chips (untested).
2005-05-11 18:29:15 +00:00
Søren Schmidt
d81c813f10
Add support for AHCI compliant ATA devices.
...
For now just support the Intel ICH6 as that the HW at hand.
Sponsored by: pair.com
2005-05-11 16:10:08 +00:00
Søren Schmidt
d0968d7845
Add back one line that got deleted in the last commit.
...
Change the comment there so it better describes whats going on.
This should fix the boot problems of late.
2005-05-11 14:36:26 +00:00
Søren Schmidt
faca873f76
Fix ATAPI DMA. We need to set the proper flags for DMA modes.
2005-05-11 12:41:35 +00:00
Søren Schmidt
eeda55ce8e
Reshape the dma code to be a bit more flexible so it can cope with
...
new HW that has new and different demands.
Fix a few nits in former commit in this cleanup crusade.
Sponsored by: pair.com
2005-05-03 07:55:07 +00:00
Søren Schmidt
4156b20c71
Always attach a subdisk even if no valid metadata found.
...
This allows the disks to be used later in a raid create.
2005-05-02 07:06:50 +00:00
Søren Schmidt
9ec5e87f63
Update on the last commit, the dma* funciton needs to be called with
...
a channel device, not an ata device, or we'll be out of luck in
reset/timeout where we dont have a device.
2005-05-01 12:24:45 +00:00
Søren Schmidt
1191f58127
Go back to the old way of finding the Promise metadata, the new way was
...
too simple causing older controllers metadata to get lost.
2005-05-01 08:45:12 +00:00
Søren Schmidt
0068f98f88
Take newbusification one step further, ie use the device_t more consequently
...
all way through the code down the layers, instead of the mix'n'match that
resulted from the conversion done earlier.
Sponsored by: pair.com
2005-04-30 16:22:07 +00:00
Søren Schmidt
e47099593a
Now that probing is working in the new fashion, we need to go back to
...
having ata_getparm issue an ata_request and not fool around with the HW
on its own.
Needed for new HW support.
2005-04-29 11:30:03 +00:00
Søren Schmidt
ca8c70e9e3
Provide a default setmode method.
...
This shaves off multiple copies of the same setmode stub.
2005-04-28 22:15:44 +00:00
Søren Schmidt
8dad6b7be5
Rearrange the way the reset code is called.
...
Prepare for different looking controllers.
2005-04-28 22:08:08 +00:00
Søren Schmidt
f1be1cdc88
Fix a bug introduced in r1.89 thats caused leak of requests, and possibly
...
bogus data to be written.
2005-04-26 06:42:33 +00:00
Søren Schmidt
ecd6c15d6a
Cosmetics
2005-04-25 07:57:04 +00:00
Søren Schmidt
6257850052
Only try to allocate and use the SATA resource if they are enabled
...
by the BIOS. It seems some BIOS's doesn't get this right, and that would
result in ATA panic'ing.
2005-04-25 07:50:51 +00:00
Søren Schmidt
1d968d225f
Rehash the timeout code to make it more simple.
...
This also removes the warning timeout on the taskqueues stalling as
I'm tired of getting ATA error reports for problems in other parts ;)
Misc cosmetic and comment cleanups now we are here.
2005-04-21 11:13:39 +00:00
Søren Schmidt
46917bb6f4
When a rebuild is done, properly mark the arrays as functional again.
2005-04-20 14:14:08 +00:00
Søren Schmidt
77662bd705
Properly hook in devices found by SATA connect events.
...
This broke on the changes done to get atapicam happy earlier.
2005-04-20 12:51:54 +00:00
Søren Schmidt
5345b2d755
CFA (Compact Flash) devices has a special config ID that fails the
...
normal ATA device check in ata-disk.c. Add support for the CFA magic.
2005-04-19 12:33:26 +00:00
Søren Schmidt
e30a3e750f
Fix indentation problem in the last commit
2005-04-19 05:28:08 +00:00
Poul-Henning Kamp
73fbaa74e5
Add a named reference-count KPI to hold off mounting of the root filesystem.
...
While we wait for holds to be released, print a list of who holds us
back once per second.
Use the new KPI from GEOM instead of vfs_mount.c calling g_waitidle().
Use the new KPI also from ata.
With ATAmkIII's newbusification, ata could narrowly miss the window
and ad0 would not exist when we tried to mount root.
2005-04-18 21:21:26 +00:00
Søren Schmidt
b3c3ba2ed7
Add uma zone for composite ops.
...
Submitted by: des
2005-04-18 16:01:56 +00:00
Søren Schmidt
964ac9d507
Adjust the RAID type pickup code for the VIA, we dont actually care
...
if the array is bootable or not (yet).
2005-04-18 13:51:03 +00:00
Søren Schmidt
07015a1afd
Add one more Promise SATAII/150 chip id.
2005-04-17 13:37:57 +00:00
Søren Schmidt
c2c2204605
Spell ATA_NFORCE4_S2 correctly.
2005-04-16 20:03:49 +00:00
Søren Schmidt
d1719942b3
Make things compile again with ATA_STATIC_ID.
2005-04-15 14:19:41 +00:00
Søren Schmidt
9f2ea2bcd5
Move the creation of ata_channel child devices to the channel code.
...
This allows to attach to the children (ATA devices) even without a
driver being attached. This allows atapi-cam to do its work both
with and without the pure ATAPI driver being present.
ATA patches by /me
ATAPI-cam pathes by Thomas
2005-04-15 10:20:52 +00:00
Søren Schmidt
a6e97ccf70
Read back the real taskfile register values when in 48BIT mode.
2005-04-14 08:48:45 +00:00
Søren Schmidt
d5514ba365
Add a ata_setmode method so we dont panic on setmode.
...
Note that the mode is only set on the device, we (mostly) have
no knowledge on how to set mode on the controller if at all possible.
2005-04-13 07:14:17 +00:00
Søren Schmidt
b71229c0ac
On amd64 int64_t != long long.
2005-04-12 15:24:00 +00:00
Søren Schmidt
5c2fe6346d
Better use the right name for the VIA software RAID.
2005-04-12 13:29:47 +00:00
Søren Schmidt
8ef82837f5
Add support for VIA Tech metadata as used on thier SATA parts.
2005-04-12 12:25:27 +00:00
Søren Schmidt
308f942ec9
Fix the same silly alloc mistake for nVidia and SiS as with VIA in
...
the previous commit.
2005-04-11 20:50:14 +00:00
Søren Schmidt
50fc814789
Fix the bug that caused SATA disks on VIA etc to fail attach.
2005-04-11 20:28:15 +00:00
Søren Schmidt
186ba2b70d
Use the ata_suspend/resume functions instaead of the bus_generic ones.
...
This should unbreak suspend/resume.
Contributed by: Wiktor Niesiobedzki
2005-04-10 21:43:29 +00:00
Søren Schmidt
b0e99d441c
Fix FreeBSD native SPAN arrays.
...
Prodded by: Ian Dowse
2005-04-10 21:39:25 +00:00
Søren Schmidt
abacbfaf5c
Refine the SATA PHY code so the time consumed during probe is reduced.
...
Add the older nVidia nForce2 SATA chip to supported HW.
2005-04-10 10:20:25 +00:00
Scott Long
a91e1dfcd5
Explicity make atapi-cam depend on CAM.
...
Submitted by: Michal Mertl
2005-04-08 22:51:50 +00:00
Søren Schmidt
1ab4ad3675
Add support for the PHY on nVidia, SiS and VIA chips
...
This code is done blindfolded as I dont have such HW here, so reports
of success/failure are most welcome.
More SATA PHY cleanups.
2005-04-08 15:33:04 +00:00
Søren Schmidt
3c8b1aa784
Put the BUS_DMASYNC_PREWRITE in the rigth position.
2005-04-08 12:16:51 +00:00
Søren Schmidt
b0a7e6a56a
Generalise the SATA PHY handling code so it wont be duplicated for
...
each SATA chip.
Promise and Silicon Image are the current candidates for this.
2005-04-08 09:37:47 +00:00
Søren Schmidt
0e1eb6828c
Add support for controllers that doesn't have the usual taskfile
...
layout. No functional changes.
2005-04-06 10:22:56 +00:00
Scott Long
b149b2d82f
Fix a use-after-free problem in atapi_cb(). Add some necessary synchronization
...
to the XPT_PATH_INQ op. Don't leak locks on failure in XPT_SCSIIO. Correctly
fix the CAMDEBUG message.
2005-04-05 15:08:19 +00:00
Søren Schmidt
bbccd83251
Add firstshot support for Acer Labs Inc SATA parts
...
Update ALi PATA support to handle ATA133 as well
2005-04-05 14:51:43 +00:00
Poul-Henning Kamp
c339c21b28
Push some faulty debugging aside so LINT compiles.
2005-04-05 09:42:52 +00:00
Scott Long
700a992648
Commit ATAPI-CAM for ATAmkIII. Improvements and changes:
...
- newbus plumbing. Each atapicam bus is a child off of a parent ata channel
bus. This is somewhat of a hack, but allows the ata core to be completely
free of atapicam knowledge.
- No more global lists of softc's and no more groping around in internal ata
structures on each command.
- Giant-free operation of the completion handler.
- Per-bus mutex for protecting the busy list and synchronizing detach.
- Lots of streamlining and dead code elimination, better adherence to the
CAM locking protocol.
This feature still requires that the appropriate atapi-* driver be present
for each atapi device that you want to talk to (i.e. atapi-cd for cdroms).
It does work both compiled into the kernel and as a loadable module.
Reviewed by: thomas, sos
2005-04-05 02:03:31 +00:00
Søren Schmidt
fa13a39e3c
Fix a buglet that caused slaves to be nondetected.
2005-04-03 13:03:53 +00:00
Søren Schmidt
5a5b148dd8
Change the ata_* methods to use a channel device instead of a
...
controller device. This helps when there is no controller parent
to a channel (PPC port).
2005-03-31 15:05:40 +00:00
Søren Schmidt
0da27c6206
Correct the PCI ID for the SiS 965, and add support for the SATA part
...
that was left our by accident.
Prodded by: Patrik Backlund
2005-03-31 06:25:14 +00:00
Søren Schmidt
d9e96e03ee
Whoops, this got left out from the megacommit
2005-03-30 12:27:34 +00:00
Søren Schmidt
8ca4df3299
This is the much rumoured ATA mkIII update that I've been working on.
...
o ATA is now fully newbus'd and split into modules.
This means that on a modern system you just load "atapci and ata"
to get the base support, and then one or more of the device
subdrivers "atadisk atapicd atapifd atapist ataraid".
All can be loaded/unloaded anytime, but for obvious reasons you
dont want to unload atadisk when you have mounted filesystems.
o The device identify part of the probe has been rewritten to fix
the problems with odd devices the old had, and to try to remove
so of the long delays some HW could provoke. Also probing is done
without the need for interrupts, making earlier probing possible.
o SATA devices can be hot inserted/removed and devices will be created/
removed in /dev accordingly.
NOTE: only supported on controllers that has this feature:
Promise and Silicon Image for now.
On other controllers the usual atacontrol detach/attach dance is
still needed.
o Support for "atomic" composite ATA requests used for RAID.
o ATA RAID support has been rewritten and and now supports these
metadata formats:
"Adaptec HostRAID"
"Highpoint V2 RocketRAID"
"Highpoint V3 RocketRAID"
"Intel MatrixRAID"
"Integrated Technology Express"
"LSILogic V2 MegaRAID"
"LSILogic V3 MegaRAID"
"Promise FastTrak"
"Silicon Image Medley"
"FreeBSD PseudoRAID"
o Update the ioctl API to match new RAID levels etc.
o Update atacontrol to know about the new RAID levels etc
NOTE: you need to recompile atacontrol with the new sys/ata.h,
make world will take care of that.
NOTE2: that rebuild is done differently from the old system as
the rebuild is now done piggybacked on read requests to the
array, so atacontrol simply starts a background "dd" to rebuild
the array.
o The reinit code has been worked over to be much more robust.
o The timeout code has been overhauled for races.
o Support of new chipsets.
o Lots of fixes for bugs found while doing the modulerization and
reviewing the old code.
Missing or changed features from current ATA:
o atapi-cd no longer has support for ATAPI changers. Todays its
much cheaper and alot faster to copy those CD images to disk
and serve them from there. Besides they dont seem to be made
anymore, maybe for that exact reason.
o ATA RAID can only read metadata from all the above metadata formats,
not write all of them (Promise and Highpoint V2 so far). This means
that arrays can be picked up from the BIOS, but they cannot be
created from FreeBSD. There is more to it than just the missing
write metadata support, those formats are not unique to a given
controller like Promise and Highpoint formats, instead they exist
for several types, and even worse, some controllers can have
different formats and its impossible to tell which one.
The outcome is that we cannot reliably create the metadata of those
formats and be sure the controller BIOS will understand it.
However write support is needed to update/fail/rebuild the arrays
properly so it sits fairly high on the TODO list.
o So far atapicam is not supported with these changes. When/if this
will change is up to the maintainer of atapi-cam so go there for
questions.
HW donated by: Webveveriet AS
HW donated by: Frode Nordahl
HW donated by: Yahoo!
HW donated by: Sentex
Patience by: Vife and my boys (and even the cats)
2005-03-30 12:03:40 +00:00
Nate Lawson
9956392d2c
Whitespace nit. Clarifies which body this line belongs to.
2005-03-06 10:17:30 +00:00
Warner Losh
53ee71735f
Use BUS_PROBE_DEFAULT for pci probe return value
2005-03-05 19:06:12 +00:00
Matthew N. Dodd
ae9d8a2668
When resubmitting a timed out request, reset donecount.
...
Submitted by: Nate Lawson <nate AT root.org>
2005-03-02 04:01:37 +00:00
Matthew N. Dodd
a50519ed08
Handle PIO timeouts in ata_end_transaction() by immediately returning.
...
Failure to do this will result in following ata_pio_read() calls walking
off the end of the read buffer.
This resolves the "memory modified after free" panics common with Thinkpads
and CD/DVD drives.
Submitted by: Nate Lawson <nate AT root.org>
2005-03-02 03:59:28 +00:00
Matthew N. Dodd
6bacdeb7e0
In ata_generic_reset() while waiting for both master & slave to become
...
idle the 'mask' variable could be set to 0, resulting in the timeout loop
running for the full 31 seconds.
Handling this case eliminates long hangs on resume on some systems.
Submitted by: Nate Lawson <nate AT root.org>
2005-03-02 03:34:51 +00:00
Poul-Henning Kamp
4db0fda84e
Use dynamic major number allocation.
2005-02-27 22:19:35 +00:00
Matthew N. Dodd
5b525a3230
Avoid using tsleep() in the resume path as it may result in the
...
system hanging if timer interrupts aren't running yet.
This allows my Thinkpad to resume successfully with APM.
Approved by: sos
MFC after: 2 weeks
2005-02-07 17:14:42 +00:00
Maxim Sobolev
4379219537
Boot away another stackgap (one of the lest ones in linuxlator/i386) by
...
providing special version of CDIOCREADSUBCHANNEL ioctl(), which assumes that
result has to be placed into kernel space not user space. In the long run
more generic solution has to be designed WRT emulating various ioctl()s
that operate on userspace buffers, but right now there is only one such
ioctl() is emulated, so that it makes little sense.
MFC after: 2 weeks
2005-01-30 08:12:37 +00:00
Warner Losh
72217cb810
Catchup to the iodata renaming
2005-01-26 06:30:55 +00:00
Søren Schmidt
6ce188277d
Further update to the Promise code.
...
Support should now cover all old and current products.
2005-01-01 19:24:25 +00:00
Søren Schmidt
5bcdf70082
Loosen the probe a bit.
...
Try to get out of probing as early as possible on (hopefully) vacant
channels.
2004-12-24 13:38:25 +00:00
Søren Schmidt
0f9c0db3d0
Update the Promise support for combo (SATA+PATA) controllers.
2004-12-24 13:36:04 +00:00
Poul-Henning Kamp
2221dbebce
Pass the file->flags down to geom ioctl handlers.
...
Reject certain ioctls if write permission is not indicated.
Bump geom API version.
Reported by: Ruben de Groot <mail25@bzerk.org>
2004-12-12 10:09:05 +00:00
Søren Schmidt
241ce89e8c
Compensate for off by one bugs in disk firmware for 48BIT addressing cutover.
2004-12-09 07:31:06 +00:00
Søren Schmidt
fb81862424
Update the ICH6 support so all 4 SATA channels can be used.
...
We still use "normal" mode, AHCI mode is in the works still.
HW donated by: Sentex
HW donated by: Yahoo!
2004-12-08 18:00:46 +00:00
Søren Schmidt
88bdf804ed
Add support for the ITE IT8212F controller.
...
HW donated by: Yahoo!
2004-12-08 11:17:38 +00:00
Søren Schmidt
7f45e0f014
Reset timeout when we are back from interrupt.
2004-12-08 11:16:33 +00:00
Søren Schmidt
da9edda62d
Add first shot on support for the new Promise SATAII chips.
...
HW donated by: pil.dk
2004-12-08 10:02:41 +00:00
Søren Schmidt
6567c88566
Correct logical error, result was that retries wasn't always made but
...
failure reported instead.
2004-12-08 09:19:03 +00:00
Søren Schmidt
39c7a710c6
Return ATA register values in the request struct when ATAREQUEST returns.
2004-11-24 10:47:26 +00:00
Scott Long
5f26d98581
Don't set the BUS_DMA_ALLOCNOW flag for the parent tag or the tags that are
...
used for static memory allocations.
Discussed with: sos
2004-11-17 11:27:30 +00:00
Warner Losh
053a2b550f
Tweaks to the resource allocation to allow a few of my obscure
...
cdrom/ata controller PC Card devices work better.
2004-11-10 00:33:05 +00:00
Søren Schmidt
208a8dc227
Do not retry on requests that has lost thier device during reinit.
...
Should fix hangs on IBM's etc with the fake slave problem.
MFC:
asap
2004-10-20 10:11:05 +00:00
Søren Schmidt
61efd2a8b3
Idle the channel earlier in reinit().
...
Cosmetic change to suspend, dont call tsleep an extra time at exit.
2004-10-19 20:13:38 +00:00
Søren Schmidt
53f19be8fd
Cosmetics
2004-10-19 20:11:23 +00:00
Lukas Ertl
dc6b9c2d6e
Return the unit number of a channel instead of a hardcoded '1' from
...
the ATA pccard locking function. This makes pccard devices like
Compact Flash cards work again.
PR: kern/72805
Submitted by: James E. Flemer <jflemer@alum.rpi.edu>
MFC in: 2 days
2004-10-19 10:29:00 +00:00
Søren Schmidt
b2d35a0408
Refine locking so it covers the "running" variable as well.
...
Adjust comments etc to fit the new locking system.
2004-10-13 15:16:35 +00:00
Søren Schmidt
b913aa0b7f
Dont sleep with lock held.
2004-10-10 13:24:39 +00:00
Søren Schmidt
8353d82bfd
Add support for the ICH6 in legacy mode.
...
The AHCI part is not supported yet, but is in the works.
5.3 RC1 candidate
2004-10-09 16:27:13 +00:00
Søren Schmidt
6c35773729
Move the PC98 specific geometry "gunk" to geom_pc98.c where it belongs.
...
This also adds support for bigger disks on the controller I have access to,
and maybe others if I understood the adhoc methods used on those.
Those with more PC98 bigdrive controllers it is hereby invited to add/fix
support for those in geom_pc98.c and not using #ifdef PC98 all over the place.
2004-10-07 17:37:09 +00:00
Søren Schmidt
e59142714c
Add SHARP to the pool of drives that doesn not need byteswapping of
...
the model etc fields from identify.
2004-10-07 11:43:25 +00:00
Søren Schmidt
6192895db8
Fix the PC98 lockups on boot.
...
The interchannel locking for PC98 needed to be updated to match the
rest of the locking in ATA.
2004-10-06 19:46:08 +00:00
Søren Schmidt
844acbc7a3
Always set half'n'half mode on ICH* chips.
2004-10-01 09:06:22 +00:00
Søren Schmidt
49686bbcaf
Fix the serverworks modesetting code, of mask offset was wrong.
2004-10-01 09:04:53 +00:00
Søren Schmidt
8f0fb9584e
Resurrect dump that broke with the last update.
2004-09-30 20:54:59 +00:00
Søren Schmidt
b5dee91f5f
Remove the old ATA_*LOCK_CH macros that used atomic ops and use
...
mutexes instead.
This closes the last (known) race issues in ATA which should fix
the various hangs etc seen on heavy loaded systems.
Change from using timeout functions to using callout functions in
the timeout code. This together with above closes the race that could
happen if timeout and device interrupt occured simultaniously.
Also fix the possible recursion in ata_reinit() on very dodgy
devices that could take us down in the probe.
2004-09-26 11:48:43 +00:00
Søren Schmidt
c5b2c44ce8
Rearrange the order of I/O's in dma-start/stop, some chipsets are very
...
picky on the order of this, especially in error situations.
2004-09-26 11:42:42 +00:00
Søren Schmidt
a49513587b
Ignore leading '_' in model name returned by devices.
...
This make "_NEC" devices appear as "NEC" which is more corrent.
The reason is tha NEC originally screwed up on the byteorder in the
model string, so now that they have realized that they prefixed the '_'
so that not every ATA driver on the planet would call them "EN C" :)
2004-09-16 09:35:01 +00:00
Søren Schmidt
1d535cd590
Reduce the amount of memory reported to busdma.
...
This made the requirements for bouncebuffers too big with PAE.
Cleanup the way size defines for transfers are implemented.
2004-09-10 10:31:37 +00:00
Søren Schmidt
6c893545ad
Release the hold on ata_delayed_attach earlier so we can use tsleep
...
in the boot probe as well.
Suggested by: gibbs
2004-09-09 13:25:46 +00:00
Søren Schmidt
0f7cfb8473
Introduce ata_udelay() that uses tsleep instead of DELAY if possible.
...
In places where we have long delays that doesn't depend on too accurate
timing, use ata_udelay() instead of DELAY() so we dont uselessly spin
the CPU if not nessesary;
2004-09-03 12:10:44 +00:00
Søren Schmidt
7a6d2ca81b
Sync promise_mio_command with WIP on the Promise line of SATA controllers.
2004-09-03 08:23:04 +00:00
Søren Schmidt
df6a77ddcb
Cleanup the defines used for various chipsets.
...
Add new nVidia controllers.
2004-09-03 07:37:53 +00:00
Søren Schmidt
8ea3547a15
Cleanup the storing and printing of the device transfermode for SATA.
2004-09-01 12:15:44 +00:00
Søren Schmidt
d3ef327c8d
remove unused prototype
2004-08-27 22:14:45 +00:00
Søren Schmidt
dc26948b0c
Fix the handling of "inflight" requests when doing reinit's.
...
Add missing untimeout that would get lost in handling of some
error situations, and caused what looked like random timeouts
afterwards when the timeout fired.
2004-08-27 14:48:32 +00:00
Søren Schmidt
33203bee0c
Set and reset the right bit for UDMA enable/disable on the ICH* chips.
2004-08-27 12:54:58 +00:00
Søren Schmidt
71d7101fac
Rearrange the call to disk_destroy.
...
Suggested by: phk
2004-08-27 12:03:18 +00:00
Søren Schmidt
1c01d05f9c
Sii_reset needs to wait up to 1 second to get slow disks with it so
...
use tsleep instead of DELAY.
2004-08-24 20:11:26 +00:00
Søren Schmidt
741d64783e
Always pick up giant before returning from an ioctl call.
2004-08-24 15:09:05 +00:00
Søren Schmidt
5a8f8e353e
Properly check malloc returns.
2004-08-24 10:39:00 +00:00
Søren Schmidt
d607fde675
Workaround devices that responds with registers as *both* master & slave,
...
but fail utterly when we try to talk to the "fake" device.
2004-08-22 15:54:08 +00:00
Søren Schmidt
001eba0b3c
Correct the args to busdma, mostly cosmetic.
2004-08-20 19:05:22 +00:00
Søren Schmidt
d04d789463
DONT PANIC
...
Only call dmainit() if there is a valid busmaster resource.
2004-08-20 06:19:25 +00:00
Søren Schmidt
5f7a48ef1e
Improve (hopefully) on the workaround code for devices that doesn't
...
interrupt when command is done, ie some ATAPI CD drives with no
media loaded.
2004-08-16 09:32:35 +00:00
Søren Schmidt
fe76f7b6c8
Fix Promise sx4/sx4000 support that broke on the latest race fixes.
2004-08-16 09:29:46 +00:00
Søren Schmidt
8b68793ab3
Allow the use of a supplied function to set the PRD table. This is
...
needed for new chips that supports 64bit addressing.
2004-08-13 08:14:27 +00:00
Søren Schmidt
d53fc3e41c
Change the order of ata_dmainit/ata_allocate in preparation of
...
supporting new chipsets where this is needed.
2004-08-12 08:20:36 +00:00
Søren Schmidt
ed0c8a7dc7
Fix bad free() usage.
...
Submitted by: Pawel Jakub Dawidek
2004-08-09 14:22:58 +00:00
Søren Schmidt
74f492f9bf
Close a race in ata_reinit().
2004-08-09 12:02:32 +00:00
John-Mark Gurney
3633dce05f
make sure that ioctl's to ata use the proper cmd IOCATA...
...
Reviewed by: sos
2004-08-09 06:47:53 +00:00
Poul-Henning Kamp
5721c9c76a
Tag all geom classes in the tree with a version number.
2004-08-08 07:57:53 +00:00
Søren Schmidt
ba0b5c1c3b
Correct the last commit so it works in error situations as well.
2004-08-07 12:49:28 +00:00
Nate Lawson
c68afc9d21
Fix a panic in ata_generic_transaction(). The DMA pointer of the channel
...
was being unconditionally dereferenced but was NULL for PIO requests.
Check the request flags for a DMA transaction before dereferencing.
Reported by: ceri
Tested by: Radek Kozlowski <radek -at- raadradd.com>
2004-08-06 22:23:53 +00:00
Søren Schmidt
7e6d75884f
Try to narrow down the race window on HW that does not have ways to
...
poll for which channel actually pulled the irq line.
2004-08-05 21:13:41 +00:00
Søren Schmidt
d5a9dcbf23
Add firmware revision to probe printf.
2004-08-05 21:11:33 +00:00
Søren Schmidt
601d3a344e
Change the default to switch on DMA on ATAPI devices if they can
...
do UDMA2 (ATA33) mode and beyond.
2004-08-01 12:31:38 +00:00
Søren Schmidt
eaf8d2de9e
Fix the panic (""memory modified after free") when ata_getparam() fails
...
and retries.
Found by: Nate Lawson
2004-07-31 10:29:29 +00:00
Søren Schmidt
b4d89b2e0f
Fix the reset sequence for sx4/sx4000 type controllers, it could hang the
...
chip in an indefinite state.
2004-07-30 13:33:09 +00:00
Søren Schmidt
a4c3e742b7
Refine the wait for ATAPI_RESET.
...
Properly wait for not busy and introduce a timeout for devices not
setting busy (as they should).
Leave a printf in there that states how long the wait was, as I'd like
to get an idea of the variations here. The time needed seems also to be
affected by whether a medium is present or not.
2004-07-24 19:03:28 +00:00
Søren Schmidt
426fc84503
Dont expect interrupt from ATAPI_RESET, it doesn't deliver one.
2004-07-23 17:01:47 +00:00
Søren Schmidt
4ad91b11e7
Dont set "address setup timing" on newer VIA chips.
...
closes PR: 69180
2004-07-17 14:48:46 +00:00
Søren Schmidt
cc97de873c
Attempt to handle suspend/resume better.
2004-07-12 10:50:50 +00:00
Søren Schmidt
3e3807252b
Remove leftover debug output.
2004-06-30 09:22:47 +00:00
Søren Schmidt
dfc7e0081f
Add support for LSI type software RAID's.
...
Made possible by: John Cagle @ HP
2004-06-25 21:21:59 +00:00
Søren Schmidt
29dc49f725
Use the right ordering of args on mtx_init(). No functional changes
...
since the args in question was all zero's.
Found by: Jimmy Olgeni <olgeni@FreeBSD.org>
2004-06-22 11:18:25 +00:00
Brian Feldman
5fd2bb173d
Call the detach function with g_waitfor_event() so that it can access
...
the GEOM topology.
There are still issues with not detaching from cam correctly such that
upon a device detach there's an invalid pointer dereference from the
later call to cam_rescan().
2004-06-21 20:42:03 +00:00
Søren Schmidt
b2c082c98b
Up SiI reset wait a bit, some devices got lost.
2004-06-17 21:36:10 +00:00
Brian Feldman
3c632a5847
atapicam(4) is currently off by three orders of magnitude regarding the
...
timeout values in the CAM CCBs. Divide by 1000 to get values in seconds
which are what ata(4) timeouts internally use.
This does lose granularity, though, and small values can now round down
to zero. It's probably worth making all ata(4) timeouts in terms of
hz/ticks/milliseconds/something.
2004-06-17 07:29:56 +00:00
Poul-Henning Kamp
89c9c53da0
Do the dreaded s/dev_t/struct cdev */
...
Bump __FreeBSD_version accordingly.
2004-06-16 09:47:26 +00:00
Søren Schmidt
821b5752b3
Oops, backout debug code..
2004-06-15 11:38:48 +00:00
Søren Schmidt
ebb6fc23c2
Dont set prefetch etc on VIA chips, causes problems on newer chips and
...
ATAPI devices.
2004-06-15 11:16:36 +00:00
Søren Schmidt
ca5d21e917
Increase robustness of SATA handling.
2004-06-15 11:02:09 +00:00