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