linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] libata EH/NCQ/hotplug/PM git tree
@ 2006-05-10  1:44 Tejun Heo
  2006-05-10  4:51 ` zhao, forrest
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Tejun Heo @ 2006-05-10  1:44 UTC (permalink / raw)
  To: Jeff Garzik, Alan Cox, Albert Lee, Jens Axboe, Edward Falk,
	Carlos Pardo, Raymond Liu
  Cc: linux-ide@vger.kernel.org

Hello, all.

It took a lot longer than I thought, but it's ready now.

http://htj.dyndns.org/git/?p=libata-tj.git
git://htj.dyndns.org/libata-tj

The git tree contains ~120 commits from #upstream[1] and tagged as follows.

#libata-eh-prep		various prep patches for things to follow
#libata-eh-fw		new EH framework
#libata-eh		new EH
#libata-eh-merge-irq-pio merge irq-pio
#libata-ncq		NCQ support
#libata-hp-prep		prep for hotplug
#libata-hp-LLDD-prep	prep LLDDs for hotplug
#libata-hp		hotplug
#libata-link		introduce ata_link
#libata-pm-prep		prep for Port Multiplier support
#libata-pm		Port Multiplier support

I'll post above as patchsets later today with descriptions about what 
has changed since last post.

The following drivers support new features.

ata_piix:		new EH, warmplug
sata_sil:		new EH, hotplug
ahci:			new EH, NCQ, hotplug
sata_sil24:		new EH, NCQ, hotplug, Port Multiplier

The only Port Multiplier I've got is sil4726 and thus it's the only one 
tested.  I implemented AHCI PM support half-way but then realized I 
don't have any AHCI controller which supports PM (I have ICH7R).  Is 
there any AHCI controller which reports PM support?

In general, EH, NCQ and hotplug work great with Port Multiplier. 
However, there are some hardware issues.

* sil3124/32 don't have SNotification, so if devices with active 
commands are yanked out.  There's no way to abort the commands directly. 
  We have to wait till timeout.  Not so great but not so bad either.

* some drives lock up completely if it gets reset while commands are in 
progress.  Due to PM DMA CS errata, sometimes the controller is forced 
to reset the whole controller/PM on error detection causing this 
problem.  Well, nothing much can be done about it and recent drives 
don't seem to have such problems.

* sil3124 doesn't seem to detect R_ERR on command issue as well as 
sil3132.  If somethings goes wrong during EH, 3124 tends to timeout 
rather than quickly fail as 3132 does resulting in much longer recovery 
time.  However, I think this can be resolved by tuning timeouts used 
during EH.

* sil3124/32 reacts weirdly on ATAPI CHECK SENSE if the device is 
attached via PM and commands are active to other devices on the PM.  It 
seems that PM DMA CS errata doesn't cover all.  Problems occur even if 
only one other device is active.  This is worked around by executing all 
ATAPI commands by themselves.  So, if you connect ATAPI device to PM and 
access it, other devices sharing the PM will suffer.

I complained a lot but, all in all, sil3124/32 + sil4726 work greatly.

Albert, can you please verify that I didn't screw up during irq-pio 
merge?  It's done in the following two commits.

516fb4d37fa8648d4f7c9358c7dca22758a49c55 (actual merge)
1bb4c2efb606a5b746997b0ceabbdadbda5d3f26 (followup fixes)

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2006-05-13 10:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-10  1:44 [ANNOUNCE] libata EH/NCQ/hotplug/PM git tree Tejun Heo
2006-05-10  4:51 ` zhao, forrest
2006-05-10  5:17   ` Tejun Heo
2006-05-10  5:36     ` zhao, forrest
2006-05-10  6:29 ` Raz Ben-Jehuda(caro)
2006-05-10  6:33   ` Tejun Heo
2006-05-10 13:37 ` Shem Multinymous
2006-05-10 16:44   ` Shem Multinymous
2006-05-11  3:09 ` zhao, forrest
2006-05-11  7:07   ` Tejun Heo
2006-05-13  1:30 ` Jeff Garzik
2006-05-13  1:36   ` Tejun Heo
2006-05-13  3:37     ` Jeff Garzik
2006-05-13  3:59       ` Tejun Heo
2006-05-13  4:09         ` Jeff Garzik
2006-05-13  4:19           ` Tejun Heo
2006-05-13 10:02         ` Stefan Smietanowski
2006-05-13 10:20           ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).