On Wed, Aug 06, 2008 at 03:13:02PM +0100, Alan Cox wrote: > > Obviously it is going to change per command -- because different > > commands have different sizes. I was thinking that we could call the > > driver to see if it can handle a particular sector size right after we > > get the IDENTIFY data. > > The drivers need to know if you are going to be using odd sizes regularly > so they can pick between It's up to the drive to report the number of sectors it uses. After that all regular read/write commands will be doing that size. Unless we're in some very bizarre situation, that will be the majority of accesses to the device. > - I do this fine who cares (most chips) Fine, returns 1. > - Er uh wtf its not 512 byts (some chip state machines) Fine, returns 0. > - FIFO off (performance hit) for this disk Might want to print a message explaining why performance is going to suck and return 1. > - FIFO managed for the odd command thats a funny size ... but it's not the odd command, it's going to be the vast majority of them. > - Various other levels of software managed controller > thumping > > It's not a passive thing and we'd want to do it post identify on the > drive pair as it'll often need per channel decisions (eg on FIFO) Why can't you just disable the (controller) FIFO whenever any drive reports != 512 byte sectors? -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- 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