summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/chipsets/ata-acerlabs.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r280451:mav2015-08-221-6/+0
| | | | | | | Remove from legacy ata(4) driver support for hardware, supported by newer and more functional drivers ahci(4), siis(4) and mvs(4). This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
* MFC r280393: Reduce priority of ATA/SATA drivers.mav2015-04-061-1/+1
| | | | | Legacy ata(4) -> BUS_PROBE_LOW_PRIORITY; more functional ahci(4), siis(4), mvs(4) -> BUS_PROBE_DEFAULT; BUS_PROBE_VENDOR leave for vendor drivers.
* Pass proper memory type to free() in ata_ali_chipinit().mav2013-06-181-1/+1
| | | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
* - With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) relatedmarius2013-04-061-1/+0
| | | | | | | | | option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h. - Fix stand-alone build of atacore(4) by adding opt_cam.h. - Use __FBSDID. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* Remove all legacy ATA code parts, not used since options ATA_CAM enabled inmav2013-04-041-2/+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
* Remove duplicate const specifiers in many drivers (I hope I got all ofdim2012-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | them, please let me know if not). Most of these are of the form: static const struct bzzt_type { [...list of members...] } const bzzt_devs[] = { [...list of initializers...] }; The second const is unnecessary, as arrays cannot be modified anyway, and if the elements are const, the whole thing is const automatically (e.g. it is placed in .rodata). I have verified this does not change the binary output of a full kernel build (except for build timestamps embedded in the object files). Reviewed by: yongari, marius MFC after: 1 week
* - First pass at const'ifying ata(4) as appropriate.marius2012-03-211-4/+5
| | | | | | | - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers MFC after: 1 week
* Using ATA_CAM along with ATAPI DMA causes data corruption with ALI_NEWmarius2012-01-271-0/+4
| | | | | | and CMD controllers for reasons unknown so disable it. PR: 164226
* Convert files to UTF-8uqs2012-01-151-1/+1
|
* - Use mutex to serialize index/data register pair usage, whenmav2011-07-221-1/+24
| | | | | | | | | | | | 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
* Make hw.ata.ata_dma_check_80pin tunable affect not only device side, butmav2010-07-101-1/+1
| | | | | | also controller side cable checks. Make respective sysctl writable. PR: kern/143462
* Fix use after free on error.mav2010-06-051-0/+1
| | | | | Found with: Coverity Prevent(tm) CID: 4722
* For early ALI chips do not announce I/O sizes that require unsupportedmav2010-04-141-1/+4
| | | | 48bit DMA commands.
* - Add ALI M5228 PATA ID.mav2010-03-011-1/+2
| | | | - Add missed DMA initialization for ALI SATA chips.
* Only set ATA_CHECKS_CABLE for chip versions that actually supportmarius2009-12-131-1/+2
| | | | | | | cable detection, i.e. neither for ALI_OLD nor for ALI_NEW revisions >= 0xc7. MFC after: 1 week
* Properly support M5229 revision 0xc7 and 0xc8:marius2009-12-131-5/+8
| | | | | | | | | | - These revisions no longer have cable detection capability. - The UDMA support bit of register 0x4b has been dropped without an replacement. - According to Linux it's crucial for working ATAPI DMA support to also set the reserved bit 1 of regsiter 0x53 with these revisions. MFC after: 1 week
* MFp4:mav2009-12-061-53/+45
| | | | | | | | | | | | | | | | | | 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)
* Revert previous commit and add myself to the list of people who shouldphk2009-09-081-1/+0
| | | | know better than to commit with a cat in the area.
* Add necessary include.phk2009-09-081-0/+1
|
* MFp4:mav2009-06-241-1/+1
| | | | | Reduce default PCI ATA drivers priorities from absolute to default, to allow them been overriden. It was so before modularization.
* Preallocate the four BARs in ALI SATA controllers during the chipinitjhb2009-06-101-12/+31
| | | | | | | | | routine and save the resources using a chipset-data structure. Use these preallocated resources to setup resources for the SATA channels to avoid asking the PCI bus to allocate the same BAR multiple times. Tested by: bms MFC after: 1 week
* Remove the local management of INTx as this is now taken care of by pci.rnoland2009-03-041-4/+0
| | | | | Reviewed by: jhb MFC after: 3 days
* Quite mechanical ch_detach implementations for all atapci subdrivers.mav2009-02-191-0/+2
| | | | Some dmainit call fixes for previous commit.
* As soon as they called in only same one place (ata_pcichannel_attach()),mav2009-02-181-7/+7
| | | | | | | | 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.
* This is the roumored ATA modulerisation works, and it needs a little ↵sos2008-10-091-0/+307
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.
OpenPOWER on IntegriCloud