Tejun Heo wrote:
Gwendal Grignou wrote:
What happen if there is a SATA port multiplier behing the marvell
controller and NCQ is disabled?
I have the impression that with this patch we are able to only send
one DMA command at a time to all the drives behind the PM, which has
an impact on performance.
Yeah, right. :-( The simplest way to implement this would be just
calling ata_std_qc_defer() which computes per-link restrictions after
ruling out all non-standard restrictions. I wasn't really sure how
EDMA/NCQ_EN flags are supposed to work so just sticked to the original
condition tests. Mark, can you please help us out here? :-)
..
The hardware is both tricky and buggy, depending upon the version,
and my memory is fading -- I haven't looked at the code since early June,
when Marvell stopped paying invoices (administrative "issues").
The only 100% safe scenario is to issue only a single non-NCQ command at a time.
But there are many situations where it is safe to allow one command/port,
provided that there are no PIO commands anywhere in the mix.
Messy. I'll have another walk through it whenever Marvell gets over
their "administrative issues" on this.
Cheers
--
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