Re: What's needed for PMP support?
From: Mark Lord <hidden>
Date: 2008-02-22 02:04:46
Tejun Heo wrote:
Mark Lord wrote:quoted
Mark Lord wrote:quoted
Tejun Heo wrote:quoted
quoted
The following things are needed for a LLD to support PMP...quoted
I think that's about it. Feel free to ask if something isn't clear... I think we need better semantics around sata_scr_{read,write}(), or more specifically These need to be moved into ata_port_operations so that LLDs can wrap them to properly manage the host controller's global link->pmp value... Heck, if .dev_select() took a *device* instead of a *port* as it's parameter, then I could probably manage it fine in there.Heh... I never thought a PMP aware controller would use TF SRST, so what you want to do is set pmp value in the register and calling ata_std_softreset(), right? I think the correct thing to do is to separate out SRST sequence proper from ata_std_softreset() into, say, ata_sff_SRST() and build custom softreset around it. After all, the problem here is the reset sequence not the SCR access.
.. Actually, I believe the problem *is* the (pmp) SCR access. The same issue will return again when trying to support hotplug, for example. Any SCR access will steal the active pmp on such hosts. I think we really do need to snoop those, somehow. Cheers