Re: [ANNOUNCE] libata EH/NCQ/hotplug/PM git tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Garzik wrote:
Tejun Heo wrote:
Jeff Garzik wrote:
Tejun Heo wrote:
tested. I implemented AHCI PM support half-way but then realized I don't have any AHCI controller which supports PM (I have ICH7R). Is there any AHCI controller which reports PM support?

You can always use SCR-based PM support...


Can you elaborate a bit?

Sections A.1 and 6.1 of the PM spec. You set the PMP field of the SControl register. This has obvious parallelism limitations, which is why "hardware context switching support" aka native PM support is greatly preferred.


That cmd-switching PM support is what AHCI SPM bit indicates. As of v1.1, AHCI doesn't define FIS-switching PM support yet.

Supports Port Multiplier (SPM): Indicates whether the HBA can support a Port Multiplier. When set, a Port Multiplier using command-based switching is supported. When cleared to ‘0’, a Port Multiplier is not supported, and a Port Multiplier may not be attached to this HBA.

And. the SControl section says...

19:16 RO 0h  Port Multiplier Port (PMP): This field is not used by AHCI.

Which is understandable considering AHCI doesn't construct FISes itself. I don't think PM requires more hardware support than being capable for setting PMP in the FISes, which AHCI certainly can (standing down on collision for SDB notify aside). I can give it a shot but it clearly violates the spec, and even if it works, we would need to print big fat warning message while attaching PM.

--
tejun
-
: 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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux