Hello Jeff,
i'm using your libata SATA PMP support with a Sil 3132 chip + 3726 port
multiplier with 5 drives. in order to get it to work, i had to make the
following addition in ata_pm_quirks() [libata-pm.c]
if (vendor == 0x1095 && devid == 0x4726) {
*nr_ports -= 2;
*link_flags |= ATA_LFLAG_HRST_TO_RESUME;
}
+ else if (vendor == 0x1095 && devid == 0x3726) {
+ *nr_ports -= 1;
+ *link_flags |= ATA_LFLAG_HRST_TO_RESUME;
+ }
without the ATA_LFLAG_HRST_TO_RESUME flag, the detection times out,
retries after 5 seconds and eventually gives up; after which only the 1st
drive on the multiplier is detected. it's also interesting that both 4726
& 3726 apparently report an incorrect but _different_ number of drives...
with this fix, it works perfectly; nice job on PMP!
fredrik sjoholm
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html