Skip to contentSkip to conversation

External port Multiplier Support in linux

DISCUSSION pinchu 2 participants 2 messages Jul 10, 2009 libata

lore
Share & tools
lore

pinchu

author
#0 lore raw

Hi Jeff,

We have an external RAID Disk Array which is having a port multiplier and four HDD behind the port multiplier. The RAID box is connected to host via SATA interface. The port multiplier we are using is implemented in FPGA. The linux kernel 2.6.28 is not detecting the port multiplier and devices behind it.

By any chance linux kernel 2.6.28 supports external port multiplier? Does linux automatically detect port multiplier during bootup? Di i need to write driver for detecting the port multiplier?

Thanks in advance.

Regards,
Pinchu

#1 lore raw
Quoted 9 lines · pinchu

Hi Jeff,

We have an external RAID Disk Array which is having a port multiplier and four HDD behind the port multiplier. The RAID box is connected to host via SATA interface. The port multiplier we are using is implemented in FPGA. The linux kernel 2.6.28 is not detecting the port multiplier and devices behind it.

By any chance linux kernel 2.6.28 supports external port multiplier?

Yes.

Quoted 1 line

Does linux automatically detect port multiplier during bootup?

Yes.

Quoted 1 line

Di i need to write driver for detecting the port multiplier?

Yes. The SATA controller driver has to include support for port multipliers.

Here is how to determine if the SATA controller driver can support PMP:
grundler <2050>fgrep ATA_FLAG_PMP drivers/ata/*c

drivers/ata/ahci.c:             pi.flags |= ATA_FLAG_PMP;
drivers/ata/libata-core.c:      WARN_ON(ap->flags & ATA_FLAG_PMP);
drivers/ata/sata_fsl.c:                         ATA_FLAG_PMP | ATA_FLAG_NCQ),
drivers/ata/sata_mv.c:                            ATA_FLAG_PMP |

ATA_FLAG_ACPI_SATA,
drivers/ata/sata_sil24.c: ATA_FLAG_AN
| ATA_FLAG_PMP,

So right now, it seems only 4 drivers can.

hth,
grant