aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata/ata-chipset.c
Commit message (Collapse)AuthorAgeFilesLines
* This is the roumored ATA modulerisation works, and it needs a little ↵Søren Schmidt2008-10-091-6548/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | explanation. If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in. However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries: atacore: ATA core functionality, always needed for any ATA setup atacard: CARDBUS support atacbus: PC98 cbus support ataisa: ISA bus support atapci: PCI bus support only generic chipset support. ataahci: AHCI support, also pulled in by some vendor modules. ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets atadisk: ATA disk driver ataraid: ATA softraid driver atapicd: ATAPI cd/dvd driver atapifd: ATAPI floppy/flashdisk driver atapist: ATAPI tape driver atausb: ATA<>USB bridge atapicam: ATA<>CAM bridge This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file: device atacore device atapci device atavia And then you need the atadisk, atapicd etc lines in there just as usual. If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual. However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above. Notes: svn path=/head/; revision=183724
* Add ICH10 PCI id's.Søren Schmidt2008-10-021-53/+61
| | | | | | | | | Submitted by: Xin Li Fix the number of PATA ports on newer ICHX chips, they have just 1 port not 2. Notes: svn path=/head/; revision=183552
* Add support for the ITE 8213 controller.Søren Schmidt2008-09-261-51/+138
| | | | | | | | | | | | Thanks goes to ITE who provided docs and feedback and made this possible. Minor fixups to the Intel ICH code for bugs found while doing this. (ITE8213 is very semilar to an Intel ICH) MFC after: 1 week Notes: svn path=/head/; revision=183380
* Cleanup the AHCI code a bit.Søren Schmidt2008-09-181-54/+90
| | | | | | | | | Add suspend/resume for AHCI, general methods added. Inspired by: Andrey V. Elsukov Notes: svn path=/head/; revision=183141
* Add one more SII3132 chip PCI ID found on Adaptec Serial ATA II RAID 1220SA.Alexander Motin2008-09-041-0/+1
| | | | | | | Submitted by: Dmitry S. Luhtionov <mitya@cabletv.dp.ua> Notes: svn path=/head/; revision=182749
* Introduce a new loader tunable "hw.ata.ata_dma_check_80pin", defaulting to 1.Philip Paeps2008-08-151-0/+6
| | | | | | | | | | | | This can be used to disable the 80pin cable check on systems which forget to set the bit -- such as certain laptops and Soekris boards. PR: kern/114605 (somewhat reworked) Submitted by: marck MFC after: 1 week Notes: svn path=/head/; revision=181753
* Detect ATA controllers in the Macbook3.Remko Lodder2008-07-101-1/+2
| | | | | | | | | | PR: 118135 Submitted by: ed Approved by: imp (mentor, implicit) MFC after: 1 week Notes: svn path=/head/; revision=180437
* Driver failed to allocate MMIO resources. Attached patch adds a fallback path.Remko Lodder2008-07-091-4/+9
| | | | | | | | | | | | It uses generic IDE facilities if sii-specific allocations failed PR: 125421 Submitted by: Andrey V. Elsukov <bu7cher at yandex dot ru> Approved by: imp (mentor, implicit) MFC after: 1 week Notes: svn path=/head/; revision=180384
* Add new device id for ICH8M, which supports greater than UDMA33 modeRemko Lodder2008-07-091-0/+1
| | | | | | | | | | | | when it worked as generic IDE. PR: 125422 Submitted by: Andrey V. Elsukov <bu7cher at yandex dot ru> Approved by: imp (mentor, implicit) MFC after: 1 week Notes: svn path=/head/; revision=180383
* Add support for the ICH9 in non AHCI mode (RAID mode).Remko Lodder2008-07-091-0/+1
| | | | | | | | | | Submitted by: Andrey V. Elsukov <bu7cher at yandex dot ru> Tested by: Vitalij L. Fadeev <fvl at mail dot ru> Approved by: imp (mentor, implicit) MFC after: 1 week Notes: svn path=/head/; revision=180382
* Wait up to 1S for the TFD data to signal un-busy before fetching the signature.Søren Schmidt2008-06-111-3/+3
| | | | | | | | | This at least helps a few slow devices out there. Submitted by: Andrey V. Elsukov Notes: svn path=/head/; revision=179721
* Add HW level support for the Adaptec 1420SA controller.Søren Schmidt2008-04-211-0/+21
| | | | Notes: svn path=/head/; revision=178375
* Do not enable FIS based PM switching, even if not used some controllers barf.Søren Schmidt2008-04-211-2/+2
| | | | Notes: svn path=/head/; revision=178373
* Go back to preallocating everything possible on init.Søren Schmidt2008-04-171-26/+30
| | | | | | | | This avoids calling busdma in the request processing path which caused a traumatic performance degradation. Allocation has be postponed to after we know how many devices we possible can have on portmulitpliers to save some space. Notes: svn path=/head/; revision=178278
* Fix problem with slave devices.Søren Schmidt2008-04-141-3/+4
| | | | | | | | Fix or rather bring ENOMEM problems back to the state it was before. Temporarily disable PortMultipliers on AHCI devices. Notes: svn path=/head/; revision=178203
* Dont call hw.status recursively.Søren Schmidt2008-04-121-7/+5
| | | | | | | Spotted by: Marcel Moolenaar Notes: svn path=/head/; revision=178156
* Fix clearing of nVidia interrupts.Søren Schmidt2008-04-101-3/+11
| | | | Notes: svn path=/head/; revision=178077
* Add experimental support for SATA Port MultipliersSøren Schmidt2008-04-101-266/+797
| | | | | | | | | | Support is working on the Silicon Image SiI3124/3132. Support is working on some AHCI chips but far from all. Remember this is WIP, so test reports and (constructive) suggestions are welcome! Notes: svn path=/head/; revision=178067
* Add proper support for the SATA/AHCI part of IXP[67]00Søren Schmidt2008-03-071-12/+22
| | | | Notes: svn path=/head/; revision=176891
* Implement a workaround of the datacorruption problem on serverworks HT1000 ↵Søren Schmidt2007-12-131-25/+141
| | | | | | | | | | | | chipsets. The HT1000 DMA engine seems to not always like 64K transfers and sometimes barfs data all over memory leading to instant chrash and burn. Also fix 48bit adressing issues, apparently newer chips needs 16bit writes and not the usual fifo thing. HW donated by: Travis Mikalson at TerraNovaNet Notes: svn path=/head/; revision=174576
* Fix speed report on Intel SATA chips in compat mode.Søren Schmidt2007-12-071-3/+52
| | | | | | | Fix broken detect of JMicron 368. Notes: svn path=/head/; revision=174404
* Use device_set_desc_copy in the generic ident as its used on a temp buffer.Søren Schmidt2007-11-261-1/+1
| | | | Notes: svn path=/head/; revision=173950
* Add preliminary SATA ATAPI support for sii 3132/3124 chips.Søren Schmidt2007-11-231-38/+79
| | | | Notes: svn path=/head/; revision=173868
* Fix KASSERT messages.Kevin Lo2007-11-201-4/+4
| | | | Notes: svn path=/head/; revision=173768
* Try to workaound silicon bugs in Promise gen2 (ie TX4) chipsSøren Schmidt2007-11-191-1/+45
| | | | | | | | | Initial patch by Alexander Sabourenkov who found it in Promise's own driver. Further fixes and sanity checks by yours truely. Notes: svn path=/head/; revision=173754
* Fix the problem with certain ATAPI commands on AHCI devices.Søren Schmidt2007-11-191-4/+36
| | | | | | | | | | Revert the probe in atapi-cd.c to the old usage now its fixed on AHCI. THis change also fixes using virtual CD's om fx parallels. Still leaves the GEOM problem of telling media vs device access apart in the access function. Notes: svn path=/head/; revision=173753
* Add generic support for chipsets that say they support AHCI. This should ↵Søren Schmidt2007-11-181-124/+108
| | | | | | | | | | catch new chipsets that we dont know but that we should support. Add a few new PCI id's. Misc cleanups. Notes: svn path=/head/; revision=173734
* Fix the signature matching code on AHCI controllers.Søren Schmidt2007-10-261-29/+60
| | | | | | | Add SATA ATAPI support for AHCI controllers. Notes: svn path=/head/; revision=173012
* Add PCI ID for ICH9 AHCI w/ two adapters.Xin LI2007-10-091-0/+1
| | | | | | | | | Tested by: Abdullah Ibn Hamad Al-Marri <almarrie gmail com> Approved by: sos Approved by: re (kensmith) Notes: svn path=/head/; revision=172499
* Add support for the VIA 8237SSøren Schmidt2007-10-041-0/+2
| | | | | | | | | Fix the LBA28/LBA48 crossover bug. Approved by: re@ Notes: svn path=/head/; revision=172446
* Recognize the CS5536 support chip for the AMD Geode LX CPU to enablePoul-Henning Kamp2007-10-041-0/+1
| | | | | | | | | | | | | UDMA modes. Please notice that Soekris NET5501 bios versions before 1.32f has a bug that prevents this from working. Approved by: re (gnn) MFC: 2 weeks Notes: svn path=/head/; revision=172436
* Add PCI IDs for Intel ICH9.Simon L. B. Nielsen2007-09-101-0/+4
| | | | | | | | | | | PR: kern/114473 Submitted by: Michael Fuckner <michael@fuckner.net> MFC after: 2 weeks OK'ed by: sos Approved by: re (bmah) Notes: svn path=/head/; revision=172134
* Add support for the nVidia MCP61 series chipset.Søren Schmidt2007-06-251-0/+4
| | | | | | | Approved by: re (mux@) Notes: svn path=/head/; revision=171025
* Do not attempt to enable AHCI mode on ALi SATA controllers otherBruce M Simpson2007-06-131-1/+4
| | | | | | | | | | | | | | than the 5288. It is not correctly implemented in earlier silicon, and the BIOS often lies about AHCI capability on platforms where these chips are deployed. With this change I am able to boot FreeBSD on the ASUS Vintage AH-1 barebones system. Approved by: sos Notes: svn path=/head/; revision=170678
* Hopefully unbreak the 64bit DMA support this time.Søren Schmidt2007-04-081-4/+3
| | | | Notes: svn path=/head/; revision=168500
* Add 64bit addressing support to SiI 3132/3124Søren Schmidt2007-04-061-0/+2
| | | | Notes: svn path=/head/; revision=168432
* Remove debug gunk.Søren Schmidt2007-04-061-1/+0
| | | | Notes: svn path=/head/; revision=168431
* Add support for 64bit addressing to AHCI and Marvell controllers.Søren Schmidt2007-04-061-10/+19
| | | | | | | | | Munged into ATA shape and Marvell specifics my yours truely. Submitted by: jhb Notes: svn path=/head/; revision=168430
* Fix writes on siiprb type chips.Søren Schmidt2007-03-121-2/+6
| | | | Notes: svn path=/head/; revision=167488
* Fix support for the VIA8237A SATA part.Søren Schmidt2007-03-121-1/+1
| | | | | | | HW sponsored by: Bob Bishop Notes: svn path=/head/; revision=167479
* Add support for the Silicon Image SiI 3124 and SiI 3132.Søren Schmidt2007-03-091-17/+350
| | | | | | | HW donated by: Adriaan de Groot Notes: svn path=/head/; revision=167386
* More SATA phy/reset cleanup and simplification.Søren Schmidt2007-03-091-193/+77
| | | | | | | Fix a long standing bogon in the sii_reset code. Notes: svn path=/head/; revision=167378
* Refine ahci_status to be more simple.Søren Schmidt2007-03-081-43/+29
| | | | Notes: svn path=/head/; revision=167347
* Cleanup the channel/phy reset code.Søren Schmidt2007-03-081-129/+143
| | | | Notes: svn path=/head/; revision=167344
* Add support for the 3 (PATA) channel on the VIA 6421 chip.Søren Schmidt2007-03-011-41/+60
| | | | | | | HW donated by: Fabian Peters Notes: svn path=/head/; revision=167153
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-3/+3
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* Try again with supporting AHCI chipsets with partly implemented ports.Søren Schmidt2007-02-211-3/+11
| | | | Notes: svn path=/head/; revision=166877
* Temporarily disable the support for some incarnations of the ICH8 chip that hasSøren Schmidt2007-02-211-17/+7
| | | | | | | | | | non consecutively numbered ports. This should fix current SATA problems. Support AHCI chips where the ports are not consecutively numbered as in some incarnations of the ICH8 chip. Notes: svn path=/head/; revision=166871
* Support AHCI chips where the ports are not consecutively numbered as inSøren Schmidt2007-02-151-76/+103
| | | | | | | | some incarnations of the ICH8 chip. Also fix the panic introduced by the last commit. Notes: svn path=/head/; revision=166773
* Rearrange the SATA connect logic so that we so that we pickup ATAPI devices.Søren Schmidt2007-02-121-12/+4
| | | | | | | The rest of the logic should be in place for most supporting chipsets. Notes: svn path=/head/; revision=166661