On 04/13/2013 01:05 AM, Robert Hancock wrote:
On 04/12/2013 01:34 PM, Marc C wrote:
Hello Jeff,
I'm working with a proprietary but AHCI-compatible SATA controller
that uses
the libata driver. Early versions of this controller have issues with
processing
non-data ATAPI commands. A workaround was identified which requires some
register pokes in the command completion path of the driver. I don't
expect to
push this patch upstream (yet). However, I would like to get some
feedback
regarding the workaround, and check if the placement of the code is
"acceptable"
or if there would be a better place to put it.
The workaround itself is rather simple: toggle the START bit
immediately after a
non-data ATAPI command completes. The ST bit toggle would be performed
within
atomic context in the AHCI port interrupt ISR.
Signed-off-by: Marc C <marc.ceeeee@xxxxxxxxx>
This should likely be triggered off a host flag like some of the ones
already in the driver so it can be done just for the affected
controllers, not unconditionally.
Indeed -- you don't want to punish the non-buggy 99% case for one weird
buggy hardware rev.
See AHCI_HFLAG_xxx
Jeff
--
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