Bruce Evans wrote:
On Wed, 13 Dec 2006, Bjoern A. Zeeb wrote:

On Tue, 12 Dec 2006, Scott Long wrote:
[..]
I'll try to run some tests with the third write disabled, but I don't have much time left to devote to this particular project. If others would be willing to test with the third write removed, I'd appreciate it. It might be interesting to test with the second write removed as
well (i.e. both writes in bge_reset).  I'll post patches if anyone wants
to test but can't grok what I'm saying here.

ok, I only tried with the two writes removed from bge_reset and it
started to work again. At least the machine no longer hangs on boot
and the first bge port works. Cannot easily test more atm.

I'm getting closer to testing with various numbers of writes together
with optionally waiting for the firmware to indicate sync by complementing
the value.  Maybe the problem is just that the firmware doesn't like
the value being set without syncing with the previous setting.

While editing, I noticed that the first write (in bge_sig_pre_reset())
is already avoided except in asf mode because "Some chips don't like
it".  Someone named scottl may have already been bitten by this.  He
added a tunable to kill the default of asf mode being enabled, since
leaving it enabled gave a complete system freeze for the same operation
that now freezes on the third write.

Bruce

Ah, you're right, I missed that silly little if statement in the bge_sig_pre_reset function. So I think a reasonable guess here is that
the chip doesn't like back-to-back writes of the magic number, and that
it was only working for the ASF case because that case was forcing an intervening write. The right solution would be to un-conditionalize
the write in bge_sig_pre_reset and remove both writes from bge_reset.
This would also match Linux.

Again, my ability to test is limited. I also no longer posses the system that had the ASF problem. Any help here is appreciated.

Scott

_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to