Subject: Why is multimode limited ? [was Re: WDM_PIOMULTI fails on my drive (atari + MI wdc) ]
To: Leo Weppelman <leo@wau.mis.ah.nl>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-kern
Date: 04/27/1998 10:05:10
On Apr 24, Leo Weppelman wrote
> > Perhaps you could print the error code too (wdc->sc_error). This would
> > help understand why the mode was rejected. Maybe you could also print the
> > d_link->sc_params.wdp_maxmulti parameter in wdattach().
> 
> The error code is 4, wdp_maxmulti is 128.

Ok, this is "aborted command". This probably means that this mode (16)
is not supported. This drive claims to support 128 sectors multimode-transfer,
and the spec says lower values MAY be supported.
While we're on the subject, This part of the code is a bit obscure to me
(in wdattach():)
        } else if (d_link->sc_params.wdp_maxmulti > 1) {
			d_link->sc_mode = WDM_PIOMULTI;
			d_link->sc_multiple = min(d_link->sc_params.wdp_maxmulti, 16);
		} else ...

Why limit the number of multimode transfer to 16 sectors ? If the drive claims
to support wdp_maxmulti > 16, 16 may not be supported. The max value
of wdp_maxmulti is 128 sectors, which does 64k transferts. 

> If you want to test the recovery of this error, I'm your man ;-)

Ok. I'll also need someone to test the new driver on ATARI :) I hope
to have something working at the end of this week.

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--