Mark Lord wrote:
Tejun Heo wrote:
Mark Lord wrote:
The MV specific part is retry-if-offline w/ lower link speed, right?
You can do that just as well by looping outside of
sata_link_hardreset().
..
Yes, the code already has a loop "outside of sata_link_hardreset()"
for the speed errata handling. So nothing new there.
And the rest of that routine is a line-by-line clone of
ata_std_hardreset().
This is smaller than what other drivers have cloned for these routines,
and a lot better than the old code from sata_mv that it replaces.
The comment in my patch above is just a reminder that someday we could
go back in and address those things. In *all* LLDs, not just sata_mv.
I guess I'd better stop adding such comments in the future.. :)
Still think it needs any changes ?
The modularize patchset is not in libata-dev#upstream yet. Please
take a look at the following.
http://git.kernel.org/?p=linux/kernel/git/tj/libata-dev.git;a=blob;f=drivers/ata/libata-core.c;h=7646523899c0bac8b06d2d0bfcde428e4583e04d;hb=731e61759c56d564322d56b9ff6f393fda1fbec4#l3533
I meant that you wouldn't need to copy the post-reset stuff and just
could loop around new sata_link_hardreset() after the patchset. I
thought about breaking sata_link_hardreset() into two such that the
post-reset part can be used separately but couldn't find any in-tree
driver which would need such function.
..
Ah well, that's all of no use then, because sata_mv has to go upstream
now for 2.6.26.
People have been waiting for this driver to improve for a very long time
now.
Given the time lag of the submission pipeline I'm forced to use for it,
there likely is not enough time left to wait for another major rework
of libata, and then rework sata_mv to match.
Basically, anything I do to sata_mv has to be tested here first,
then broken into Jeff-size bites, fed to Marvell, approved by them,
then posted here, then reworked according to the whims of the day,
then resent to Marvell, reapproved by them, then reposted here, ...
No worries. Just go ahead. I'll juggle things later.
--
tejun
--
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