839 Commits

Author SHA1 Message Date
sos
7dd85e5dc3 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
sos
caaf3d4c8e 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
sos
9178faa91c 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
sos
1408d92f09 Apply the usual woodoo for 64bitness. 2005-06-06 15:49:09 +00:00
sos
5211f7a307 Add support for nVidia's software RAID "MediaShield".
HW Sponsored by:	Yahoo!
2005-06-06 13:35:24 +00:00
sos
d5b041c0d9 Make nVidia SATA hotplug support DTRT.
HW sponsored by: Yahoo!
2005-06-05 21:18:26 +00:00
sos
86f5e64b88 Unbreak the ICH6 AHCI support in !48Bit mode. 2005-06-05 18:37:56 +00:00
sos
b33daefd83 Make certain the the 48bit flag is reset if we dont translate LBA. 2005-05-17 12:31:54 +00:00
sos
c05a9b3913 longer used (contents added to sys/ata.h) 2005-05-16 13:39:49 +00:00
sos
05399c3127 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
sos
84c444f8a4 Cleanup comments 2005-05-13 10:25:19 +00:00
sos
9f93814a13 Fix more ATAPI breakage.
Apparently some devices are very picky on details :)
2005-05-13 07:58:05 +00:00
sos
aa499335a7 Add new Intel PCI ID's for the ICH7 chips (untested). 2005-05-11 18:29:15 +00:00
sos
eae1ea62ec 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
sos
27408da2e3 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
sos
eb109cd6d5 Fix ATAPI DMA. We need to set the proper flags for DMA modes. 2005-05-11 12:41:35 +00:00
sos
ce43d827c2 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
sos
d1f3a4ab40 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
sos
2d7b156b4f 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
sos
987cd7bedc 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
sos
859b992e3d 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
sos
44e51c4adc 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
sos
77e24e4928 Provide a default setmode method.
This shaves off multiple copies of the same setmode stub.
2005-04-28 22:15:44 +00:00
sos
99fa5be8ed Rearrange the way the reset code is called.
Prepare for different looking controllers.
2005-04-28 22:08:08 +00:00
sos
ab882dca1f 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
sos
0841bd55a7 Cosmetics 2005-04-25 07:57:04 +00:00
sos
59f595842e 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
sos
50df456889 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
sos
01d6e824de When a rebuild is done, properly mark the arrays as functional again. 2005-04-20 14:14:08 +00:00
sos
05ce5bbeb6 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
sos
6762159f44 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
sos
046acb18c8 Fix indentation problem in the last commit 2005-04-19 05:28:08 +00:00
phk
b7f29c0fc0 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
sos
97d6dd54fd Add uma zone for composite ops.
Submitted by:	des
2005-04-18 16:01:56 +00:00
sos
47b4ce0270 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
sos
2cb9485db2 Add one more Promise SATAII/150 chip id. 2005-04-17 13:37:57 +00:00
sos
01a15eb8cb Spell ATA_NFORCE4_S2 correctly. 2005-04-16 20:03:49 +00:00
sos
e9c922da28 Make things compile again with ATA_STATIC_ID. 2005-04-15 14:19:41 +00:00
sos
b22bb8078c 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
sos
08ff41b73d Read back the real taskfile register values when in 48BIT mode. 2005-04-14 08:48:45 +00:00
sos
9d28f86771 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
sos
9e1c558a88 On amd64 int64_t != long long. 2005-04-12 15:24:00 +00:00
sos
3660e2566d Better use the right name for the VIA software RAID. 2005-04-12 13:29:47 +00:00
sos
a06da1c3b9 Add support for VIA Tech metadata as used on thier SATA parts. 2005-04-12 12:25:27 +00:00
sos
ccda085fe1 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
sos
b999703730 Fix the bug that caused SATA disks on VIA etc to fail attach. 2005-04-11 20:28:15 +00:00
sos
2c608a89b2 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
sos
ae0acb41f1 Fix FreeBSD native SPAN arrays.
Prodded by: Ian Dowse
2005-04-10 21:39:25 +00:00
sos
88401dacc6 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
scottl
f3360984ab Explicity make atapi-cam depend on CAM.
Submitted by: Michal Mertl
2005-04-08 22:51:50 +00:00