Revision tags: release/5.2.1_cvs, release/5.2.1 |
|
#
73f80996 |
| 21-Feb-2004 |
Søren Schmidt <sos@FreeBSD.org> |
Check both PORTEN and MEMEN for enabled HW.
|
#
5df3ca78 |
| 14-Jan-2004 |
Søren Schmidt <sos@FreeBSD.org> |
Use UMA instead of plain malloc for getting ATA request storage. This gives +10% performance on simple tests, so definitly worth it. A few percent more could be had by not using M_ZERO'd alloc's, but
Use UMA instead of plain malloc for getting ATA request storage. This gives +10% performance on simple tests, so definitly worth it. A few percent more could be had by not using M_ZERO'd alloc's, but we then need to clear fields all over the place to be safe, and that was deemed not worth the trouble (and it makes life dangerous).
show more ...
|
#
a7a120f6 |
| 11-Jan-2004 |
Søren Schmidt <sos@FreeBSD.org> |
Overhaul of the timeout/reinit framework. This should clear up most of the leftovers from the old version that really doesn't work anymore.
Add a reset function for host-end of the ATA channel. This
Overhaul of the timeout/reinit framework. This should clear up most of the leftovers from the old version that really doesn't work anymore.
Add a reset function for host-end of the ATA channel. This is needed for the SiI3112 in order to whack it back to reality if a device locks up the SATA interface (thereby preventing that we can reset the device). The result is that ATA now recovers from the timeouts that happens with the SiI3112A and more or less all disks based on old PATA electronics with a Marvell PATA->SATA converter. This includes lots of the popular SATA dongles and the WDC Raptor disks..
show more ...
|
Revision tags: release/5.2.0_cvs, release/5.2.0 |
|
#
a5cd71ee |
| 09-Dec-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Add back the national support, this was removed by accident earlier.
|
#
45f13b84 |
| 28-Oct-2003 |
Søren Schmidt <sos@FreeBSD.org> |
This should allow us to boot with DMA enabled on unknown PCI ATA chipsets, well at least newer ones...
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
80344be5 |
| 21-Oct-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Fix the DMA problem that most severely hit on the DS3112a SATA chip in connection with Marvell based SATA->PATA dongles.
The problem was caused by a combination of things working together to make it
Fix the DMA problem that most severely hit on the DS3112a SATA chip in connection with Marvell based SATA->PATA dongles.
The problem was caused by a combination of things working together to make it hard to spot...
The ATA driver has always started the ATA command, then build the SG list for DMA and then finally started the DMA engine. While this is according to specs, it poses a potential problem as some controllers apparently do not allow for unlimitted time between starting the ATA command and starting the DMA engine.
At about the same time as ATAng was committed there were lots of other changes applied, some of which was locking in parts that causes the busdma load functions to take significantly longer to load the SG list.
This pushed the time spent between starting the ATA command and starting the DMA engine over the hill for some controllers (especially the Silicon Image DS3112a) and caused what looked like lost interrupts.
The solution is to get all the SG list work or rather all busdma related stuff done before we even try to start anything.
This has the nice side effect of seperating busdma out the way it should be, so the working of the ATA machinery is not cluttered up with busdma droppings, making the code easier to read and understand.
show more ...
|
#
2e7deb2b |
| 20-Oct-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Only return valid DMA error bits.
|
#
6419d0b0 |
| 25-Aug-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Cleanup the dma int/alloc/free code.
|
#
6c48d649 |
| 24-Aug-2003 |
Søren Schmidt <sos@FreeBSD.org> |
There is no detach func for PCI ATA devs.
|
#
aad970f1 |
| 24-Aug-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID(). Also some minor style cleanups.
|
#
5fdbb0d2 |
| 24-Aug-2003 |
Søren Schmidt <sos@FreeBSD.org> |
This is a major rework of the ATA driver (ATAng)
Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so l
This is a major rework of the ATA driver (ATAng)
Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so locking is much easier to handle.
The driver is now layered much more cleanly to seperate the lowlevel HW access so it can be tailored to specific controllers without touching the upper layers. This is needed to support some of the newer semi-intelligent ATA controllers showing up.
The top level drivers (disk, ATAPI devices) are more or less still the same with just corrections to use the new interface.
Pull ATA out from under Gaint now that locking can be done in a sane way.
Add support for a the National Geode SC1100. Thanks to Soekris engineering for sponsoring a Soekris 4801 to make this support.
Fixed alot of small bugs in the chipset code for various chips now we are around in that corner anyways.
show more ...
|
#
4fbd232c |
| 22-Aug-2003 |
Warner Losh <imp@FreeBSD.org> |
Prefer new location of pci include files (which have only been in the tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
|
#
e158f2b8 |
| 02-Jul-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Update the SATA support code to work more correctly with real SATA disks now that I can test it.
Add support for the SiI 3112 SATA chip using memory mapped I/O. Update the support for the SiI 0680 t
Update the SATA support code to work more correctly with real SATA disks now that I can test it.
Add support for the SiI 3112 SATA chip using memory mapped I/O. Update the support for the SiI 0680 to use the memio interface as well.
Sponsored by: David Leimbach <leimy2k@mac.com> (3112 based controller) Sponsored by: FreeBSD Systems (www.FreeBSDsystems.com) (SATA disks)
show more ...
|
#
c2833977 |
| 07-Jun-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Fix the setup of old Promise controllers, clocks was not setup right causing way too low transfer rates.
Enable interrupts on old CMD64[89] chips, apparently some bogus BIOS's doesn't get this right.
|
Revision tags: release/5.1.0_cvs, release/5.1.0 |
|
#
9c51ecf4 |
| 04-May-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Grap the ATA lock on all channels before suspend, this makes certain that we have no outstanding ops in transit, which would cause problems on resume.
|
#
db16c8c2 |
| 16-Apr-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Fix a panic with Cenatek controllers.
|
#
1b39bd24 |
| 07-Apr-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Third round of updates to the ATA driver.
More DMA cleanups, including fix for breakage on older Promise controllers.
Add more ways of getting to the ATA registers.
|
Revision tags: release/4.8.0_cvs, release/4.8.0 |
|
#
566cf07a |
| 29-Mar-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Second round of updates to the ATA driver.
Clean up the DMA interface too much unneeded stuff crept in with the busdma code back when.
Modify the ATA_IN* / ATA_OUT* macros so that resource and offs
Second round of updates to the ATA driver.
Clean up the DMA interface too much unneeded stuff crept in with the busdma code back when.
Modify the ATA_IN* / ATA_OUT* macros so that resource and offset are gotten from a table. That allows for new chipsets that doesn't nessesarily have things ordered the good old way. This also removes the need for the wierd PC98 resource functions.
Tested on: i386, PC98, Alpha, Sparc64
show more ...
|
#
2e6c2a10 |
| 25-Feb-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Properly teardown the interrupt so we wont panic on detach.
|
#
bb5bdd38 |
| 20-Feb-2003 |
Søren Schmidt <sos@FreeBSD.org> |
First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset t
First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work!
Tested on: i386, PC98, alpha and sparc64
show more ...
|
#
18886947 |
| 19-Jan-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Add support for the ServerWorks CSB6. The support for the 3'rd channel is only experimental.
|
#
15fa4bd5 |
| 19-Jan-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Fix the 48bit access support for the older Promise 66/100 controllers, the first attempt was wrong and could cause r/w timeouts.
Add yet another Promise PCI id.
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
fb02f8ee |
| 08-Jan-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Dont attach a Promise chip located behind a i960 bridge/chip. This makes it possible to run a Promise SuperTrak SX6000 with OS type set to "Other" as well as "Linux".
|
#
4b4f97ae |
| 08-Jan-2003 |
Søren Schmidt <sos@FreeBSD.org> |
Add support for the nVidia nForce2 ATA part.
Fix support for the nForce1 as well, registers are offset 0x10 against the AMD/VIA parts.
|
#
8ba4488c |
| 03-Dec-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Add support for the PC98 platform to the ATA driver. This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers
Add support for the PC98 platform to the ATA driver. This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support.
The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible..
Approved by: re@
show more ...
|