summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-pci.h
Commit message (Collapse)AuthorAgeFilesLines
* Convert rman to use rman_res_t instead of u_longjhibbits2016-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long. This is step one in migrating rman to use uintmax_t for resources instead of u_long. Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API. This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI. Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
* Remove from legacy ata(4) driver support for hardware, supported by newermav2015-03-241-76/+0
| | | | | | and more functional drivers ahci(4), siis(4) and mvs(4). This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
* Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.mav2014-11-261-0/+13
| | | | MFC after: 1 week
* Add another PCI ID for JMB368 PATA controller.mav2014-10-201-0/+1
| | | | MFC after: 1 week
* Add some more IDs for Intel ATA, AHCI and USB controllers.mav2013-11-151-0/+15
|
* Add new Coleto Creek device support: SATA, SMBus, and Watchdog devices.jfv2013-07-191-0/+4
| | | | MFC after: 1 week
* Remove all legacy ATA code parts, not used since options ATA_CAM enabled inmav2013-04-041-3/+0
| | | | | | | | | most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM. No objections: current@, stable@ MFC after: never
* Add Intel Lynx Point PCH SATA Controller Device IDsjfv2013-01-021-0/+13
|
* Add IDs for SATA controllers on AMD Hudson-2 series chipsets.mav2012-12-121-0/+6
| | | | | | | I am not exactly sure about the naming due to lack of specs on AMD site, but it is better to have some identification then none at all. MFC after: 1 month
* Add IDs for JMicron JMB360/JMB362 AHCI SATA controllers.mav2012-08-301-0/+1
| | | | MFC after: 1 week
* - First pass at const'ifying ata(4) as appropriate.marius2012-03-211-8/+7
| | | | | | | - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers MFC after: 1 week
* Remove remnants of ATA_LOCKING uses in the ATA_CAM case and wrap itmarius2012-03-211-0/+2
| | | | | | | | | | | | | | | along with functions, SYSCTLs and tunables that are not used with ATA_CAM in #ifndef ATA_CAM, similar to the existing #ifdef'ed ATA_CAM code for the other way around. This makes it easier to understand which parts of ata(4) actually are used in the new world order and to later on remove the !ATA_CAM bits. It also makes it obvious that there is something fishy with the C-bus front-end as well as in the ATP850 support, as these used ATA_LOCKING which is defunct in the ATA_CAM case. When fixing the former, ATA_LOCKING probably needs to be brought back in some form or other. Reviewed by: mav MFC after: 1 week
* Fix names of some Marvell SATA chips. It looks like chips with proprietarymav2012-03-021-6/+6
| | | | | | | | interface supported by mvs(4) are 88SX, while AHCI-like chips are 88SE. PR: kern/165271 Submitted by: Jia-Shiun Li <jiashiun@gmail.com> MFC after: 1 week
* Convert files to UTF-8uqs2012-01-151-1/+1
|
* Add 0x2826 device ID for C600 (Patsburg) SATA controller in RAID mode.jimharris2012-01-061-0/+1
| | | | | Reviewed by: mav Approved by: scottl
* Add PCI IDs for the Intel ICH9M SATA controllers.mav2011-12-141-0/+4
| | | | MFC after: 2 weeks
* Some dmesg cosmetics:mav2011-10-241-0/+2
| | | | | | - for the legacy PCI ATA channels move channel number out of the device description, same as it is for ahci(4), siis(4) and mvs(4); - add device description for the ISA ATA channels.
* - Use mutex to serialize index/data register pair usage, whenmav2011-07-221-0/+3
| | | | | | | | | | | | accessing SATA registers. Unserialized access under heavy load caused wrong speed reporting and potentially could cause device loss. - To free memory and other resources (including above), allocated during chipinit() method call on attach, add new chipdeinit() method, called during driver detach. Submitted by: Andrew Boyer <aboyer@averesystems.com> (initial version) Approved by: re (kib) MFC after: 1 week
* Chipset support for the new Intel Panther Point PCH, thanksjfv2011-05-111-0/+13
| | | | to Seth Heasley for preparing the changes.
* - Fix mapping of the last two SATA ports on 6-port Intel controllers.mav2011-04-211-1/+1
| | | | | | This improves hard-reset and hot-plug on these ports. - Device with ID 0x29218086 is a 2-port variant of ICH9 in legacy mode. Skip probing for nonexistent slave devices there.
* Support for the new Patsburg PCH chipset:jfv2011-02-011-0/+6
| | | | | | | | | | | - SMBus Controller - SATA Controller - HD Audio Controller - Watchdog Controller Thanks to Seth Heasley (seth.heasley@intel.com) for providing us code. MFC after 3 days
* Support for the new DH89xxCC PCH chipset including:jfv2011-01-311-0/+1
| | | | | | - SATA controller - Watchdog timer - SMBus controller
* Add IDs for VIA VX900 chipset SATA controller.mav2010-11-171-0/+3
| | | | (Missed part of r215428)
* Add Intel Cougar Point PCH SATA Controller DeviceIDs. Correct some existingmav2010-08-281-0/+23
| | | | | | | entries for Intel Ibex Peak (5 Series/3400 Series) PCH SATA controllers. Submitted by: jfv@ MFC after: 1 week
* Report ATA/SATA channel number to NewBus at location string.mav2010-05-221-0/+3
|
* - Add ALI M5228 PATA ID.mav2010-03-011-0/+1
| | | | - Add missed DMA initialization for ALI SATA chips.
* Add support for SATA part of Marvell 88SE912x controllers to ahci(4).mav2010-01-261-0/+1
| | | | | | | | | Limit early revisions from 6Gb/s to 3Gb/s by default, or they negotiate only 1.5Gbps, when 3Gb/s devices connected. Add dummy driver for PATA part of these controllers, preventing generic driver attach them. It causes system freeze when SATA controller used after PATA was touched.
* Add support for Intel SCH PATA controller.mav2009-12-221-0/+1
| | | | PR: kern/140251
* Add VIA CX700/VX800 chipsets SATA/PATA support.mav2009-12-201-0/+5
| | | | | PR: kern/121521 Tested by: Alex Deiter
* MFp4:mav2009-12-061-3/+4
| | | | | | | | | | | | | | | | | | Introduce ATA_CAM kernel option, turning ata(4) controller drivers into cam(4) interface modules. When enabled, this options deprecates all ata(4) peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers (ada, cd, ...) and interfaces to be natively used instead. As side effect of this, ata(4) mode setting code was completely rewritten to make controller API more strict and permit above change. While doing this, SATA revision was separated from PATA mode. It allows DMA-incapable SATA devices to operate and makes hw.ata.atapi_dma tunable work again. Also allow ata(4) controller drivers (except some specific or broken ones) to handle larger data transfers. Previous constraint of 64K was artificial and is not really required by PCI ATA BM specification or hardware. Submitted by: nwitehorn (powerpc part)
* Change the way in which AHCI+PATA combined controllers, such as JMicronmav2009-11-161-7/+12
| | | | | | | | | | | | | | and Marvell handled. Instead of trying to attach two different drivers to single device, wrapping each call, make one of them (atajmicron, atamarvell) attach do device solely, but create child device for AHCI driver, passing it all required resources. It is quite easy, as none of resources are shared, except IRQ. As result, it: - makes drivers operation more independent and straitforward, - allows to use new ahci(4) driver with such devices, adding support for new features, such as PMP and NCQ, same time keeping legacy PATA support, - will allow to just drop old ataahci driver, when it's time come.
* Add support for SATA ports on SATA+PATA Marvell controllers.mav2009-11-131-0/+3
| | | | | | These controllers provide combination of AHCI for SATA and legacy PCI ATA for PATA. Use same solution as used for JMicron controllers. Add IDs of Marvell 88SX6102, 88SX6111. 88SX6141 alike controllers
* Add more ICH10 chip IDs.mav2009-11-091-0/+4
| | | | Submitted by: Dmitry S. Luhtionov <mitya@cabletv.dp.ua>
* Add IDs for nVidia MCP65/77/79/89 SATA conntrollers.mav2009-11-021-1/+45
|
* Add support for different request block format used by Gen-IIe Marvell SATA.mav2009-10-301-0/+3
| | | | This adds support for Marvell 6042/7042 chips and Adaptec 1430SA controller.
* Add two more VIA SATA chip IDs.mav2009-10-261-0/+2
| | | | PR: kern/135057
* Move non-PCI prototypes from ata-pci.h -> ata-all.h.raj2009-06-241-13/+0
| | | | | | | | This removes unnecessary PCI #includes dependency for systems with ATA controllers living at non-PCI buses. Submitted by: Piotr Ziecik Obtained from: Semihalf
* Add another PCI id for Nvidia nForce MCP67, found in several Acer laptops.ariff2009-06-081-0/+1
|
* - Add a void pointer to the ata-pci controller softc to allowjhb2009-05-141-0/+1
| | | | | | | | | | | | | chipset-specific code to attach chipset-specific data. - Use chipset-specific data in the acard and promise chipsets rather than changing the ivars of ATA PCI devices. ivars are reserved for use by the parent bus driver and are _not_ available for use by devices directly. This fixes a panic during sysctl -a with certain Promise controllers with ACPI enabled. Reviewed by: mav Tested by: Magnus Kling (kingfon @ gmail) (on 7) MFC after: 3 days
* Add ID of one more SII3132 revision found on adaptec aar-1225sa rev a2.mav2009-05-071-0/+1
| | | | PR: kern/127289
* - Always force AHCI mode on a ATI/AMD SB600/700/800 SATA controller. Thesejkim2009-04-271-0/+6
| | | | | | | | | | | | | controllers may be configured as legacy IDE mode by modifying subclass and progif without actually changing PCI device IDs. Instead of complicating code, we always force AHCI mode while probing. Also we restore AHCI mode while resuming per ATI/AMD register programming/requirement guides. - Fix SB700/800 "combined" mode. Unlike SB600, this PATA controller can combine two SATA ports and emulate one PATA channel as primary or secondary depending on BIOS configuration. When the combined mode is disabled, this channel disappears and it works just like SB600 PATA controller, however. - Add more PCI device IDs for SB700/800 and adjust device descriptions. SB800 shares the same PCI device IDs and added two more SATA IDs.
* Integrate user/mav/ata branch:mav2009-03-301-1/+7
| | | | | | | | | | | Add ch_suspend/ch_resume methods for PCI controllers and implement them for AHCI. Refactor AHCI channel initialization according to it. Fix Port Multipliers operation. It is far from perfect yet, but works now. Tested with JMicron JMB363 AHCI + SiI 3726 PMP pair. Previous version was also tested with SiI 4726 PMP. Hardware sponsored by: Vitsch Electronics / VEHosting.nl
* Improve ata_reinit():mav2009-02-211-10/+0
| | | | | | | | | | | | | | - protect againtst recursions, - add new devices detection using ata_identify(). Improve ata_identify(): - do not add duplicate device if device already exist. Rework SATA hot-plug events handling. Instead of unsafe duplicate implementation use common ata_reinit() to handle all state changes. All together this gives quite stable and robust cold- and hot-plug operation, invariant to false, lost and duplicate events.
* Handle nForce MCP67 and MCP73 SATA controllers as AHCI. They report itselfmav2009-02-201-0/+24
| | | | | | | as ATA RAID, but generic ATAPCI driver unable to detect drives there. AHCI driver reported to handle them fine. Linux does the same. Submitted by: Andrey V. Elsukov on stable@
* Quite mechanical ch_detach implementations for all atapci subdrivers.mav2009-02-191-1/+4
| | | | Some dmainit call fixes for previous commit.
* As soon as they called in only same one place (ata_pcichannel_attach()),mav2009-02-181-4/+4
| | | | | | | | join allocate() and dmainit() atapci subdriver's channel initialization methods into single ch_attach() method. As opposite to ch_attach() add new ch_detach() method to deallocate/disable channel.
* Give atapci knowledge about set of implemented AHCI ports. It is possiblemav2009-02-161-0/+1
| | | | | | to not allocate them after the recent ata channels enumeration changes. It allows to save some resources, not bother user with unexisting hardware and not check unimplemented ports status on every interrupt.
* Add initial single-vector MSI support into atapci driver.mav2009-02-151-0/+1
| | | | | | | Works fine with AHCI and theoretically other MSI capable devices. At this moment support disabled by default. To enable it, set "hint.atapci.X.msi=1" device hint.
* Call ata_legacy() only once on attach and save it's result. Scanning PCImav2008-12-161-0/+1
| | | | | | configuration registers (which are not going to change) on every interrupt looks expensive, especially when interrupt is shared. Profiling shows me 3% of time spent by atapci0 on pure network load due to IRQ sharing with em0.
* Restore AHCI suspend/resume support,mav2008-12-011-2/+2
| | | | broken with modularization commit (rev 183724).
OpenPOWER on IntegriCloud