Re: IDE janitoring comments

Benjamin Herrenschmidt (benh@kernel.crashing.org)
Tue, 24 Sep 2002 14:41:33 +0200


>>I need different transfer functions depending on whether drive
>>control data(like IDENT,SMART) or HD sectors are to be transfered.
>>Control data requires byteswapping to correct bus-byteorder
>>whereas sector r/w has to be raw for compatibility.
>>
>>So that will require 2 additional iops pointers and some change
>>in ide_handler_parser or ide_cmd_type_parser to select the
>>appropriate version depending on the drive command.
>
>No, it doesn't. There are already separate iops for control
>and datas, typically {in,out}{b,w,l} are for control (though
>only "b" versions are really useful and {in,out}s{b,w,l} are
>for datas.

Oops, sorry, I mis-read you

Well, if you have proper iops that swap for normal datas, then
you can use the "normal" fixup routines for control datas
like ident, the same we use on PPC or other BE archs.

The problem is typiucally the same for everybody here: the
swapping of datas themselves must be done so that you get an
exact image of the datas in memory, then you need additional
fixup to "interpret" some of these (ident, smart, ...)

Ben.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/