Hi Finn,
got sidetracked once again ...
>> Where? In esp_reconnect, we don't get to that point when returning from
>> esp_reconnect_with_tag() after timeout.
>
> Well, the point is, we potentially release ACK (either after the
> Information Transfer command or after the Accept Message command) with ATN
> still asserted.
Who asserts ATN in case of reselection? I always thought that the
target, by initiating reselection, assumes the role of initiator and is
in charge of driving bus phase changes (including control of ATN).
>> How does the target signal end of message in phase? Stop handshaking, or
>> change phase?
>
> Either would do. To stop handshaking would imply entering bus free phase.
>
>> ATN going false?
>
> AIUI, only the initiator can drive ATN.
So the initiator would have to read two tag message bytes if a target
reselects that had a tagged command disconnected? From the initiator
side, that should work (if an untagged commmand has been issued, no
tagged commands are sent so we expect either tagged or untagged
reselections).
>> With the DMA programmed for two tag bytes, and the reselection
>> originating from a tagged command, I would expect the target to send the
>> two tag bytes.
>
> Sure, but I think the initator is messing it up along the way.
Can't see how - reconnect_with_tag() is only used if no untagged command
is on record for the target.
>
>> Would it help to do the message transfer without DMA?
>
> I would, just to see more clearly what was going on (command queue,
> control lines, bus phase).
Not sure we can get control lines read - bus phases are available IIRC.
> Recall that Tuomas said he tried PIO for this with zorro_esp without any
> improvement. And I first saw this bug on a Quadra 660av, on which mac_esp
> uses PIO for all transfers.
PIO does get set up for the expected number of message bytes though. Is
there a check for phase mismatch during PIO?
>>> What use could an initiator have for the QTAG Control bit
>>> (ESP_CONFIG3_TBMS) when the target never controls /ATN? (I only
>>> remembered this yesterday, so please ignore my earlier comments about
>>> reselection and SEL-with-ATN.)
>>
>> I had thought the reselection process similar to selection. But if the
>> target does not signal further message bytes by keepin ATN asserted,
>> that bit might not matter here.
>
> If only the initator drives ATN, the documentation can only be referring
> to an ESP device in target mode.
The documentation mentions a command descriptor block to be transferred
- would only apply to ESP in target mode again.
> My recollection from 2009 is that this particular disk did work with
> mac_esp on one of my Quadras, but not on my 660av. And three people have
> reported the problem now (to my knowledge) so I don't blame the disks.
What ESP versions are used in the Quadras vs 660av?
Cheers,
Michael
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html