#
13014ca0 |
| 09-Oct-2008 |
Søren Schmidt <sos@FreeBSD.org> |
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled
This is the roumored ATA modulerisation works, and it needs a little 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.
show more ...
|
#
6268666c |
| 26-Jan-2010 |
Alexander Motin <mav@FreeBSD.org> |
Add support for SATA part of Marvell 88SE912x controllers to ahci(4). Limit early revisions from 6Gb/s to 3Gb/s by default, or they negotiate only 1.5Gbps, when 3Gb/s devices connected.
Add dummy dr
Add support for SATA part of Marvell 88SE912x controllers to ahci(4). 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.
show more ...
|
#
9199c09a |
| 06-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge from head at r201628.
# This hasn't been tested, and there are at least three bad commits # that need to be backed out before the branch will be stable again.
|
#
066f913a |
| 06-Dec-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFp4: 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 interfac
MFp4: 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)
show more ...
|
Revision tags: release/8.0.0_cvs, release/8.0.0 |
|
#
6bd8779b |
| 16-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Change the way in which AHCI+PATA combined controllers, such as JMicron and Marvell handled. Instead of trying to attach two different drivers to single device, wrapping each call, make one of them (
Change the way in which AHCI+PATA combined controllers, such as JMicron 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.
show more ...
|
#
3f809d7a |
| 13-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add support for SATA ports on SATA+PATA Marvell controllers. These controllers provide combination of AHCI for SATA and legacy PCI ATA for PATA. Use same solution as used for JMicron controllers. Add
Add support for SATA ports on SATA+PATA Marvell controllers. 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
show more ...
|
#
874108ae |
| 12-Nov-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
MFC @199204
|
#
25dd82a3 |
| 31-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
Allow newly added controllers to use full I/O sizes.
|
#
ebbb35ba |
| 31-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFp4: - Remove most of direct relations between ATA(4) peripherial and controller levels. It makes logic more transparent and is a mandatory step to wrap ATA(4) controller level into ATA-native CAM S
MFp4: - Remove most of direct relations between ATA(4) peripherial and controller levels. It makes logic more transparent and is a mandatory step to wrap ATA(4) controller level into ATA-native CAM SIM. - Tune AHCI and SATA2 SiI drivers memory allocation a bit to allow bigger I/O transaction sizes without additional cost.
show more ...
|
#
6aca3a5d |
| 30-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add support for different request block format used by Gen-IIe Marvell SATA. This adds support for Marvell 6042/7042 chips and Adaptec 1430SA controller.
|
#
1ee774f6 |
| 02-Oct-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC
|
#
46403485 |
| 22-Sep-2009 |
Marius Strobl <marius@FreeBSD.org> |
- Add missing bus_dmamap_sync(9) calls for the work DMA map. Previously the work area was totally unsynchronized which means this driver only had a chance of working on x86 when no bounce buffers
- Add missing bus_dmamap_sync(9) calls for the work DMA map. Previously the work area was totally unsynchronized which means this driver only had a chance of working on x86 when no bounce buffers were involved, which isn't that likely given that support for 64-bit DMA is currently broken throughout ata(4). - Add necessary little-endian conversion of accesses to the work area, making this driver work on big-endian hosts. While at it, use the alignment-agnostic byte order encoders in order to be on the safe side. - Clear the reserved member of the SG list entries in order to be on the safe side. [1]
Submitted by: yongari [1] Reviewed by: yongari MFC after: 3 days
show more ...
|
#
67784314 |
| 08-Sep-2009 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Revert previous commit and add myself to the list of people who should know better than to commit with a cat in the area.
|
#
b34421bf |
| 08-Sep-2009 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add necessary include.
|
#
11e9b8ba |
| 04-Aug-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC @196061
|
#
45a30a41 |
| 13-Jul-2009 |
Alexander Motin <mav@FreeBSD.org> |
Fix Marvel SATA controllers operation, broken by rev. 188765, by using uninitialized variable.
Tested by: Chris Hedley Approved by: re (kensmith)
|
#
09c817ba |
| 03-Jul-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC
|
#
f95dcaae |
| 24-Jun-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFp4: Reduce default PCI ATA drivers priorities from absolute to default, to allow them been overriden. It was so before modularization.
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
9c797940 |
| 13-Apr-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
9cf4fe2e |
| 31-Mar-2009 |
Alexander Motin <mav@FreeBSD.org> |
Integrate user/mav/ata branch:
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
Integrate user/mav/ata branch:
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
show more ...
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
9373e7bb |
| 04-Mar-2009 |
Robert Noland <rnoland@FreeBSD.org> |
Remove the local management of INTx as this is now taken care of by pci.
Reviewed by: jhb MFC after: 3 days
|
#
78d15416 |
| 19-Feb-2009 |
Alexander Motin <mav@FreeBSD.org> |
Quite mechanical ch_detach implementations for all atapci subdrivers. Some dmainit call fixes for previous commit.
|
#
04ff88ce |
| 18-Feb-2009 |
Alexander Motin <mav@FreeBSD.org> |
As soon as they called in only same one place (ata_pcichannel_attach()), join allocate() and dmainit() atapci subdriver's channel initialization methods into single ch_attach() method.
As opposite t
As soon as they called in only same one place (ata_pcichannel_attach()), 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.
show more ...
|
Revision tags: release/6.4.0_cvs, release/6.4.0 |
|
#
5941227f |
| 25-Nov-2008 |
Rui Paulo <rpaulo@FreeBSD.org> |
Add support for Marvell PATA M88SX6121.
PR: 129154 Submitted by: João Barros <joao.barros at gmail.com> MFC after: 1 month
|