Re: [PATCH 1/4] aic79xx: Fixup external device reset

James Bottomley
2006-10-25T15:15:09Z

On Wed, 2006-10-25 at 09:01 +0200, Hannes Reinecke wrote:
> > What's the reason for having to have this hand crafted test unit ready?
> >
> I asked myself the same question. It's actually from the original
> adaptec sources, and i couldn't figure out why it was need, either.
> That's why I removed it initially when doing the first round of external
> device reset patches.
>
> Thing is whenever we send a SCB with the MK_MESSAGE flag set the
> sequencer will interrupt normal SCB delivery and ensure that the
> MK_MESSAGE SCB is sent immediately. Plus we can force the connection to
> non-packetized transfer as the resetted target will start out with
> normal transfers, too. And as we already have invalidated the
> negotiation settings for all targets a renegotiation will happen when
> this TUR is completed.
> So the normal flow of operation can continue and only one command will
> have to be requeued from the midlayer.
>
> I think. Or that's what I've glanced from the sequencer code. Maybe Rob
> can give some more insight here.
>
> Admittedly, this is really a nasty tweaking. In theory we should have a
> proper error handler which handles this sort of thing. But the entire
> code is littered with such tweakings so that's quite a vain hope.
> Unless someone passes me a theory of operation document for it.
> Having a register description is quite pointless.

Yes ... that's what I was wondering. However, we can go with the "it's
magic" for the time being.

James