Hello, This is my company(Faraday) implemented AHCI SATA controller. Our controller is not located at PCI bus, but AHB bus(ARM based platform). However, I modify Linux kernel builtin AHCI driver(ahci.c) to replace the PCI related code by using platform bus. Just pretty similar way with drivers/ata/ahci_platform.c (Kernel 2.6.35). I think the problem happens because libata does not give up, keep on expecting the Port Multiplier Signature when we set CONFIG_SATA_PMP to 1. I know how to fix this problem, just add AHCI_HFLAG_NO_PMP to AHCI_HFLAGS when I connect hard drive to the controller. Meanwhile, when I want to connect the Port Muliplier to my controller, I need to remove AHCI_HFLAG_NO_PMP from AHCI_HFLAGS. I don't think this is a good solution because I have to compile two version of my code. It does not make sense. We set CONFIG_SATA_PMP to 1 and inside the driver code DOES NOT have AHCI_HFLAG_NO_PMP just means that controller support Port Multiplier but the device connecting to the port might be others type. Regards, Dislo --- 11/1/8 (å)ïTejun Heo <tj@xxxxxxxxxx> åéï > åäè: Tejun Heo <tj@xxxxxxxxxx> > äæ: Re: AHCI support Port Multiplier problem. > æäè: "Luo Dislo" <dislo_b_j@xxxxxxxxxxxx> > åæ: jgarzik@xxxxxxxxx, linux-ide@xxxxxxxxxxxxxxx > ææ: 2011å1æ8æ,å,äå5:25 > Hello, > > On Fri, Jan 07, 2011 at 10:55:14AM +0800, Luo Dislo wrote: > > I am using AHCI driver, when CONFIG_SATA_PMP is set > and the ahci > > driver DOES NOT have AHCI_HFLAG_NO_PMP. Libata sends > Software Reset > > with PMP=0xF, trying to detect if Port Multiplier > connected to the > > port. Unfortunately, if I plugged in general Hard > drive, my > > controller failed to identify the hard drive. > > > > What I observed was that libata always sent Software > Reset with > > PMP=0xF and I guessed expecting signature is > 0x96690101. I think > > libata should give up if the device does not return > the Port > > Multiplier signature at the first time and take the > signature value > > from device as the real device connnecting to the port > now. > > > > What we said "support" PMP does not mean the port can > only connnect > > to Port Multiplier. It might connect with hard drive > or ATAPI > > device. > > Which controller is this? Can you please post the > output of "lspci > -nn"? SB600 had this problem and needed workaround > but later SBs > fixed it. Looks like someone else screwed up > similarly. > > Thanks. > > -- > tejun > -- To unsubscribe from this list: 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