Hello, first let me thank you for your PMP code. Works great. Though I could not built it with ACPI disable - it is possible that I did merge wrong (I'm using your tree with current Linus's TOT), though I do not think. Patch is at the end. If you are interested in success report, then my dmesg is attached. SiI3132, with Sans Digital MS4UM, with SiI3726 multiplier. Multipliers ports 0-3 are connected to hotpluggable slots, port 4 is not connected anywhere, and port 5 is connected to some well hidden 1.5Gbps device. Only problem I've noticed is that smartctl on drives connected to sata_nv needs '-T permissive', while if same drive is connected to sata_sil24's PMP, it works without problem. Error SMART Status command failed Please get assistance from http://smartmontools.sourceforge.net/ Values from ATA status return descriptor are: 00 09 0c 00 00 00 00 00 00 00 00 00 00 00 50 A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options. Thanks, Petr Vandrovec From: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Unbreak building port multiplier without ACPI ata_acpi_associate_sata_port exists only if ACPI is enabled, so it is wise to provide dummy implementation for disabled ACPI. Otherwise build breaks... Signed-off-by: Petr Vandrovec <petr@xxxxxxxxxxxxxx> --- commit 15cf93ebda55fc16ab4ad3f52d9186c536505a62 tree ea4a2b38471cc5bba5c5f23743ef8f8c53ccb250 parent 61e519cb5dbfa3fa87f57e60204e86d92344dc32 author Petr Vandrovec <petr@xxxxxxxxxxxxxx> Thu, 12 Jul 2007 23:29:36 -0700 committer Petr Vandrovec <petr@xxxxxxxxxxxxxx> Thu, 12 Jul 2007 23:29:36 -0700 drivers/ata/libata.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h index 9577db0..d568c53 100644 --- a/drivers/ata/libata.h +++ b/drivers/ata/libata.h @@ -107,6 +107,7 @@ extern int ata_acpi_on_suspend(struct ata_port *ap); extern void ata_acpi_on_resume(struct ata_port *ap); extern int ata_acpi_on_devcfg(struct ata_device *adev); #else +static inline void ata_acpi_associate_sata_port(struct ata_port *ap) { } static inline void ata_acpi_associate(struct ata_host *host) { } static inline int ata_acpi_on_suspend(struct ata_port *ap) { return 0; } static inline void ata_acpi_on_resume(struct ata_port *ap) { }
Attachment:
dmesg.gz
Description: Binary data