Jeff Garzik wrote:
Mark Lord wrote:
Chip errata sometimes prevents reliable use of PIO commands which involve
more than a single DRQ (data request). In normal operation, libata
should
not generate such PIO commands (uses DMA instead), but they could be sent
in via SG_IO from userspace.
A full workaround might be to break up such commands into sequences
of single DRQ ones, but that's just way too complex for something
that doesn't normally happen in real life.
So, allow the attempt (it often works, despite the errata),
but log the event for reference when somebody screams.
Signed-off-by: Mark Lord <mlord@xxxxxxxxx>
applied patches 1-2
Tejun/Alan/Jeff:
We may also want a patch to prevent libata-eh from downshifting
all the way to PIO on these chipsets, but I am not sure how to
accomplish that from inside sata_mv. Any suggestions?
Do we really want that? Seems to me we need that for older bridged PATA
devices attached to a SATA bridge.
..
Just about everything can do some form of DMA nowadays,
but regardless of that the sata_mv chipsets have errata
for PIO of anything more than a single sector.
In practice, I haven't managed to trigger the issue here,
but the errata descriptions indicate that it should be a major
issue for any volume of multi-sector PIO commands.
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