linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET 4/4] implement PMP support, take 4
@ 2007-07-01 10:54 Tejun Heo
  2007-07-01 10:54 ` [PATCH 01/15] libata-pmp: update ata_eh_reset() for PMP Tejun Heo
                   ` (16 more replies)
  0 siblings, 17 replies; 28+ messages in thread
From: Tejun Heo @ 2007-07-01 10:54 UTC (permalink / raw)
  To: Jeff Garzik, Alan Cox, linux-ide, Forrest Zhao, htejun

Hello, all.

his is the fourth take of libata-pmp patchset.  This patchset contains
15 patches and implements PMP support.

#01-04: implement libata PMP support
#05-09: implement sata_sil24 PMP support
#10-15: implement ahci PMP support

Changes from the last take[L] are.

* updated to fit new #upstream
* ACPI support for PMP fan-out ports added
* improved general PMP EH behavior
* various PMP chip specific quirks for smooth handling of first gen
  products which at times are pretty quirky
* AHCI PMP support added

Tested extensively with sil3214/32, ICH9R, JMB360/3 combined with
sil3726, 4726 and 5744 port multipliers.  Disks from all major vendors
and an SATAPI device is used as downstream devices.  sil5744 and 3726
behave very nicely on all controllers.  Hotplugging and suspend/resume
work well too.  There are some remaining issues.

* When attached to AHCI controller (ICH9R, JMB360/3), NCQ doesn't
  work.  Things look okay as long as only one command is in flight but
  as soon as the second command is issued (to the same device), hell
  breaks loose and all sorts of errors occur including device abort,
  bad PMP number and interface fatal error.  This behavior is common
  across all PMP chips.  I've disabled NCQ if PMP is attached to an
  ahci controller for now.

* Sil4726 is a bit too quirky.  Without the first fan-out port
  occupied, the thing acts really weirdly.  As long as the first port
  is occupied, it works okay.  This is reportedly fixed by new
  firmware.  I tried to update the firmware but installing 3124 driver
  on Windows was just too difficult for me and I gave up after thirty
  painful minutes.  Anyone up for testing?

* Again, Sil4726 doesn't like ahci driver initialization sequence.
  During driver initialization, the whole controller is reset and the
  PHY seems to go offline and back online.  Sil4726 doesn't like it
  and goes out for lunch for several secs after that which makes
  initial probing think that the port is empty.  After probing is
  complete, Sil4726 comes back and gets detected but at that point
  detection is asynchronous and if boot device is on one of fan-out
  ports, it can be a problem.  Again, this might have been fixed by
  new firmware.  Anyone up for testing?

* The long boot delay on ASUS boards with on-board PMP chips should be
  fixed by this patchset but I don't have such a board or Sil4723
  which is used on those baords, so I'm not sure.  Anyone up for
  testing?

This patchset is against

  libata-dev#upstream (4e1ae96828f6cee7b89ab8ca474c150fe211afd8)
  + [1] misc-updates patchset
  + [2] libata-link patchset, take 4
  + [3] libata-pmp-prep patchset, take 4

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.ide/13503
[1] http://thread.gmane.org/gmane.linux.ide/20081
[2] http://thread.gmane.org/gmane.linux.ide/20099
[3] http://thread.gmane.org/gmane.linux.ide/20115



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

end of thread, other threads:[~2007-07-13  3:10 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-01 10:54 [PATCHSET 4/4] implement PMP support, take 4 Tejun Heo
2007-07-01 10:54 ` [PATCH 01/15] libata-pmp: update ata_eh_reset() for PMP Tejun Heo
2007-07-01 10:54 ` [PATCH 03/15] libata-pmp: hook PMP support and enable it Tejun Heo
2007-07-01 10:54 ` [PATCH 02/15] libata-pmp: implement Port Multiplier support Tejun Heo
2007-07-01 10:54 ` [PATCH 04/15] libata-pmp: extend ACPI support to cover PMP Tejun Heo
2007-07-12 20:24   ` Jeff Garzik
2007-07-13  3:05     ` Tejun Heo
2007-07-01 10:54 ` [PATCH 09/15] sata_sil24: implement PORT_RST Tejun Heo
2007-07-01 10:54 ` [PATCH 05/15] sata_sil24: replace sil24_update_tf() with sil24_read_tf() Tejun Heo
2007-07-01 10:54 ` [PATCH 06/15] sata_sil24: separate out sil24_exec_polled_cmd() Tejun Heo
2007-07-12 20:25   ` Jeff Garzik
2007-07-13  3:06     ` Tejun Heo
2007-07-01 10:54 ` [PATCH 07/15] sata_sil24: separate out sil24_do_softreset() Tejun Heo
2007-07-12 20:26   ` Jeff Garzik
2007-07-01 10:54 ` [PATCH 08/15] sata_sil24: implement PMP support Tejun Heo
2007-07-01 10:54 ` [PATCH 11/15] ahci: use deadline instead of fixed timeout for 1st FIS for SRST Tejun Heo
2007-07-01 10:54 ` [PATCH 10/15] libata-pmp: implement qc_defer for command switching PMP support Tejun Heo
2007-07-01 10:54 ` [PATCH 12/15] ahci: separate out ahci_kick_engine() Tejun Heo
2007-07-12 20:26   ` Jeff Garzik
2007-07-01 10:54 ` [PATCH 14/15] ahci: separate out ahci_do_softreset() Tejun Heo
2007-07-12 20:26   ` Jeff Garzik
2007-07-01 10:54 ` [PATCH 13/15] ahci: separate out ahci_exec_polled_cmd() Tejun Heo
2007-07-12 20:26   ` Jeff Garzik
2007-07-01 10:54 ` [PATCH 15/15] ahci: implement PMP support Tejun Heo
2007-07-03  7:39 ` [PATCHSET 4/4] implement PMP support, take 4 Jim Paris
2007-07-03  9:34   ` Tejun Heo
2007-07-03 19:40     ` Jim Paris
2007-07-12 20:27 ` Jeff Garzik

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).