Re: [PATCH] libata: add support for READ/WRITE LONG

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

 



Alan Cox wrote:
I think it only requires the *host* to drop to PIO0 timings. In which case it should be achievable w/o libata modification -- if the driver has to "snoop" command and turn off prefetch, why not switch to PIO0 temporarily?

This isn't a big issue. Eventually we have to support sending speed
change commands and once we do that the caller will be able to switch to
PIO0 and back again.

We should be pretty close to that. One of the bigger blockages is needing to stop (freeze) all ports, before performing an out-of-band SET FEATURES and related tuning.

For controllers that don't need such synchronization (though I argue it is wise practice for all controllers) -- generally the ones that do not snoop SET FEATURES -- you could probably get it going with a few lines of code change: removing the current SET FEATURES - XFER MODE filter, and calling the requisite callbacks.

Even in the current EH we don't get this quite right. The main culprit is Promise controllers. SET FEATURES is snooped on these controllers, and registers are programmed. It is known to corrupt data if a mode change occurs while data is transferring on /other/ ports. If new-EH decides to change the mode on a Promise controller, we might hit this scenario, because the apparatus does not know to stop all ports on that controller, rather than just the single port that is current frozen and inside EH.

	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

[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