Block requests programming problem

Peter Denison (peterd@pnd-pc.demon.co.uk)
Fri, 27 Sep 1996 21:08:26 +0100 (BST)


Hi all,
I'm taking up work on the Promise IDE driver again, and I'm having
a little problem that I can't work out how to solve. (Read: I'm too lazy
to work it out myself, and besides, I think there are people here who'll
do a better job! (Linus, Mark Lord, ...) )
It would seem that the card (only having a 286 on board) can only
cope with 128 sectors at a time (128*512 = 64k), so I have to deal with
block requests (up to 244 sectors) by splitting them up.
I need to split up the incoming block request, deal with part of
it, wait for my hardware to be ready again, then deal with the rest. (I
could just mod ll_rw_blk.c to use the lower limit, but I think that people
might get a little upset by that :-)
My question is: What is the best way to do this? Can I shove
something back into the request queue from within the IDE driver? Are
there other ways around it?
Many thanks for any help, and sorry I'm being lazy!

Cheers,
Peter

-- 
Peter Denison <peterd@pnd-pc.demon.co.uk>
Currently (still) working on a driver for Promise cards under Linux.