aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata
Commit message (Collapse)AuthorAgeFilesLines
* MFC:Søren Schmidt2006-10-091-0/+1
| | | | | | | | | Add missing PCI ID for the acer m5288 Approved by: re@ Notes: svn path=/stable/6/; revision=163162
* MFC:Søren Schmidt2006-09-305-13/+29
| | | | | | | | | | | | | | CF devices are ATA not ATAPI. Add support for the ALI/ULI M5288 AHCI part Busmaster DMA address fix in VIA 6421 case Add support for a few more Serverworks and lookalikes chips If current_heads or current_sectors in the disk cap page are zero, dont try to use the current_ geometry. This avoids a panic with BIOS'n that sets these to zero. Format mask lacks one bit. Approved by: re@ Notes: svn path=/stable/6/; revision=162869
* This commit was manufactured by cvs2svn to create branch 'RELENG_6'.cvs2svn2006-09-161-0/+975
| | | | Notes: svn path=/stable/6/; revision=162355
* MFC: Sync with -current.Søren Schmidt2006-09-028-182/+365
| | | | | | | | | | | | | | Dont poll for ATA_IDLE on a detached channel in suspend. Add support for the Serverworks HT1000 chip. Finally fix support for the newer MCP51/MCP55 nVidia chipsets. Add support for the ICH8 and ESB2 chips, also add a few other missing ICH7 partsUpdate JMicron support to also work with chips where the PATA and SATA parts are on individual PCI functions. Add support for VIA 8237A. Add support for AHCI on the VIA VT8251. Dont call free on non-alloc'd items. Notes: svn path=/stable/6/; revision=161897
* MFC rev. 1.163 by sos:Gleb Smirnoff2006-08-101-7/+10
| | | | | | | | | Fix type casts so that we get at the right response queue. Submitted by: glebius+ru Notes: svn path=/stable/6/; revision=161165
* MFC rev. 1.120: s/PsuedoRAID/PseudoRAID/.Maxim Konovalov2006-05-011-1/+1
| | | | | | | Approved by: re (kensmith) Notes: svn path=/stable/6/; revision=158222
* MFC:Søren Schmidt2006-04-047-91/+66
| | | | | | | | Make the ATAPI sense data accessible when using the ioctl interface Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=157480
* MFC rev. 1.109: In afd_describe(), don't initialize sizestring.Marcel Moolenaar2006-04-021-1/+1
| | | | | | | Approved by: re (hrs@) Notes: svn path=/stable/6/; revision=157412
* MFC:Søren Schmidt2006-03-162-14/+21
| | | | | | | | | | Add support for the JMicron JMB361, 365 and 366 chips. HW and documentation kindly provided by JMicron. Approved by: re@ (mux) Notes: svn path=/stable/6/; revision=156786
* MFCSøren Schmidt2006-03-101-1/+1
| | | | | | | | missed line in last commit Approved by: re@ (implicit) Notes: svn path=/stable/6/; revision=156537
* MFC:Søren Schmidt2006-03-108-127/+160
| | | | | | | | | | | | | | | | | | Only use the channel in the request given to ata_completed if its still present. Only look for ICRC and CORR errors on ATA devices not ATAPI. 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. Update atapi-fd to support direct devices such as disks. ATAUSB will need to hook into the delayed boot identify to have interrupts running, so externalize it. Add USB modes. Approved by: re@ (mux) Notes: svn path=/stable/6/; revision=156535
* MFC:Søren Schmidt2006-03-014-64/+80
| | | | | | | | | | | | | | | | | | | | | | 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. 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. 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 the taskqueue finally calls us back with the now stale request. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=156168
* MFC:Søren Schmidt2006-02-197-109/+532
| | | | | | | | | | | | | Add support for the JMicron JMB363 dual SATA + single PATA controller. Add r/w support for JMicron ATA RAID metadata. Add a reset of the AHCI machinery to the ICH6/ICH7 support. Unbreak Promise SATAII/150 controllers caused by the DMA dump changes. Unbreak DMA dump on Intel 31224. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=155842
* MFC:Søren Schmidt2006-01-303-24/+119
| | | | | | | Add support for the JMicron JMB360 SATAII controller. Notes: svn path=/stable/6/; revision=155040
* MFC:Søren Schmidt2006-01-2522-1668/+2805
| | | | | | | | | | | | | | | | | | | | | | | | | | Bring ATA up to -current standards: Fix SiS SATA support, the SATA registers was off. Update the ICH7 support so it deals better with chips without AHCI. Unbreak hotplug support on the ICH6 and ICH7 chipsets. Add support for VIA VT8251 southbridge. Add new nVidia nForce4 chips. Add support for the Marvell 88SX[56]0[48][01] series of SATA chips. Fix the promise modesetting for old chips. Get rid of the advertising clause in the copyright. Add support for using DMA on dump, greatly speeds up the dump process. When IOCATAGPARM is called, update the capabilities page that is stored in the kernel and return the new values. Fix rebuilds of arrays that got stuck. Add dump support in ataraid. Add support for for reading and writing SiS metadata. Add support for writing VIA metadata. Add support for writing Intel metadata. Correct calculation of RAID0 sizes on VIA RAID arrays. Update Intel MatrixRAID support to be able to pick up RAID0+1 (RAID10) Notes: svn path=/stable/6/; revision=154802
* MFC:Søren Schmidt2005-10-271-6/+10
| | | | | | | | | | | 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. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=151737
* Disable RAID5 for the release.Søren Schmidt2005-10-131-17/+9
| | | | | | | | | | The RIAD5 code is not complete, it does not use nor maintain the parity, so it does actually only do RAID0. This is not wanted for a production release. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=151278
* MFC:Søren Schmidt2005-10-134-1/+126
| | | | | | | | | Add support for ATI IXP[234]00 series chipsets. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=151277
* MFC:Søren Schmidt2005-10-122-19/+24
| | | | | | | | | | Properly react to allocation failures. Correct the former patch to the way it would have looked after review. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=151268
* MFC revision 1.181Peter Edwards2005-10-091-1/+7
| | | | | | | | | | | | | | 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 Approved by: re (scottl@) Notes: svn path=/stable/6/; revision=151185
* MFC:Søren Schmidt2005-10-073-11/+19
| | | | | | | | | | Add support for setting the SG list segment size. Use this for the SiI3112 workaround to get rid of the "oversized DMA" errors. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=151070
* MFC:Søren Schmidt2005-09-237-56/+117
| | | | | | | | | | | | | Harden the hotplug support for SATA devices. This also fixes a few races that was present in the timeout/detach code. Fix support for the VIA 6421 controller. Fixes the losage of some ATAPI device that reported failed probing. Fix problem finding the still working disk in a broken mirror on VIA. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=150491
* MFC:Søren Schmidt2005-08-257-44/+160
| | | | | | | | | | | | | | | | | | | | Add support for working around controllers that cannot do DMA in 48bit. The workaround use PIO mode above ~137GB to allow using the disk. Add the Acer chips with rev < 0xc4 as first candidate. Add support for the Promise PDC4071[89] chips on the Fasttrak TX4300. Docs kindly provided by Promise. Apply fix for "pr82261 DMA-support on Sparc64 broken" Use the bio field instead of the driver field as intended. Dont set default mode to ATA_DMA_MAX on devices not capable of DMA. Approved by: re@ (scottl) Notes: svn path=/stable/6/; revision=149461
* MFC:Søren Schmidt2005-08-074-10/+19
| | | | | | | | | | | | Remove stale struct ata_channel declaration Add support for the ITE IT8211F controller Dont limit all transfers to DEV_BSIZE (stale dbug code) Hide the loaded/unloaded message behind bootverbose Approved by: re@ Notes: svn path=/stable/6/; revision=148821
* Zero donecount on auto request sense.Søren Schmidt2005-06-281-0/+1
| | | | | | | | PR: 81450 Approved by: re@ (scottl) Notes: svn path=/head/; revision=147644
* Dont call ata_finish in ad_dump as that is no longer needed and causes panic.Søren Schmidt2005-06-271-10/+11
| | | | | | | | | | 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) Notes: svn path=/head/; revision=147627
* Eliminate unused argument in PCMCIA_CARD macro.Warner Losh2005-06-241-7/+7
| | | | | | | | | | | 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) Notes: svn path=/head/; revision=147580
* Avoid GCC optimizations from injecting a call to memset(?) in orderMarcel Moolenaar2005-06-111-1/+2
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=147292
* Enable SATA hotplug support.Søren Schmidt2005-06-101-0/+4
| | | | | | | Submitted by: Olivier Houchard Notes: svn path=/head/; revision=147230
* Fix the long standing problem with poor transferrates on Intel ICHH typeSøren Schmidt2005-06-091-2/+3
| | | | | | | | | chips. The DMA timing value was set on device 0 for all devices :/ Prodded by: Harald Schmalzbauer Notes: svn path=/head/; revision=147201
* Fix the register offset for the ATAPI count register thats used toSøren Schmidt2005-06-091-2/+2
| | | | | | | | | wrestle the older Promise chips to do 48bit addressing. Spotted by: Martin Birgmeier Notes: svn path=/head/; revision=147187
* Use the presence of ctlr->dmainit instead of r_res1 to find out when toSøren Schmidt2005-06-091-1/+1
| | | | | | | initialise DMA. Notes: svn path=/head/; revision=147167
* Add support for the Intel 31244.Søren Schmidt2005-06-082-81/+255
| | | | | | | | | | Most code by the submitters, hammered upon to get the right ATA fell by me. Submitted by: Olivier Houchard Submitted by: Jia-Shiun Li Notes: svn path=/head/; revision=147139
* Apply the usual woodoo for 64bitness.Søren Schmidt2005-06-061-2/+2
| | | | Notes: svn path=/head/; revision=147054
* Add support for nVidia's software RAID "MediaShield".Søren Schmidt2005-06-062-7/+257
| | | | | | | HW Sponsored by: Yahoo! Notes: svn path=/head/; revision=147052
* Make nVidia SATA hotplug support DTRT.Søren Schmidt2005-06-051-26/+27
| | | | | | | HW sponsored by: Yahoo! Notes: svn path=/head/; revision=147019
* Unbreak the ICH6 AHCI support in !48Bit mode.Søren Schmidt2005-06-051-2/+7
| | | | Notes: svn path=/head/; revision=147012
* Make certain the the 48bit flag is reset if we dont translate LBA.Søren Schmidt2005-05-171-2/+2
| | | | Notes: svn path=/head/; revision=146318
* longer used (contents added to sys/ata.h)Søren Schmidt2005-05-161-130/+0
| | | | Notes: svn path=/head/; revision=146268
* Change the way ioctls are issue to ATA.Søren Schmidt2005-05-1611-425/+398
| | | | | | | | | 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. Notes: svn path=/head/; revision=146266
* Cleanup commentsSøren Schmidt2005-05-135-22/+11
| | | | Notes: svn path=/head/; revision=146178
* Fix more ATAPI breakage.Søren Schmidt2005-05-131-3/+9
| | | | | | | Apparently some devices are very picky on details :) Notes: svn path=/head/; revision=146176
* Add new Intel PCI ID's for the ICH7 chips (untested).Søren Schmidt2005-05-112-2/+13
| | | | Notes: svn path=/head/; revision=146112
* Add support for AHCI compliant ATA devices.Søren Schmidt2005-05-112-14/+463
| | | | | | | | | For now just support the Intel ICH6 as that the HW at hand. Sponsored by: pair.com Notes: svn path=/head/; revision=146106
* Add back one line that got deleted in the last commit.Søren Schmidt2005-05-111-2/+4
| | | | | | | | | Change the comment there so it better describes whats going on. This should fix the boot problems of late. Notes: svn path=/head/; revision=146100
* Fix ATAPI DMA. We need to set the proper flags for DMA modes.Søren Schmidt2005-05-111-1/+3
| | | | Notes: svn path=/head/; revision=146096
* Reshape the dma code to be a bit more flexible so it can cope withSøren Schmidt2005-05-038-329/+289
| | | | | | | | | | new HW that has new and different demands. Fix a few nits in former commit in this cleanup crusade. Sponsored by: pair.com Notes: svn path=/head/; revision=145818
* Always attach a subdisk even if no valid metadata found.Søren Schmidt2005-05-021-1/+2
| | | | | | | This allows the disks to be used later in a raid create. Notes: svn path=/head/; revision=145789
* Update on the last commit, the dma* funciton needs to be called withSøren Schmidt2005-05-014-19/+19
| | | | | | | | a channel device, not an ata device, or we'll be out of luck in reset/timeout where we dont have a device. Notes: svn path=/head/; revision=145769
* Go back to the old way of finding the Promise metadata, the new way wasSøren Schmidt2005-05-011-1/+1
| | | | | | | too simple causing older controllers metadata to get lost. Notes: svn path=/head/; revision=145760