login
Header Space

 
 

Linux: libATA PATA Status Report

February 7, 2006 - 2:23pm
Submitted by Jeremy on February 7, 2006 - 2:23pm.
Linux news

Alan Cox [interview] offered an updated libATA PATA (IDE) status report. He summarized, "with the exception of HPA and serialize support its now pretty close to a straight replacement for drivers/ide on x86 systems (and boxes using PCI devices only). There is other stuff that wants improving still like error recovery on CRC, but its getting close."

He provides a list of recent changes then cautions, "please remember that functionality equivalence, and much cleaner code doesn't mean less bugs yet, there is a *lot* of testing and hammering on the code needed before it is production ready for switching." His current patch is for the 2.6.16-rc2 kernel.


From: Alan Cox [email blocked]
To:  linux-ide, [email blocked]
Subject: libATA  PATA status report, new patch
Date:	Mon, 06 Feb 2006 16:46:52 +0000

Main changes this time
- Initial driver code for PCMCIA
- Initial driver code for ISAPnP
- Legacy support including VLB driver bits (mostly to test non PCI
cases)
- Replace IRQ masking awareness in core with a ->data_xfer method
- Use ->data_xfer to move IRQ masking, VLB sync and other chip 
  whackiness back *outside* of the core libata code.
- Simplex DMA is now supported
- Remove PCI quirk junk for IDE stuff (its buggy in places and a mess)
- Teach core PCI code about the IDE legacy mess in the PCI spec
- Merge with other libata changes to 2.6.16-rc2
- ARTOP driver now knows how to init Macintosh cards
- Initial netcell driver bits
- CMD64x support (except 640)
- Initial incomplete Cypress Alpha IDE


With the exception of HPA and serialize support its now pretty close to
a straight replacement for drivers/ide on x86 systems (and boxes using
PCI devices only). There is other stuff that wants improving still like
error recovery on CRC, but its getting close.

Please remember that functionality equivalence, and much cleaner code
doesn't mean less bugs yet, there is a *lot* of testing and hammering on
the code needed before it is production ready for switching.

	http://zeniv.linux.org.uk/~alan/IDE

for 2.6.16-rc2 patches.

Alan


Core features needed for good PATA - pre LBA disk support (In progress elsewhere) - HPA management Power management (In progress elsewhere) - Hotplug/Warmplug (In progress elsewhere) - Per platform legacy port data/quirks DONE Smarter mode filtering hooks DONE Legacy simplex support - Serialize support DONE IRQ masking Obscurer stuff - Mixed mode legacy/native - Removable detection - EIDE mode timing support - "guess the system bus speed" Please test and report but don't be surprised if it oopses on boot or eats your disk. For now please report success and failures so I can get an idea of coverage and patterns. When filing a report include lspci -vxxx of board (off any kernel) info on all disks (hdparm info off old driver is good) 40/80pin cable notes to [email blocked] patches, offers of help and the like also welcome. Other Notes: The core libata changes I am using may or may not end up in the upstream code as I work with Jeff Garzik to get them into a form he wants. Don't rely on them for SATA drivers just the PATA patch work. Device Status ============= PCI & Later =========== ALi: Initial driver. LBA48 PIO with LBA28 DMA No MWDMA AMD: Complete ARTOP: Initial driver Added Macintosh bits ATIIXP: Complete, testing work required CMD640: No driver yet. PCI driver planned. CMD64x: Initial port CS5520: Working PIO, no DMA support yet Fixed unload crash CS5530: Passed initial tests Cannot yet use MWDMA and UDMA devices together CS5535: Complete, needs testing work Cypress (Alpha specific): Initial evaluation only Delkin: Cardbus ATA controller. No driver, out of tree old ide driver. EFAR: Initial port Generic: Complete, was working, not tested recently. HPT343/363: Initial port HPT36x: Initial port HPT37x: Initial port. Basic testing done. HPT3x2n: Initial port IT8172: Initial port IT821x: Initial port, not heavily tested yet Should be fully functional in passthru Smart needs Command filter RAID ioctls ATAPI smarts Needs a couple of other core changes yet MPIIX: Intel MPIIX mobile chipset. Complete NS84710: Handled by generic driver as with old IDE. Datasheet available if you have this relic and want to work on it. NS84715: Being handled by someone else OLDPIIX: Support for original PIIX chipset. Complete. Opti: Initial port, should work to PIO4. Complete. PIIX: Should support all chipsets but PIIX/MPIIX. Promise: Being handled by someone else. RZ1000: Simulation tested only. Complete. SC1200: Untested, may need serialize support in the core Serverworks: Minimal testing. SGIIOC4: Not supported SIL680: Heavily tested. Some combinations of PIO drives don't yet work it seems ? SIS: Initial driver Basic testing completed SL82C05: Initial port Triflex: Working and tested (but not tested recently) TRM290: Weird pre standardisation DMA controller. Not supported. No plans to bother VIA: Added IRQ masking support Completed Pre PCI ======= ALI14xx: Not supported DTC2278: Not supported. No plans HT6560: PIO tuning handled by pata_legacy ISAPnp: Initial driver, needs testing work. Legacy: Now handles primary/secondary non PCI ports Opti82C611A: Handled by legacy driver PCMCIA: Initial driver. Needs a lot of testing yet. PDC20230-C/20630: Autodetection and PIO tuning in pata_legacy. No 20630 wacky DMA plans. PDC4030: No support. (old driver for reference but seems not worth it due to age and complexity) QD65xx: Test driver to prove non PCI code paths. UMC8672: Not supported. No plans. Winbond 83759A: Not supported. Use jumpers to set speeds. Data sheet exists.



Related Links:

Hurray! Finally!

February 7, 2006 - 7:52pm
Anonymous (not verified)

libAta is really handy. I can't wait to start testing these patches.

Little different

February 8, 2006 - 1:15pm

While related I think this is different. Basically, IDE has needed a rewrite for awhile. Using the sata core for this allows for greater code reuse all around, and I assume makes maintaining Pata much easier, and not so much neglected. So this isn't just an angry fork by Alan. It actually adds value.

WOW, I have tried this patch

March 29, 2006 - 3:58pm
Anonymous (not verified)

WOW, I have tried this patch out and the PATA (scsi) subsystem seems much faster on my Intel Corporation 82801BA IDE U100 versus the old IDE stuff! Anyone have any measurement of what type of increase there is? What tool could I use to measure this?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary